ASK THE RAT
Matthew Ratcliff's ANTIC ONLINE technical Q&A column
Along with this issue's in-depth Matthew Ratcliff reviews' of SpartaDOS X and Atari DOS-XE, we thought it would be a good idea to show you a sample of CompuServe's ANTIC ONLINE "Ask The Rat." The technical question answering column is written by Ratcliff under his online handle "MAT*RAT."
Additional excerpts from this valuable column will appear regularly in future Antic issues. But for a timelier look at the newest MAT* RAT answers, or to ask your own technical questions, just type GO ANTIC when you log onto the CompuServe online infomation service. There is no extra charge for using any part of the ANTIC ONLINE electronic magazine.--ANTIC ED
Greg Maguire--I'm trying to do some random disk access from ML. How can I NOTE & POINT to a sector & byte using the CIO?
MAT*RAT--Use XIO commands. Do you have MAC/65? In the macro library presented in the back of the manual, an XIO macro is presented. It's virtually identical to the XIO command of BASIC and will work the same. Write a simple NOTE and POINT program in Atari BASIC, get it working, and then go to MAC/65's MACROs. You can all that NOTE and POINT stuff with XIO commands:
100 NOTE #1,SECT,BYTE
is exactly the same as:
100 XIO, 38,#1,SEC,BYTE,"D1:":REM (The string doesn't matter).
110 POINT #1, SEC,BYTE
is the same as:
110 XIO 37,#1,SEC,BYTE,"D1:":REM (The string doesn't matter).
Andy Grey--How long after the CMD line goes low is a command frame sent down the serial line. How Iong after the command frame is sent, does the computer expect to get an ACK or NACK?
MAT * RAT--The SIO bus operates at 19,200 baud. When the PRINT LINE function is called for the SIO handler, first a Device I.D. of $40 is sent, followed by a command byte of $57.
Next is AUX1, which is ignored (your printer could use this as special sub commands or something); foIlowed by AUX2 which is a $4E for normal print or $53 for sideways (I doubt the latter is implemented), followed by a checksum of the previous 4 bytes. The computer sends the data frame of 40 or 30 bytes (depending on normal, or sideways command respectively) followed by a checksum byte.
Michael Rothstein--There have been occasions where for some reason, while UNERASING.COM a group of files, the CHKDSK showed something like: Total Bytes 200,000, bytes remaining: 300,000. I know math and there is something wrong. I had to XINIT it (disk 3) and I got something like 184,000 bytes on the RAMdisk but it was about 8K less than the actual size of the MIO configured RAMdisk. I would rather somehow XINIT it to bring it back to its hefty 192K. From what I have experienced, the only way to do that is by reformatting the entire MIO. Can it be done?
MAT*RAT--No, Mike. There is no way to reformat the MIO RAMdisk without "losing" space. On powerup or when the MIO is reconfigured from your RESET-SELECT menu, all the MIO RAMdisks are "formatted" to their full size.
There is no utility I'm aware of that will "figure out" how many Kbytes a RAMdisk format should return for the MIO, (How often do you FORMAT RAMdisks for Atari DOS 2.5?) The reason you lose Kbytes on the MIO RAMdisk format is that it is configured to be logically identical to a floppy disk, making it easy to make a RAMdisk mirror copy of a floppy.
To restore the RAMdisk to full size, power cycle MIO (after backing up the files, of course) or reconfigure it from the RESET-SELECT menu (which also makes the MIO forget what it had in RAM).