SIO2PC: Slave An IBM To Your 8-Bit!
Review by Alan Sharkis, AC Staff Reviewer
Leaving the 8-Bit?
I bought a PC-clone about three years ago. You might wonder why a dedicated Atari 8-bit user would do a thing like that. Well, I was about to do considerable writing for my employer, which posed a few problems. I had to cut the fatigue factor of writing in a horizontally-scrolling 40-column window, on a 130XE keyboard that I considered mushy (my old 800 had spoiled me forever). What's more, the output of that writing had to go on disks that could be read by a "mainstream" computer, preferably a Mac or an MS-DOS machine.
One solution was to scrounge up a Happy drive, a Transkey, an MS-DOS-style keyboard and an XEP-80 and keep my fingers crossed that AtariWriter-80 would be released soon and that it would satisfy my needs. Such a shopping/wish list was quite a tall order at that time, so an IBM clone won out as my first choice due to its ready availability. I bought it, set it up, and went to work. Eventually I came to prefer the clone over the Atari for writing and for many of my BBS calls. Beyond that, the Atari still took care of most of my computing needs, as it still does.
Rescued By SIO2PC
Then along came SIO2PC, the shareware brainchild of Nick Kennedy. Nick is an engineer who from the beginning was enchanted with the idea of using the SIO for communicating between Ataris. He developed that interest in a couple of directions. One lead to projects that enabled him to use ham radio to communicate with his Atari. The other evolved into the SIO2PC, a device that translated SIO signals into standard RS-232 signals and software that could convert a PC into a file-server for the Atari 8-bit. I felt that this device could help me with a space problem I was having with my Atari disks, and that it could cut down on wear and tear on my two disk drives. I ordered it fully assembled from Mr. Kennedy. I wasn't disappointed!
I reviewed SIO2PC for my two user group newsletters shortly after I first used it. After a year's experience, the opportunity arose to review SIO2PC for AC. To do an honest review, I began by contacting Nick Kennedy again and asking him for any revisions that were made during the last year. My plan was to simply dig out my old review, change a line here and there, and win fame and fortune as a hard-working Reviewer. Well, Nick's response was fast -and somewhat of a mixed bag. The bad news: I had to completely rewrite the review because the changes were significant. The good news: an excellent product, already working well for me, had been dramatically improved!
Introducing The Brainchild
Let me give you a rundown on the earlier version (ver. 2.12), and then I'll bring you up to date. SIO2PC is both hardware and software. The hardware converts the TTL signals present on the Atari 8-bit SIO bus to RS-232C signals recognized by the PC. Although Nick Kennedy built the hardware for the SIO2PC (and still does), he's really swamped and prefers you to read the files (now released as shareware) and do your own construction. My hardware-hacker friends tell me it isn't a difficult project (see Mike Jewison's comments in "The Fitting Room "elsewhere in this issue). You end up with a small box containing the circuit board. An Atari SIO cable comes out one end of the box-for insertion into your daisychain-and another cable comes out the other end bearing the RS-232 plug (DB9 or DB25) for the PC side.
Nick provides a wealth of technical information in his files beyond just the construction plans. Folks interested in the tekkie stuff can learn how the conversion is done and modify it if they wish. Parts are available from sources that Nick Kennedy enumerates in his shareware documentation. A proposed revision for the hardware, also described in the files, anticipates a minor problem involving the ICD P:R: Connection that I was having and solves it in a most elegant way. More about that later.
The software consists of programs that run on both the PC and the Atari. Most of it is written by Mr. Kennedy, who gives due credit to the programs and routines he used from other sources. What he wrote for the PC was done in assembly language, except for one program in C. Nick wrote all the Atari programs in 6502 assembly language, and it's this software that has undergone dramatic changes in the past year.
My original SIO2PC allowed me to set up a number of Atari-style RAMdisks in the PC's memory. They could be numbered from D1: to D4: in sizes of 64K, 90K, 143K or 184K, in either single or double density. Files-or even complete disks--copied to these RAMdisks could then be saved on the PC's floppy or hard drives as Atari RAMdisk image files. What's more, with the SIO2PC running and one of those RAMdisks containing a bootable disk image, you could turn on the Atari and it would boot from RAMdisk 1! RAMdisks could be switched in the PC's memory, allowing even greater flexibility. They could also be "uninstalled" to make room for more RAMdisk images once the ones you had in memory were no longer needed or had been saved. The SIO2PC's "print-through" mode allowed the Atari to print to the PC's screen, printer, or a disk file. It even included a routine to change ATASCII EOL characters (decimal 155) to ASCII LF (10) and CR (13), insert additional carriage returns, and even strip the eighth bit from each byte so text would print properly. (You could, of course, not translate if you wanted to print graphics.) There were all kinds of setup options enabling you to choose the PC's serial port at bootup, and to test and correct timing incompatibilities between the PC and the Atari (not necessary in my system).
There was even a file that disconnected the SIO2PC from the system until the actual SIO2PC software was run so that the Atari and the PC could both be powered up and work independently of each other with the interface connected. Another file converted PC files into Atari RAMdisk image files. A sample Atari RAMdisk image file contained the programs that ran on the Atari, their documentation, and a few extras.
On the Atari end, there was a file to operate the PC remotely from the Atari. I didn't use that one until recently, when I separated the two machines physically (they're now on opposite sides of the room). There was also a file to convert Atari text files into PC files and transmit them to the PC.
I found the package extremely useful. The PC's user interface was no-frills, but it did have a clearly-written menu and a status line so I could tell what was going on as files were being transferred. I soon found I could save as many as eight or nine Atari RAMdisk images on one high density MS-DOS floppy. My space problem was solved; now it was up to me to get those disks changed to RAMdisk images and put them on floppies.
I even set up a couple RAMdisk images on my PC's hard drive. One contained Atari DOS 2.5, configured for four drives and the standard D8: RAM disk for my stock 130XE, together with Bob Puffs "SuperArc", "SuperUnarc", "Discomm", and some other useful utilities. Another, used with my Sparta-X cartridge, had a batch file that would automatically set up the RAMdisk and transfer the "remote" program to the RAMdisk. It also held those nice utilities that my DOS 2.5 RAMdisk image file contained. I wrote batch files for the PC to start SIO2PC with the proper COM port and automatically load either of those RAMdisk images into RAMdisk 1. At that point, I'd boot the Atari from that RAMdisk, and as necessary switch that RAMdisk to another number so I could use the Atari's physical drives (an XF-551 for D1: and a 1050 for D2:) without interference. Loads and saves to the RAMdisks were more rapid than to the physical drives. SIO tones and the status line on the PC's menu screen gave me confidence that an Atari disk operation was taking place.
What about those revisions? WHAT ABOUT THOSE REVISIONS!!! In the latest version of SIO2PC (version 3.07), Nick Kennedy read my mind and those of the lucky buyers of this outstanding product. First of all, he solved the hardware problem I mentioned earlier. It seemed the SIO2PC, connected into the SIO daisychain with the PC turned off, made it impossible for my ICD P:R: Connection to get enough power to print from the Atari. It would have been easy to just pull the SIO plug, but I feared an SIO socket might wear out if I did that often enough. I added a switch in the +5V line to do the same thing. Nick Kennedy, being an engineer (I'm not), came up with a plan to add some circuit components to do the same thing automatically. I might ask a friend to make the modification on the interface Nick Kennedy built for me, or I might try my hand at building a complete new unit for comparison. Either way, the change won't be made before you read this, but I have it on good authority that his modification should work better than mine.
But the software changes are spectacular. The PC screen now has a very colorful menu, with additional status reports included, plus several new options. You now have the additional option of translating ATASCII tabs into ASCII tabs in the print-through mode. In fact, the entire print-through routine was re-worked to eliminate problems experienced by some users. For example, printing through to a disk file with the old software had the potential hazard of running out of disk space in the process. Now, a warning is put on the screen if disk space is too small for your file, and the process is aborted. MyDos and SpartaDos are more fully supported than with older versions, and the documentation includes additional material on how to make MyDOS work more effectively with SIO2PC.
The choices of RAMdisk size and configuration are wider, and the program now allows images of "double-sided" Atari disks-if your PC has the memory to support them. The RAMdisks themselves can now be numbered anywhere from D1: to D8:. That helps me considerably, as I can load my "bootup" RAMdisk image into RAMdisk 1, number the others 3, 4, and 5, and then exchange 1 and 6 and switch on my physical drives, if necessary.
But Wait, There's More!
The most exciting improvement is the inclusion of "file access" disks. These disks run to 16 megabytes in size and can be stored on the PC's hard drive, a floppy, or in memory-if you have that much. You don't need to save them as RAMdisk images any more, they're just PC files that run like Atari files on the Atari.
A few other changes involve using "00" to format RAMdisk images, complete clearing of memory when a RAMdisk is uninstalled, and adding highspeed (SpartaDos) transfers. One drawback is that the new system renders incompatible some RAMdisk images created with the old software. But, Nick Kennedy gives us a way to fix that by adding a simple command switch to the instruction to load the old image. You then have to write the new image back to its source media. Colorful prompts tell you how to add that command switch and remind you to write the new image back to disk. (You can also do this with a sector editor, and Nick tells you how, but why bother?)
SIO2PC Vs. The Competition
There are, to be sure, other developers who have tackled the Atari-PC connection in other ways. Bob Puff, for example, in his Floppy Board add-on to the Black Box, has MS-DOS formatting, reading, and writing routines. Bob told me his software can also do CR/LF translations on the fly. Some older, and some relatively new software exists for the PC that allow it to read Atari 8-bit software in various formats and side configurations. Owners of the Happy modifications have had this luxury for a while. Using BobTerm on the Atari and any terminal program on the PC lets me do null-modem transfers with CR/LF translation, if necessary, for text files. There are also programs that run on both the PC and on the Atari that can handle those CR/LF translations for existing files. The "search-and-replace" function of any word processor can be similarly employed. None of these methods, however, can emulate Atari disk drives on a PC, which SIO2PC does quite well. I've heard there are products being developed in Europe that will allow an ST to do it better and faster than the PC can with SIO2PC, but time will tell.
I think SIO2PC is the ideal way to expand your Atari system if you also have a PC or clone. Not that you should necessarily run right out and by a PC or clone, but if you do have one, then run right out and do get Mr. Kennedy's SIO2PC files. SIO2PC is shareware; it's on many local BBSes and should be on some of the information services, too. Be sure to get software version 3.01 or later.
[Editor's Note: the basic shareware fee for this superb package is only $10. Nick Kennedy also offers an SIO2PCparts kit, complete with the latest software and docs, for $35 including the shareware fee. See Mike Jewison's column "The Fitting Room " for details on where to download SIO2PC. Copies of SIO2PC furnished by Nick Kennedy are in IBM format and require an IBM-compatible to run.- BP]