Antic pays $25 for every original and exclusive Tech Tip submission that we publish. Send your 8-bit or ST disk and printout to: Antic Tech Tips, 544 Second Street, San Francisco, CA 94107. Tech Tips welcomes very short programs that demonstrate the Atari's powers, simple hardware modifications, or useful macros for popular software.
MAKE A MEM.SAV
A MEM.SAV file on your DOS disk can be extremely useful, especially if you're using the 130XE RAMdisk. You can work on your program, go to DOS for whatever reason, return to BASIC, and voila-your program has remained in memory.
But what if your disk doesn't have a MEM.SAV? You could do one of two things: SAVE the file you're working on using whatever filename you like, use DOS, then reLOAD the file upon your return to BASIC, or - and this is even simpler - type the following line in immediate mode (that is, without a line number): OPEN #1, 8, 0, "DLMEM. SAV":END
When you type DOS from BASIC, yourAtari loads DUPSYS into memory. In the process, it overwrites about 6K of the memory area that holds your BASIC program. A MEM.SAV file - if you have one on your disk - prevents this.
The part of your program that would normally be displaced by DUP.SYS is saved automatically in a file called MEM.SAV. Once DOS has copied your program into MEM. SAV, the DOS menu will appear. (Note that some Copy functions will not work when you're using a MEM.SAV)
When you're through, DOS will use the MEM. SAV file to restore your BASIC program to your previous state when you return to BASIC.
DOS 2 TRANSFUSION
Once in a while, somebody sends Antic an article on a disk which uses an operating system other than DOS 2.0S or 2.5. (Please don't- ANTIC ED) We cannot read these submissions without a conversion utility or some other programming acrobatics.
In order to use a recent review sent on a DOS 4 disk, we came up with this "quick-and-dirty" program that reads a user-specified range of sectors from one disk (any DOS), converts the contents of each sector into a 128-byte string, displays the string, then stores it in a DOS 2.0S disk file.
This program needs two disk drives, or one physical drive and one RAMdisk. It does not transfer files, or even sectors, but, rather, 128-byte chunks of information. The program works with files in any format: Letter Perfect, Write 80, even DOS 3.
The DOS 2 Transfusion program is quite flexible. You can add a REM statement to lines 5 and 140, for instance, to get just a screen display (or you can just enter "S:" as the DOS 2 filename). You can add a REM to line 100 and end line 145 with a semicolon (";") to get a continuous display on screen. If you know where the link pointers (if any) are in your sectors, you can change lines 140 and 145 accordingly. For instance, the last three bytes in Atari DOS 2 sectors are the link pointers, so you can change the SCTR$ to SCTR$(1,125) so that those three bytes won't be displayed or written to disk. (If the source disk doesn't use link pointers, you'll need to write all the bytes to disk.)
Lines 15 through 50 set up the Serial Input/Output's (SIO) Device Control Block. Line 15 tells the computer which drive has the source disk. Line 20 is the command to read information. The POKES in line 40 are the address of SCTR$, broken into low and high bytes. And line 50 tells how many bytes are transferred, also broken into Lo/Hi bytes.
Again, this program isn't built for just one disk drive. Perhaps, however, you can figure a way to do it and publish the result in Tech Tips. (Hint: use buffered I/O.)
DOS 2 Transfusion isn't really a program per se, but rather a routine that can be used in many different settings. How you use it is up to you. (See ABC's of Atari computers by David Mendey (Datamost Press) and Mapping the Atari by Ian Chadwick (Compute! Publications) for more information on these routines.- ANTIC ED)
Program: TRANSFUS.BAS Download