SUPRDOS2 User's Guide SUPRBDOS Release 2, 10/11/86 The following files should be in your distribution package: READ.ME- overview of SUPERBDOS features SUPRBDOS.DOC -user's guide and installation instructions DOS.AZM- DOS1.MAC- source to SUPERBDOS DOS2.MAC INSTALL.COM -program to assist you in installing SUPRBDOS INSTALL.PAS -Turbo Pascal source to INSTALL. Z80MR.COM- public domain Z80 assembler used in installation of SUPRBDOS Z80MR.DOC EX.COM - enhanced submit utility used in installation PUBLIC.COM-utility for handling public files PUBLIC.DOC PUBLIC.SRC UNCR20.COM- file uncruncher SEMI-AUTOMATIC INSTALLATION 1. Extract all files from SUPRBDOS.LBR onto a blank disk in drive B. Extract all files from Z80MR.LBR onto the same disk. Delete Z80MR.LBR. Uncrunch all type *.?Z? files by typing UNCR20 *.?Z? 2. Copy SYSGEN.COM and DDT.COM from your CP/M disk to your SUPRBDOS disk. 3. Create a disk file containing your CP/M or ZCPR3 system image. Do this by running sysgen as follows: A>sysgen SYSGEN VER 2.2 SOURCE DRIVE NAME (OR RETURN TO SKIP)a SOURCE ON A, THEN TYPE RETURN FUNCTION COMPLETE DESTINATION DRIVE NAME (OR RETURN TO REBOOT) A>SAVE x CPM.BIN x is size of your CP/M system in 256-byte "pages". If you are not sure what this number is, try 50. 4. Run INSTALL. If all goes well, the program will end by telling you to "TYPE EX GO to continue SUPRBDOS installation." If INSTALL aborts saying 'Can't locate bdos', read the manual installation section. If INSTALL asks you to try again, do as it says. 5. Type EX GO. 6. You now have a copy of SUPRBDOS in a file called DOS.BIN. Install it on a few test disks by typing B>sysgen dos.bin SYSGEN 2.2 DESTINATION DRIVE (RETURN TO REBOOT)a DESTINATION ON A, THEN TYPE RETURN FUNCTION COMPLETE 7. Warm boot your system with SUPRBDOS in A. If it boots correctly, continue testing by copying files, running programs, until you are satisfied that it works. Try this: Warm boot with SUPRBDOS, PIP, and a test file in A. Change the disk in B without hitting Control-C. PIP the test file to B. No "Bdos Err on B: R/O"! If your system hangs or goes completely nuts upon warm booting with SUPRBDOS, repeat the installation again. If the problem recurs, please write and tell me about it. Include as much information as possible. Otherwise, see your local CP/M expert (alas, a vanishing breed). MANUAL INSTALLATION Automatic installation should work on most systems with standard CP/M 2.2. If you have a non-standard CP/M, proceed with caution; SUPRBDOS might not work with your CP/M. The steps involved are : 1) Find the location of the bdos in your computer's memory. This number ends in a 6. Subtract 6 from this number and call the result BdosMemAddr. 2) Find the location of the bdos in your CP/M system image file. Do DDT CPM.BIN and type 'D' repeatedly to scroll through the contents of CPM.BIN. Somewhere, there should be the word 'Bdos', followed by the text of the various bdos error messages. If you can't find these, your CPM.BIN file is screwed up, or you have a non-standard CPM. When you find the word 'Bdos', not the most recent address ending with a 00 or 80. Call this number the BdosFileAddr. 3) Compute the Offset (hex arithmetic) as follows: Offset := $10000 + BdosFileAddr - BdosMemAddr. 4) Overlay the old bdos with SUPRBDOS. B>ddt cpm.bin DDT VERS 2.2 NEXT PC a b (DDT prints these numbers) icpm.bin (you type this) r (you type this) f 0 (clear out old bdos) idos.hex (you type this) r (type "R" followed immediately by the offset you calculated ^C (exit DDT) B> Now, do SAVE x DOS.BIN, where x is the same number you used in saving CPM.BIN. 5) SYSGEN DOS.BIN to write SUPRBDOS onto your disks. USAGE -----Changing Disks Without Control-C SUPRBDOS should work just like your old BDOS, quietly and out of your way. It has some additional features which make it much nicer than your old BDOS. For example, let's say you're writing the "Great American Novel" with WordStar. It's late, you've written all day, and you want to move on to other things. You hit ^K^D to save your work, and WordStar burps: **Disk Full. Press ** With your old BDOS, if you switched disks, you'd get Bdos Err on A: R/O and you'd say bye-bye to Chapter 5 unless you had a text recovery program. With SUPRBDOS, move to the beginning of file using ^R, not ^Q^R, and mark the beginning of a block. Move to the end of file using ^C, not ^Q^C, and mark the end of block. Hit ^K^W to write the block to disk. Enter a filename on a drive not containing your novel (probably your WordStar disk). Remove the disk from that drive, and insert a blank disk. Hit return, and your work will be saved to a new disk. Finally, replace the old disk. Try this with your old BDOS, and you'd be quite sorry. SUPRBDOS's "Control-C-less" operation is not limited to Wordstar. You may change disks at any time, with any program, with one exception. IF A FILE IS OPEN FOR WRITING, DO NOT CHANGE DISKS UNTIL THE FILE IS PROPERLY CLOSED. IF YOU DO, YOU WILL TRASH YOUR DISKS! This is why, in the example above, we changed the disk containing WordStar, not the disk containing the novel. No files were open for writing on the Wordstar disk, so it was ok to change it. The novel file was open, so its disk could not be changed. -----Public Files If you use user areas, you'll love this. Public files are files which are accessible from all user areas. Normally, if Wordstar was in A7: and your text files in A8:, you could not edit your files with Wordstar. If Wordstar and its overlays were made public files, you could be logged into A8:, B6:, or any other user area and still run Wordstar. Public files are invisible to the use of wildcards, so you may not copy them with PIP *.*. They must be specified by name. Public files are also read-only, so they may not be erased. To make a file PUBLIC, run the PUBLIC program which is included with SUPRBDOS. Ex: A>public ws.com To restore a file to normal (make it private), A>public ws.com x <---the X makes the file private. ----Error Messages SUPRBDOS may produce the following error messages: Disk Error on A : error message Function xx ; File = FILE.TYP where the error message may be Read error Write error Non existent drive Read-Only (this happens only if disk was set to r/o with bdos function 28, not when disks are changed.) File is Read-only The BDOS function number and the file involved (if applicable) are given, so a full message may be: Disk Error on A: Write error Function 22 ; File = CHAPTER.5 In this case, there was a write-error trying to create file CHAPTER.5. -----Advanced Features SUPRBDOS has optional time-stamping capabilities built in. To use these, you must have a real time clock and a bios routine which access the clock. You must edit DOS.Z80 and set DOTIME to TRUE and reinstall SUPRBDOS. You must also "initialize the directory for time stamps", according to the author of P2DOS, from which SUPERBDOS is derived. How this is done is not explained. Maybe an adventurous soul out there will find a way. SUPRBDOS can be installed so that functions 13 and 37 allow the free interchange of single and double sided disks. On many machines, such as the Kaypro IV, changes between single and double sided disks are recognized only at warm boots. Obviously, this is a limitation on the switching of disks without Control-C. If your machine is one of these and if you have the source to your bios, you can remove this limitation. Add code to your bios cold boot routine to initialize a jump to the routine which decides if the computer is looking at a single or double sided disk. Suppose this routine is DISKINIT. Change your cold boot routine to look like CHKTYP EQU 04BH CBOOT: Blah Blah Blah LD HL,CHKTYP LD A,0C3H ;initialize a jump LD (CHKTYP),A LD HL,DISKINIT ;to DISKINIT LD (CHKTYP+1),HL Blah Blah JP CCP ;pass control to CCP This code puts a JP DISKINT instruction at 04BH. Edit DOS.Z80, setting the RESDSK conditional to TRUE. Set SETDSK equal to CHKTYP. Re-assemble SUPRBDOS. Now, functions 13 and 37 will identify new disks by calling CHKTYP, which in term "calls" DISKINIT. This feature is extremely useful to have when using disk cataloging programs, the file utility NSWP207, the library manager NULU 1.5, and many others with which expect disk changes and call functions 13 and 37 to change disks. *************************************** Legal Stuff To my knowledge, all components of the SUPRBDOS.LBR are public domain for non-commerical use only. SUPRBDOS is a modification of P2DOS, by H.A.J. Ten Brugge from the Netherlands, and therefore is subject to the same restrictions as P2DOS. Z80MR and the PUBLIC files are public domain. INSTALL is a program written by moi, and is also public domain. I assume no liability for the use of or the consequences of the use of SUPRBDOS. *************************************** Questions and comments can be directed to Benjamin Ho 626 Emerson St. Evanston, IL 60201 SUPRBDOS was developed on a Kaypro IV.