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
/
RCPM
/
LUX80.ARK
/
ZAP33.DOC
< prev
Wrap
Text File
|
1987-03-04
|
7KB
|
187 lines
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.
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?)
Screen control functions:
------------------------
To facilitate patching the object file for your terminal rather
than re-assembling the source code, I have generalised the
routines which do screen control functions.
The strings which relate to screen functions have been increased
from 4 to 7 bytes and are now prefixed by a "length" byte. For
example, to home the cursor and clear the screen on my terminal
requires that I send it a two-byte sequence: 15h, 17h. The
string is declared as:
2,15h,17h,0,0,0,0,0
The five zeros are just fill and could be anything. The "2" at
the beginning says that only the next two bytes are significant.
The screen control strings start at 150h and each is eight bytes
long including the length prefix:
150-157 Clear screen and home cursor
158-15F Clear to end of line
160-167 Set inverse video
168-16F Set normal video
170-177 Cursor-positioning prefix
178-17F String sent to screen BETWEEN cursor coordinates
180-187 String sent to screen at end of cursor-positioning
The next few bytes relate to cursor positioning. Rows are
numbered 0 to 23 from top down, columns are numbered 0-79 from
left to right.
188 1 if row coordinate sent before column coordinate
(usual case) or 0 if row before column. WARNING: Do
not set this location to any value except 0 or 1!
189 "Offset" to add to row (usually 20h)
18A "Offset" to add to column (usually 20h)
18B Non-zero if coordinates are sent as single-byte binary
values (usual case) or zero if coordinates are sent as
multi-byte decimal numbers (e.g. ANSI terminals).
Finally, if you are using a Hazeltine terminal which doesn't like
the tilde character:
18C Set to 7Dh for Hazeltine terminals, 7Eh for others.
If you are using Z8E to configure the object file then the symbol
names for the above locations can be loaded from the .PRN file:
z8e zap.com zap.prn
You can the use the following names with the E command:
clsstr Clear screen and home cursor
cllstr Clear to end of current line
vinv Set inverse video
vnorm Set normal video
cppref Cursor positioning prefix
cpmid Cursor positioning infix
cpend Cursor positioning suffix
row1st Row-before-column flag (remember, set to 0 or 1 ONLY)
rowoff Offset to add to row
coloff Offset to add to column
cpbin Binary/ASCII coordinate flag
maxasc Higest displayable character
Cursor control keys now WordStar-compatible but to change them
you need to re-assemble the source code. Didn't have time to
make them object-code configurable.
When you select track/sector mode, the default track number used
to be 0 but I changed it so that the default is now the directory
track. It is not very often you want to look at the system
tracks with a disk editor. More frequently you want to recover
files by fiddling the directory. Besides, on a "split" hard disk
where the splitting is done by cylinder rather than by platter or
surface, there may not even be a track 0 on the selected disk.
In sector displays, characters with the high bit set are now
displayed in inverse video rather than as dots. This simplifies
reading directory sectors where files have attribute bits set.
I added ASEG and ORG directives and put an .XLIST directive at
the start and a .LIST directive at the end of the source file to
generate a .PRN file suitable for use with the Z8E debug tool
(SIG/M vol 239).
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