home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
C128
/
SPZAP128.ARK
/
SPZAP128.DOC
next >
Wrap
Text File
|
1987-11-07
|
13KB
|
300 lines
NOTES FOR SUPERZAP.COM
This is SUPERZAP v.3.3 preconfigured and corrected for the
C128 with 1571 drive. (It also works with the RF512C drive,
a.k.a. Excel-71, a.k.a. Excel 2001, a 1571 compatible.)
SUPERZAP is a high-quality, screen-oriented, menu-driven
CP/M disk editor. It is much easier to use than non-screen-
oriented editors such as DU. After changing the cursor codes to
the correct ones for the C128 I had to locate and correct two
bugs in the "generic" version of SUPERZAP 3.3 which prevented it
from working properly with the C128: (1) The program assumed that
the first track of the disk is a "system track" and that the
directory started on the second track. On the C128 the directory
starts on the first track, and the system files CCP.COM and CPM+.COM
are listed in the directory. I modified the program so that it
now understands where the directory is and how many tracks are on
the disk. (2) Another bug prevented proper functioning of the
mode which edits by track and sector number. The problem was
omission of the mandatory calls to SETTRK and SETSEC before
writing the corrected track back to disk. Correcting these
problems required editing the assembly source file (62 pages!)
and reassembly. I also deleted a mode for "changing the ambiguous
file name" which does not seem to be useful on the C128.
This version of SUPERZAP is now a very useful C128 CP/M
disk editor. In FILE RELATIVE MODE you can edit any sector of
any file in the directory; the program automatically follows
sector links, which is important since a given file is scattered
due to the C128 CP/M sector skew. In TRACK/SECTOR ADDRESSING MODE
you can edit any track/sector. These are LOGICAL track/sector
numbers; the conversion to physical track/sector numbers is
handled automatically by the C128 CP/M BIOS. Each logical track
is one CP/M allocation unit of 1024 bytes, divided into 8
logical sectors (numbered 0000 to 0007) of 128 bytes each. The
CP/M directory is on (logical) tracks 0000 and 0001 on a single-
sided disk, 0000 to 0003 on a double-sided one. The last
track number is 00A9 on a single-sided disk, and 0153 on a
double-sided one.
The TYPE FILE MODE is also very useful, since it will
"type" (i.e., display) even non-ASCII files without crashing
the screen display, something the built-in CP/M TYPE command
can't do.
The original documentation and the menu displays are
adequate except for a few items. Where the menu specifies ^S, ^D,
^E, and ^X for cursor left, right, up, and down, you should use
the arrow keys in the top row of the C128 keyboard (as with
Wordstar on the C128). Where ^I is specified for "CHANGE SIDE",
use the TAB key; this switches the cursor back and forth between
the hexdump and ASCII sides of the sector display and has nothing
to do with disk sides. Note that editing of either the hexdump or
ASCII side of the display immediately displays the change in BOTH
sides (a very nice touch!). As usual with monitor displays, you
edit by moving the cursor to the desired character and typing
over it.
The original documentation is appended, with the description
of the unimplemented mode for "changing the ambiguous file name"
deleted and a few notes relevant to the C128 inserted.
M.D. Girardeau
Eugene, Oregon
November 1987
SPZ.COM
SPZ is a full screen interactive disk update utility, providing
many of the features found in DU.COM. The program is menu driven,
and little additional documentation is required. The following
notes consist of a functional overview, plus notes on features
not documented in the menus.
SYSTEM REQUIREMENTS.
SPZ requires a Z80 -it may be possible to update the source for
8080 but extensive use is made of Z80 opcodes, and this would be
a large exercise. Subroutines would be required to simulate LDIR,
LDDR, and CPIR, to say nothing of varieties of shift, rotate and
load instructions.
CPM 2.x is required. (Note by MDG: The C128 version uses CP/M+.)
One or more disks may be used -SPZ determines if a selected disk
is defined in the BIOS before attempting to access it.
The terminal used must support cursor addressing, clear screen,
and erase to end of line. At least an 80 by 24 display is
required.
FACILITIES.
SPZ enables disk sector editing in HEX or ASCII, using File
Relative or Track/Sector addressing. In File Relative mode a
sorted directory listing is used to select the file. In both
modes forward and backward browse is provided, in addition to
random record selection. The displayed sector may be copied to a
scratchpad buffer, or exchanged with the scratchpad.
A file TYPE facility gives a paged, formatted display of any
file. Control characters are displayed as "." except for TAB and
Carriage return/Line feed which are processed normally. COM files
are not formatted. (Note by MDG: Characters with 8th bit on are
displayed in reverse video.)
The SPZ command format may enter any operational mode directly -
SPZ enters SPZ with a *.* directory list.
SPZ d: as above with d:*.* directory list.
SPZ [d:]afn as above with d:afn directory list.
SPZ [d:]ufn enters SPZ in file relative mode,
using the specified file.
SPZ [d:]DSK: enters SPZ in Track Sector addressing
mode on the specified drive.
(Note by MDG: The above are not really necessary; just type
SPZAP128<RETURN>. When the menu comes up, insert the desired
disk, hit C for CHANGE DISK, and access files from the menu
display.)
DIRECTORY LIST MODE.
In directory list mode the cursor is positioned on the first
filename displayed. The cursor can be moved LEFT, RIGHT, UP or
DOWN using Control keys. A file is selected by typing a command
character against the required file name -"E" for file relative
editting, or "T" for the TYPE function.
Up to 32 file names are listed. If there are more files, the
directory list may be paged forward and back.
Other drives may be selected or the current disk changed. NOTE -
if the disk in the current drive is changed, the "change disk"
function should be used to select the same drive again. This
provides a new directory list, and avoids CP/M making the disk
Read Only.
Track/Sector addressing is selected from the directory list
display.
FILE RELATIVE MODE.
In this mode the selected file is displayed in HEX and ASCII
format with record number and file offset displayed. For .COM
files the address when loaded at 0100H is diplayed.
The record displayed may be selected by browsing forward and
back, locating the first or last record, or by setting a record
number (in HEX). When setting a record number, Hex digits are
entered in "calculator style" -new digits are entered on the
right while the number moves left. Backspace deletes the last
digit entered, and Escape restores the original number. These
features are common to all number entries in SPZ. The selected
record is read when RETURN is pressed. If it is not found, the
previous record number will be restored.
The displayed record may be changed by typing "C". The cursor is
positioned on the first hex digit, and is moved using the same
control keys as are used in the directory list mode. Any valid
hex digit may be typed to alter the record. The TAB key moves the
cursor to it corrosponding location in the ASCII display,
allowing character strings to be easily changed. Another TAB
returns the cursor to the HEX display area.
Two control codes are available to stop editing the record -one
saves the changes and rewrites the record to disk, the other
restores the record to its original contents.
Return to directory list mode is made by typing "L".
TYPE FILE
Files are TYPEd with up to 72 characters per line, 18 lines per
page. Except for .COM files, Carriage return/Line feed codes are
honoured, and Tabs are expanded. All other control characters are
displayed as "." to prevent unwanted terminal control functions.
Forward and backward paging operations are provided, including
return to top of file. Following paging, the highest page
displayed can be restored.
TRACK/SECTOR ADDRESSING.
This mode is entered by typing "S" in directory list mode. The
facilities provided here are similar to File Relative mode, but
sectors are selected by setting (or browsing back and forward)
track and sector numbers. The allocation block number is also
displayed and may be set. When a block number is set, the first
sector of that block is displayed. The record diplayed may be
altered in the same manner as File Relative mode. The scratchpad
facility is also available in this mode. Note that sectors saved
in one mode are available for exchange in the other mode.
(Note by MDG: I haven't found any use for the scratchpad mode,
but left it in this C128 implementation.)
Thats it Folks -
Willie Davidson.
8 Comely Bank Street
Edinburgh
Scotland.
V3.3 notes
----------
I recently received an updated 2.5 source from Willie Davidson
and 3.3 is simply the result of incorporating those changes into
3.2. The most significant differences seem to be to do with the
"type file" function where the display width has been increased
from 72 to 76 characters and the handling of non-display
characters has been improved.
V3.2 notes
----------
SUPERZAP v 3.1 allowed operation under CP/M 3.1 provided that
certain implementation considerations were met, namely:
1. CP/M 3 is non-banked, OR,
2. Disk parameter headers reside in common memory, OR,
3. XMOVE routine is implemented.
Version 3.2 removes all restrictions. It will now run on any
CP/M 2.2 or 3.1 system with a Z80 processor. (Note by MDG: It
didn't work right on the C128 until I modified the source code
and reassembled it.)
John Hastwell-Batten,
24th February, 1986
V3.1 enhancements and other changes to SUPERZAP
-----------------------------------------------
1. Upgraded to operate under CP/M 3.1 as well as CP/M 2.2,
2. Added ability to select user number,
3. Generalised screen control functions,
4. Other minor (cosmetic) changes.
CP/M 3.1 compatibility:
----------------------
SUPERZAP now tests for CP/M version at startup. If not running
under 2.2 or 3.1 then it complains and stops.
Since any sensible CP/M 3.1 BIOS deals with physical disk sectors
rather than 128-byte "logical" sectors, several changes were
needed to map the physical disk I/O into a much larger buffer.
The code size has not increased significantly because the buffer
is set up in free memory past the end of the program.
User number selection:
---------------------
A very crude method of changing user number has been added. Upon
selecting the (new) U option from the directory display panel, a
prompt is displayed which calls for a single keystroke. If you
respond with a numeric key (0-9) or a letter (in the range A-F)
then the keystroke is interpreted as a hexadecimal digit and the
current user number is changed. The user number is not displayed
so you have to remember it. (I did say it was crude, didn't I?)
Wish list:
---------
1. Extend random-record processing to handle VERY large files
under CP/M 3.1,
2. Display current user number on the screen somewhere,
3. Extend file name selection to incorporate user numbers
(perhaps like NSWP207).
4. Allow multiple sectors in the scratchpad.
5. Under CP/M 3.1 display physical sector numbers as XXXX:Y
where XXXX is the actual sector number and Y is the 128-byte
sub-sector number,
6. When in track/sector mode, allow the ability to select
whether to use BIOS skewing or to use 0- or 1- origin
sequential sector numbering (i.e. no skew).
7. Use the full width of the screen when displaying text files.
8. Add some sort of string search facility.
John Hastwell-Batten,
SYSOP,
Tesseract RCPM+,
P.O. Box 242,
Dural, NSW 2158,
AUSTRALIA
14th January, 1986