DOS3.5 INSTRUCTIONS =================== INTRODUCTION: DOS3.5 is a assembly language program which modifies DOS3.3 to run 3.5" disks. DOS3.5 IS NOT IN THE PUBLIC DOMAIN! Some code is from: APPLE ASSEMBLY LINES (C) COPYRIGHT 1986 S-C SOFTWARE MAY & JULY & OCT 1986 issues S-C SOFTWARE P.O. BOX 280300 DALLAS, TX 75228 All code not from APPLE ASSEMBLY LINES 1986 IS: === (C) COPYRIGHT 1987 BRAD PLATT ALL RIGHTS RESERVED PRONTODOS is a trademark of BEAGLE BROTHERS APPLE, APPLE II, and APPLE IIGS are trademarks of APPLE COMPUTER INC. THE DISCLAIMER ============== These instructions and the program DOS3.5 is sold without any expressed or implied warranties whatsoever. No warranty of fitness for a particular purpose is offered. The user is advised to test the program thoroughly before relying on it. The user must assume the entire risk of using the program DOS3.5 and the modified disk operating system that it creates. 3.5"DOS3.3 ========== 3.5"DOS3.3 is the name given to the new disk operating system created by the program DOS3.5 . This new DOS is DOS3.3 slightly modified so it can run 3.5" disks, and still retain compatibility with the DOS3.3 programing environment. 3.5"DOS3.3 seems to be compatible with all the APPLE II family of computers that have at least 48K of ram, including the APPLE IIGS. OVERVIEW of 3.5"DOS3.3 ====================== BENIFITS: 1. Very little of DOS3.3 has been modified, so should be compatible with almost all programs that use an unmodified DOS3.3 programing environment. 2. Allows the use of 3.5" disks to run and store programs. 3. Will also run normal 5.25" disks that have been initialized by DOS3.3 . 4. Allows approximately 800K bytes of information to be store on one 3.5" disk. Data is stored as if each 3.5" disk was 2 disk drives each holding 400K bytes. DRAWBACKS: 1. Can run only one 3.5" drive, and it must be in its own slot. (No limit to the number of 5.25" drives as long as not in same slot as 3.5" drives). 2. No INIT command. (To initialize a 3.5" disk you must run the program DOS3.5 and chose option to initialize 3.5" disk). 3. Cannot initialize 5.25" disks from the 3.5"DOS3.3 environment. 4. The program DOS3.5 should be copied onto the initialized 3.5" disk so you can use it to initialize new disks. 5. The startup program, more commonly known as the HELLO program, is not automatically copied onto the 3.5" disk when it's initialized. Instead you should put the HELLO program onto the 3.5" disk soon after it has been initialized. Also the HELLO program must be called "HELLO" . 6. 3.5"DOS3.3 uses $BCDF-$BCFF. This area is officially unused by DOS3.3, so it's a popular place used to put patches. Example: PRONTODOS uses it. GETTING STARTED =============== Assumptions: You have an Apple II series of computers with at least 48K of RAM in it. You have the program DOS3.5 on a 5.25" disk that contains the disk operating system DOS3.3 . 1. Boot up this disk 2. Type BRUN DOS3.5 (then press return) 3. Get to menu titled: MODIFY DOS3.5 TO RUN 3.5" DISKS ======================================== When asked WHICH VERSION DO YOU WANT? Chose choice #1 which is: 1. WITHOUT PATCH DOS3.3 has now been modified to 3.5"DOS3.3 4. Get to menu titled: MAIN MENU ======================================== Chose choice #1 which is: 1. INITIALIZE 3.5" DISK then follow the directions on the screen. Make sure there is a 3.5" disk in the correct drive or the program will bomb! Your 3.5" disk is now initialized. 5. Return to MAIN MENU 6. To initialize more disks repeat steps 4 and 5. 7. For every new disk that has just been initialized, it's strongly suggested that you copy the program DOS3.5 onto the new disk. (This step is optional) Get to MAIN MENU Chose choice #2 which is: 2. COPY THIS PROGRAM ONTO 3.5" DISK then follow the directions on the screen. Make sure there is a 3.5" disk in the correct drive or the program will bomb! The program DOS3.5 has now been copied to the 3.5" disk. (But only onto phantom drive 1, not to phantom drive 2.) 8. Return to MAIN MENU 9. To leave program DOS3.5 Get to MAIN MENU Chose choice #3 which is: 3. EXIT You now have 3.5" disks that can run most DOS3.3 programs. REMEMBER: There is no "HELLO" program on this disk yet. Now would be a good time to add one. PHANTOM DRIVE ============= A 3.5" disk that has been initialized with 3.5" DOS3.3 contains room for approximately 800K of storage. These bytes are stored as if there were 2 disk drives, each holding 400K. Since there is only one 3.5" disk drive, the second drive is called the phantom drive. You access and use them just as if there were 2 drives in the slot the 3.5" disk drive is in. FOR EXAMPLE: CATALOG,S7,D1 CATALOG,S7,D2 LOAD PROG1,D2 ADDING A "HELLO" PROGRAM ======================== Let us assume: 5.25" disk in slot #6 contains "HELLO" program 3.5" disk in slot #7 contains 3.5"DOS3.3 and you want to transfer the "HELLO" program that is on the 5.25" disk to the 3.5" disk. Type the following lines: (don't type what's in parenthesis) PR#7 (boots up 3.5" disk) LOAD HELLO,S6 (loads "HELLO" from 5.25" disk) SAVE HELLO,S7,D1 (saves "HELLO" onto 3.5" disk in drive 1) SAVE HELLO,D2 (saves "HELLO" onto 3.5" disk in phantom drive 2) NOTE: You may not want to save a "HELLO" program onto phantom drive 2; because when the 3.5" disk is booted, only the "HELLO" program from drive 1 is run. 3 VERSIONS OF DOS3.3 ==================== They are: 1. Normal DOS3.3 (not able to run 3.5" disks) 2. DOS3.3 modified for 3.5" disks with NO PATCH $BC56-$BCFF is used 3. DOS3.3 modified for 3.5" disks with PATCH $BC56-$BCFF unused 1st DOS buffer used instead The program DOS3.5 identifies which one of these 3 versions is currently in the computer (but only if one of these 3 versions is in the computer). 3.5"DOS3.3 refers to both versions 2 and 3. Both versions 2 and 3 changes $BEAF-$BF8E. This is where the modification to DOS3.3 is put. Normal DOS3.3 INIT command uses $BEAF-$BFB7 and $BC56-$BCDE. Normal DOS3.3 does not use $BCDF-$BCFF. The old RWTS buffer is used whenever DOS communicates with a 5.25" disk. The new RWTS BUFFER is used only when 3.5"DOS3.3 communicates with a 3.5" disk. OLD RWTS NEW RWTS BUFFER BUFFER NORMAL DOS3.3 $BB00-$BC55 none exists 3.5"DOS3.3 NO PATCH $BB00-$BC55 $BB00-$BCFF 3.5"DOS3.3 WITH PATCH $BB00-$BC55 $9AA6-$9CA5 REASON NEED THE PATCH VERSION ============================= Normal DOS3.3 doesn't use the area $BCDF-$BCFF. This space therefore is a popular place to put patches. Many programs that modify DOS3.3 use it, including PRONTODOS. The patch version allows you to use programs such as PRONTODOS with 3.5"DOS3.3. The patch version doesn't use $BC56-$BCFF. The patch itself changes less then a dozen bytes, but causes the new RWTS buffer to use $9AA6-$9CA5 (normally used as DOS3.3 buffer #1) instead of $BB00-$BCFF. Room is made for $9AA6-$9CA5 by tricking DOS into thinking buffer #1 begins where buffers #2 usually is. In other words, MAXFILE 2 sets HIMEM at the same place (when used with patch version) that MAXFILE 3 use to be. Also, the default (or startup value) of MAXFILE is changed from 3 to 2. (See Nibble Magazine April 1986 pages 100-101 for more information). PRONTODOS and 3.5"DOS3.3 ======================== PRONTODOS is a program that modifies DOS3.3 to speed it up. Dos commands like LOAD, SAVE, BLOAD, and BSAVE are all sped up, usually 2 to 4 times faster then plain DOS3.3. PRONTODOS contains other enhancement to DOS3.3 such as print disk free space during catalog, or "TYPE" command which lists text files. Plain PRONTODOS seems to work with the "no patch" version of 3.5"DOS3.3. In order to use as many PRONTODOS enhancements as possible, use the patch version of 3.5"DOS3.3. Even so, not all the enhancements will work. The "TYPE" command doesn't work with it, but print disk free space does. The best way to tell is to try it out. INITIALIZING NEW 3.5" DISKS TO RUN PRONTODOS MODIFIED 3.5"DOS3.3 ---------------------------------------------------------------- Start by booting up a 5.25" disk that has PRONTODOS with the enhancements you want on it. WARNING! Not all enhancements are compatible with 3.5"DOS3.3. Then follow the same steps as explained in the getting started section except for the following: Start at step 2 At step 3, chose choice #2 which is: 2. WITH PATCH When you're done, the newly initialized 3.5" disk will incorporate PRONTODOS's modification into 3.5"DOS3.3. Now, whenever you boot up with this 3.5" disk, the modified 3.5"DOS3.3 that's loaded into memory has PRONTODOS in it. You can use this disk to initialize new PRONTODOS modified 3.5"DOS3.3 disks. You'll be impressed by the speedup of most disk commands. GETTING DOS VERSION 3.5"DOS3.3 INTO COMPUTER ============================================ You boot up a 3.5" disk the same way as a 5.25" disk. Any 3.5" disk that has been initialized (using program DOS3.5) will have 3.5"DOS3.3 on it. This means that whenever it is booted up, 3.5"DOS3.3 is loaded into memory, and is used as the disk operating sytem (DOS). This is the best way to load it into Apple's memory. A more roundabout way would be to use the program DOS3.5 to change DOS3.3 to 3.5"DOS3.3, then to exit from this program. This roundabout way is only needed if normal DOS3.3 is in the computer, and you don't want to boot a 3.5" disk. If 3.5"DOS3.3 is in the Apple, when you run program DOS3.5, the menu section titled: MODIFY DOS3.3 TO RUN 3.5" DISKS ======================================== is skipped over, because this section is not needed. Also, you cannot change from 3.5"DOS3.3 "with no patch" to a "with patch" version, or vice versa. MORE ON INITIALIZING ==================== Initializing a 3.5" disk using the program DOS3.5 places the DOS currently in the Apple onto the 3.5" disk. Therefore, if you have PRONTODOS modified DOS3.3 in the computer when you initialize a new 3.5" disk, the new disk will contain PRONTODOS modified 3.5"DOS3.3. REMEMBER: 1. INIT command won't work if 3.5"DOS3.3 is in Apple. 2. The only way to initialize a 3.5" disk is to use the program DOS3.5. 3. When 3.5"DOS3.3 is in Apple, you cann't initialize 5.25" disks. DETERMINING WHICH 3.5" DISK DRIVE IS USED ========================================= When a 3.5" disk that has 3.5"DOS3.3 is booted up, the 3.5" disk drive that does the booting is the one and only 3.5" disk drive that will be used by 3.5"DOS3.3 . 3.5" disks with 3.5"DOS3.3 are NOT slot dependent! For example assume: Ann's Apple computer's 3.5" disk drive is in slot 7, and Bill's Apple computer's 3.5" disk drive is in slot 4. Ann's 3.5" disks (with 3.5"DOS3.3) created on her computer will run on Bill's computer and vice versa. The only time you ever have to identify which slot the 3.5" disk drive is in is when you boot up from a 5.25" disk and run the program DOS3.5 to install 3.5"DOS3.3 . (Reason: you are booting up with normal DOS3.3 and only 3.5" disks can boot up with 3.5"DOS3.3 ) CHANGE NAME "DOS3.5" WHEN COPYING PROGRAM ========================================= When you use the program DOS3.5 to make a copy of itself, the copy is automatically named "DOS3.5". To change the name that all further copies will be automatically named, you must alter the program DOS3.5. The new name must be a valid DOS3.3 name from 1 to 12 characters long. CURRENT VALUES (name assigned to copy is "DOS3.5" ) $16C3= C4 CF D3 B3 AE B5 (ASCII values) D O S 3 . 5 $16C9= A0 A0 A0 A0 A0 A0 ($A0= blank space) $A0= blank space TO CHANGE NAME: Put ASCII values of characters of new name starting at $16C3. Make sure the first character is a letter. Use ASCII values with bit 7=1 (all ASCII values must be greater than 127). If new name is less than 12 characters long, fill remaining bytes through $16CE with $A0 ($A0= blank space). EXAMPLE: Change name to "INIT.N.COPY" CALL -151 (enter monitor) *16C3: C9 CE C9 D4 AE CE (INIT.N) *: AE C3 CF D0 D9 A0 (.COPY ) *3D0G (leave monitor) Now save altered DOS3.5 to disk (suggest use a new name). Better yet, run altered DOS3.5 and use the program to copy the altered DOS3.5 onto a 3.5" disk. This copied program will of course be named "INIT.N.COPY". CHANGE NAME OF "HELLO" ====================== The name of the 3.5" disk's startup program is "HELLO". On an already initialized 3.5" disk you can always save a new startup program under the name "HELLO". If you want to use a different startup name, then you must alter the program DOS3.5. Once altered, whenever a 3.5" disk is initialized using this altered DOS3.5 program, the new 3.5" disk's startup program will have this new name. The new startup name must be a valid DOS3.3 name from 1 to 30 characters long. CURRENT VALUES (startup name is "HELLO" ) $10F1= 05 (number of characters in name) $1D5E= C8 C5 CC CC CF (ASCII values) H E L L O $1D6E TO $1D7B= $A0 ($A0= blank space) TO CHANGE NAME: 1. Put $A0 at $15AC-$15C9 Put $A0 at $1D5E-$1D7B 2. Put number of characters in new name at $10F1. Must be from 1 to 30 3. Put ASCII values of characters of new name starting at $1D5E, making sure the first character is a letter. Use ASCII values with bit 7=1 (all ASCII values must be greater than 127). EXAMPLE: Change startup name to "HI2" CALL -151 (enter monitor) *15AC: A0 ($A0= blank space) *15AD<15AC.15C8M (put $A0 at $15AC-$15C9) *1D5E<15AC.15C9M (put $A0 at $1D5E-$1D7B) *10F1: 3 (3 characters long) *1D5E: C8 C9 B2 (HI2) *3D0G (leave monitor) Now save altered DOS3.5 to disk. Better yet, run altered DOS3.5 and initialize a new 3.5" disk. Then use this program to copy DOS3.5 onto this new disk (the altered DOS3.5 will be copied). Be sure to write on disk label that you are using a different startup program name.