home *** CD-ROM | disk | FTP | other *** search
- 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