MyDOS version 4.53/3 changes David R. Eichel 12/31/89 Except for the following 3 things, MyDOS 4.53/3 is functionally identical to MyDOS 4.50. As such I won't try to recreate the entire manual, I'll just cover the differences. You'll probibly first notice that this version defaults to a 3 character file length/free sector count instead of MyDOS's normal 4. This allows it to function with programs that check for the end of the directory improperly, like TextPro, SpeedScript and the new Antic Music Processor. Four and five character file lengths/frees will still be displayed if needed Secondly you'll notice that there isn't any AUTORUN.SYS file. V.4.53/3 now allows multiple AUTORUNs at boot up. Any file with the extender ".AR?" will be loaded and run like an AUTORUN.SYS. It will do this for up to ten files (*.AR0 through *.AR9). The 8 character main filename can be anything you want, only the extender will be checked. Lastly those of us who own Atari 800s that've been expanded with Axlon type memory upgrades will be happy to know that v.4.53/3 now functions properly with our computer's RAMdisk. The only difference between v.4.50 and v.4.53/3 as far the user is concerned is when using a custom RAMdisk format instead of a predefined one. With v.4.53/3, instead of entering a zero as the last number in the sequence for an XE type RAMdisk and an FF for an AXLON type. You must now enter an FF for the XE and a 0 for Axlon types. This is just the opposite of what it was in v.4.50 because that last number is now an AND'd number instead of an ORA'd number. Sorry about the confusion, but it was the easiest way to get the Axlon as well as the XE RAMdisk to function properly. This is ONLY if you use a custom format. The predefined sequences (numbers 0, 1, 2 & 5) function (externally) just like they do in v.4.50. A (not too) short history of this MyDOS I've been working on this since sometime shortly after v.4.50 was released. It has gone through many stages and much testing of each. The were, in order: V.4.50/3 -my origional hack which added the 3 character file length default. This dates from March 1989 and was never released. V.4.51/3 -I wasn't aware of the Axlon problem when I did 4.50/3. I just thought I was messing something up when it didn't work right. When I bothered to look at the code I found that v.4.50 was using $FF as the main RAM bank number, the correct number is 0. Fixing that wasn't a problem. But (there will always be a "but") I found it was loading the accumulator from the bank select address and treating it as something meaningful. This works with the XL/XE series but that address is write only with an Axlon upgrade so its read data is anything but meaningful. It then ORA'd that number with another to select the main bank by toggling bits on, however ("but"'s upperclass cousin) I needed to turn bits off, not on. There simply isn't anything you can ORA a number with to get 0. So after much agonizing about changing something that was specifically referred to in the origional docs, namely the critical last byte of custom RAMdisk setup, I modified the RAMdisk code to work properly by using an AND, which is why that last byte is now exactly opposite of what the docs say it should be. The 2 column directory listing was now printed into fixed columns. V.4.50/3 just used spaces and 4 or 5 character files lengths caused the columns to wander. Absolute column positions fixed this. The multiple autorun feature was also new to this version. Its LoMEM was $1F06 which is 29 bytes bigger than the origional 4.50's $1EE9. This was actually a little too high. Some handlers you might want to use require a LoMEM of $1F00 or lower. This version was released to selected members of my local users group for beta testing in August. MyDOS v.4.52/3 -While working on an "imporved" version of Mr.Marslett's new v.4.51 I found several spots where optimizing the code would save critical bytes of memory. I became a bit discouraged during my efforts on this improved 4.51, it seemed that every time I looked at the code it became larger, so to give myto tf a break I started adding the optimization changes I put in 4.51 to my version 4.51/3. As a result of this I brought its LoMEM down past $1F00 to $1EF3 which is only 10 bytes bigger than 4.50. This version dates to the end of November and was never released. MyDOS v.4.53/3 -The only bug I introduced to 4.50 was back in 4.51/3. It was a cosmetic one which involved what happened if you hit break during a 2 column directory listing. If the 1st column had already been printed before the break, the next list would start in the 2nd column. V.4.53/3 fixes this. I really wanted to bring the LoMEM down to 4.50's $1EE9 (its still $1EF3). Rather than keep playing around trying to find more RAM resident code to optimize, I decided to bend to the wishes of those who've asked me to release it as it is. However I hold the option of releasing another version if I can find those other 10 bytes. Notes about the source code When I started working on v.4.50 I wasn't interested in making it a archeological dig. Code that was changed was changed and code that was removed was removed. I put a comment field at the end of every line I changed, at least an empty one, but that was about it. Since then I realized the usefulness of having what I've done flagged in some unique way. So I started retrofitting the code with an inverse space in the 1st position of the comment field of each line I've changed. I also endevored to re-add those deleted lines in commented-out form. I have an assembly listing of the DOS code so its source is probibly pretty complete as far restoring deleted code and inverse spaces is concerned. However I don't have a list of DUP so I had to rely on a combination of memory and file comparison. Because of this there is a greater chance of the DUP source being incomplete as far as comment archeology goes. This only concerns comments, all of the actual DOS & DUP code is there, complete and ready to assemble using MAC/65. Changes to the new RAMboot This new version of the file allows you to select which functions it performs when you load it. Pressing the 1 key will cause the program to exit without doing anything. This is useful for rebooting without losing the contents of your RAMdisk. Pressing the 2 key will just format the defined RAMdisk type and exit. Use this to get the maximum ammount of RAMdisk space available to you. Pressing 3 formats the Ramdisk, copies DUP.SYS to it and sets up MEM.SAV but does NOT copy the files from the RAMDISK: subdirectory into it. This is to speed up booting from a disk with a RAMDISK: subdirectory when you don't really need its files in you RAMdisk. Pressing any other key, or none at all, makes it function just like the pervious version of RAMBOOT.