ix533@sdccs6.UUCP (ix533) (05/20/84)
I recently wrote a modified version of Bill Wilkinson's "M" driver, which allows 64K XL owners to use the RAM below the Operating System and BASIC. I call the modified version MDRIVEXL. Like the original "M:" driver it allows you to treat RAM memory like a regular device (the "M:" device). Unlike the original "M:" driver, which stores bytes between the display list and your BASIC program, MDRIVERXL stores bytes under the O.S. and, if you are using built-in BASIC, under BASIC. It automatically switches ROM in and out by setting the proper bits in the PORTB register. You can store over 22,000 bytes there and use all the regular I.O. commands (OPEN, INPUT, GET, ENTER, RUN etc.). I have added System Reset "proofing" and memory full error detection: it won't crash your display list or BASIC program. MDRIVEXL can also tell if you are using a cartridge (like the Assembler EDITOR), in which case it won't try to store data in that memory space. I think MDRIVEXL works on the 1200 XL, but I've never tried it. When I first started using this device driver, I thought it wouldn't be of much pratical value. As it turns out I use it all the time and am still finding uses for it. For instance, it can be used to move an entire graphics 9 screen from under the O.S. to screen memory in about 2.5 seconds. With a slight modification it can be used to store formatted Atariwriter files on disk. It is much faster than using a disk to get rid of unwanted variables by LISTing and ENTERing. I have converted MDRIVEXL to a BASIC loader program that generates an AUTORUN.SYS file. If you are interested in it, I will be happy to send it. Craig Hickman