› o=o=o=o=o=›› Atari 8-Bit Emulators -- Part III› By Alan Sharkis› Editor, OHAUG Newsletter›› I'm trying to concentrate on this› article. It isn't easy. My son just› went out and bucked a musical trend. › He's been playing acoustic guitar for› several years (largely self-taught› but not bad) and he just brought home› a Fender solid body with a rather› powerful amplifier. He's getting› sounds out of it that make me very› proud, but occasionally there's› something he tries to do that just› doesn't have the desired effect. › It's unnerving, to say the least,› when that happens, but I won't› discourage him because most of what› he's doing is so nice. It reminds me› of one of the products I'm going to› describe in this article.›› First, let me catch you up on an item› I missed in the last installment. I› hadn't had time to see the Rainbow› for the Macintosh, and between then› and now I did see it. I have a› friend with a Mac who was only too› willing to let me download the› emulator to his machine, get the rom› images from mine, and put them› together on his Mac. I did that. › Rainbow for the Mac can do most of› what Rainbow for Windows 95 promised› to do. The demos ran smartly, if a› little slow, but they ran. Sound› wasn't really as good as I imagined› it could be, but it was there. I› didn't try the 5200 roms with› anything, but I'm assuming that they› work. BASIC also seemed to work› normally. Depending on the Mac you› have (my friends was a Quadra) you› can easilly emulate 8-bit speed or› faster. Since "faster" bothers a lot› of us, there is a facility to cap the› speed at 100% of 8-bit speed.›› Now, on to what this article is› really about -- the peripheral› emulators that made all of the second› installment possible. These are› SIO2PC and A.P.E., both shareware› products. They both run under MS-› DOS. Do not attempt to use them› under Windows 3.x or Windows 95. A.› P. E. can be used under Unix with› some modification, as described in› the docs. Peripheral emulators don't› put an Atari on the screen of your› PC. They do allow the PC to act as a› ramdisk, emulating Atari floppy› drives and creating ramdisk images› that can be stored as PC files. › These files, in turn, are more› convenient to store on the PC's hard› drive or even on PC floppies than› they are on Atari drives, and can be› loaded back into your Atari to be run› at any time, perhaps even faster than› the Atari's floppy drives can do it. › Disk images can be created in several› different sizes and densities, as› described for each of the products. › They are also the images that can run› under PC Xformer, or Pokey, or XL-It,› or Rainbow '95, and they usually have› the extender .ATR on them. Both› SIO2PC and A.P.E. allow the Atari to› "print through" to the PC's printer,› a great convenience when you only› have one printer or wish to take› advantage of a higher-quality printer› than can be attached to your Atari› directly. The feature also allows› printing through to disk files or to› the screen. Several translation› features are built in. A.P.E. also› allows the PC's modem to interface› with your Atari. If you get a› registered version of A.P.E., you can› do this at fairly high speeds. Both› SIO2PC and A.P.E. transfer files to› and from the Atari at higher speeds› than those normally associated with› Atari floppy drives, but there are› caveats to this, and descriptions of› the products will carry those› caveats. Several utilities have also› been developed for these peripheral› emulators that allow such things as› converting .DCM (Discomm) files to› .ATR files, and converting .ATR files› to .XFD files and vice-versa.›› SIO2PC and I are no strangers. You› may remember (or wish to forget) that› I wrote an article on SIO2PC for AC› Magazine a few years back. In that› article, I compared software of the› 2.xx series with software of the 3.xx› series. Also in that article, I used› an interface built for me by Nick› Kennedy, the creator of SIO2PC. I› still have that interface and I'm› using it to test the software› packages for this article. The› interface is of a very early, two-› chip design, using the Harris ICL-› 232. It doesn't even have the diode› that eliminates the need to run the› ACOMINIT file which isolates the two› machines when the SIO2PC software is› not running. I bought and use a› switched CSS Quintopus connector,› since the older SIO2PC interface› without the diode makes it impossible› to use floppies beyond D1: when the› interface is switched on. Today,› Nick is advocating a one-chip design› (his own) based on the same chip, or› on the MAX-232. There are also› designs out there that are based on› the 7400 series of chips, but I› haven't used them. I've been told› that the 7400 series doesn't really› create the same voltages as the ICL› and MAX chips and may not work well› with some setups. For me, a one-chip› design may eliminate that switch, and› if I have time to test it before this› installment is complete, I'll give› you the results of that test.›› The SIO2PC software that is most› current at the time of writing this› article is version 4.16. It came to› me directly from Nick Kennedy. I› know that 4.10, at least, is› available from the UMICH archives,› and the zip includes the sio2pc.com› (one-chip, version 4.10i) and the› sio2pc2.com (2-chip, version 4.10)› program files. The 4.16 improves on› the 4.10 in several ways, and the› entire 4.xx series is a VAST› improvement over the 3.19 I had used› for so many years and had to re-time› when I switched from a '286 clone to› a Pentium-100. The 4.xx series› should work with today's faster PCS› without re-timing, but Nick explains› how to re-time it in the› documentation. What he doesn't› explain fully, but which Jon› Mordosky (Ol' Hackers member and› vice-president of LVAUG) did explain› in great detail, is how to switch a› one-chip version to a two-chip› version (or vice-versa) using MS-› DOS's debug command. I had the one-› chip version, which, of course, I› couldn't use with my two-chip› interface. The only major difference› between the two versions seems to be› the sense of the command line. This› can be changed via the "M" command in› the diagnostic submenu of the 4.16› software. You can run and change› 4.16i in a debug session, changing› the sense of the command line, then› quitting the program normally,› writing the changes to disk and then› quitting debug. After doing so, the› program will run without the "I" next› to the version number in the main› screen. The byte checksum, which› Nick includes for virus protection,› will also be changed and will have to› be readjusted so that you won't get a› virus warning. When you exit the› software for the first time after› changing the sense of the command› line, you'll be prompted and› instructed how to do this. I renamed› my converted version sio2pc2.com,› following a pattern that Nick had› begun back in the 3.xx series. › Thanks, Jon, for adding this little› trick to my arsenal and allowing me› to review and use 4.16!›› SIO2PC presents the user with a› screen that includes the title, a› list of commands, and space to› represent four bays for ramdisk› images. These ramdisks may be› assigned numbers from 1 to 8, but› only four of them will show on the› screen. Additionally, you're› restricted somewhat by the size of› the ramdisks you create and the size› of your PC's conventional memory but› the program will automatically go to› disk access if that limit is› exceeded. There's also a status line› at the bottom of the page that may be› useful for trouble-shooting. The› first thing you are presented with is› a request for the COM port you're› using on the PC. Although responding› with 1, 2, 3, or 4 will work, there› is further flexibility built into the› menu. You can actually designate the› IRQ associated with your port if you› need to do that. Most people find it› easier to include the COM port in a› command-line tag when loading the› program. This can, of course, be› done in a batch file. In this batch› file, you can also ask the program to› load specific ramdisk images into› specific disk drive numbers, thus› making it possible to boot your Atari› directly from the SIO2PC. SIO2PC› reads, writes and transfers with any› mix of conventional Atari floppies› and ramdisk images, as long as you› don't have a conflict between floppy› D2: and ramdisk D2:, for example. › You can switch ramdisk numbers at any› time. You can unload any ramdisk› image, but if you've just created or› modified it, you're prompted to see› if you wish to save it first. The› latest versions of SIO2PC bring up a› menu that can be used to load or save› ramdisks from anywhere on your PC's› drives, sparing you the earlier task› of figuring out where those image› files were located and how they were› named. A sub-menu allows using a› 1050 disk drive through the PC's› parallel port, but a special hardware› interface must be built to do this.›› You can create ramdisk images in› single- or double-densities in a› variety of side and track› arrangements as follows:›› 64K (small, for experiments) › 92K (like an 810 single-side disk) › 133K (like a 1050, enhanced disk) › 184K (like an SSDD disk) ›› or the following special sizes:››› SECS/ TOT.› CHOICE SIDES TRACKS TRACK KBYTES SECS›› ------ ----- ------ ----- ------ ----› 1 1 35 18 79 630› 2 1 35 26 114 910› 3 2 35 18 157 1260› 4 2 35 26 227 1820› 5 1 40 18 90 720› 6 1 40 26 130 1040› 7 1 77 26 250 2002› 8 2 77 26 500 4004› 9 1 80 18 180 1440› A 1 80 26 260 2080› B 2 80 16 360 2880› C 2 80 26 520 8200›› You can also specify a decimal number› of sectors up to 65,536 for really› large ramdisk images. If you wish to› back up a BBS, for example, you can› back up 16 Megabyte partitions in› this way. There is a DOS shell. You› can lock the data line, but for most› setups, it should remain automatic. › You can get directories of you PC› files, or of Atari files within a› particular ramdisk image. You can› install a PC file as a ramdisk image› or write a ramdisk image to a PC› file. You can toggle the status line› at the bottom of the screen on and› off if it bothers you. You can jump› to Ultraspeed I/O and back to normal› speed. There are also hidden› commands, which are not on the menu,› and allow you to redraw the screen› (handy if you have just printed from› the Atari to the screen) or blank the› screen. Another hidden command turns› off the beep that comes when a bad› sector is found reading from the 1050› in the parallel port (versions 4.10› on), and the clicks that are found on› floppy access in version 4.16.›› The status line shows the following› entries:›› HDL - file handle number -- useful › in checking if file is open › or closed ›› CMND - current command to drive ›› LAST - previous command to drive ›› DEV - device number being accessed › (explained in docs for this › program) ›› COM - High/low status of Atari › command line ›› ERR - error codes Nick Kennedy uses› in debugging (symbol doesn't › always mean error) ›› SEC# - sector number being accessed › (decimal -- 4 digits) ›› RAM - number of kbytes of PC › conventional RAM left ›› SPEED - N for normal; H for › UltraSpeed ›› Hitting "A" from the main screen› takes you to the timing submenu, from› which re-timing can be done. Also› available at this submenu are a› choice to change the configuration of› a disk, to change the sense of the› command line, or to bring up two more› submenus -- the 1050-2-PC submenu and› the hardware diagnostics submenu.›› The 1050-20-PC submenu is used only› with that special interface I spoke› about before. It will allow a 1050› drive, connected through that special› interface, to read 720 or 1040 sector› files from the 1050 into ramdisk› images, to write from a ramdisk image› to the 1050, to read a block of› sectors to a file, to format an Atari› disk in the 1050, to scan sectors for› status and errors and to edit› sectors, and, of course to go back to› SIO2PC.›› The diagnostics submenu allows the› Atari, running software provided by› Nick Kennedy, to enter an "intercom"› mode with the PC, or to toggle the› status of the input, output and› command lines with some restrictions› elaborated in the docs, or to send› sectors from the Atari to the PC and› vice-versa, and, of course, to exit› back to SIO2PC. ›› I haven't assembled or used the› special interface for the 1050. I› don't think I'm going to do that,› since I'd need another one for PC› Xformer, and a third for A. P. E. I› know that some people have reported› good results with the 1050 in SIO2PC.› I also see that Nick Kennedy has› included some features in SIO2PC that› allow working with copy-protected› software. I don't know if he did this› because of competition from A.P.E. or› because other users asked for it. I› do know that I haven't had time to› try it, and it's unlikely that I will› in the next little while.›› SIO2PC has worked reliably on my› system. Although I had to re-time› 3.19, as stated above, I haven't had› to do that with 4.10 or 4.16. I can› mix physical floppies and ramdisks› and copy from one to the other› without any problem. Printing› through the IBM hasn't been a› problem. Above all, Nick Kennedy has› been very cooperative with the› community. He has developed a› product that he states is a hobby,› but his approach to it has been most› professional. Nick will get you the› software and construction plans for a› shareware fee. He also sells kits of› parts for his interface and will› assemble an interface for you for an› additional fee. He can be reached› at:›› Nick Kennedy› 300 South Vancouver Street› Russellville, Arkansas 72801› (501) 967-3483› E-Mail: nkennedy@cswnet.com›› A. P. E. (Atari Peripheral Emulator)› is a system by Steven Tucker that› relies on an SIO2PC hardware› interface to work. I am describing› version 1.10 here. The actual› screens are much more elaborate than› those of SIO2PC software. Steven› distinguishes between distribution› versions (which are sometimes betas)› and registered versions. The› registered versions of A. P. E. do› come with advanced features. Steven› maintains a Web page from which you› can download any or all of his› products, register them, etc.›› Most of the SIO2PC functions are also› included in A. P. E., sometimes with› more bells and whistles. A. P. E.› includes a "Pro" system (for which› you also have to build an additional› interface) which connects a 1050 to› the PC through the parallel port, and› allows making disk images of copy-› protected software which will then› run only in that Pro system. This is› for personal archival use only,› although Steven did include some Pro› image files in some versions of the› A.P. E. software. I didn't test› them. There are a couple of features› in A. P. E. that SIO2PC doesn't have.› What is disturbing to me about A. P.› E. is that its performance tends to› vary more from system to system than› does SIO2PC. But, I don't really› wish to rate A. P. E. down, because› many people have reported greater› success with it in the newsgroup. › So, let me describe its intended› features for you, and if you wish to› try, please do and please let me know› how it worked.›› The main screen will come up right› after the title screen, if you have a› registered version of A. P. E. If› you don't, there will be a delay of› some seconds while you are reminded› to register your copy. The A. P. E.› main screen has a two-part layout.› The top of the screen shows the› status of all eight ramdisk bays, and› it is possible to have all eight› ramdisks in memory or disk access at› the same time. For each ramdisk you› will see the SIO command most› recently associated with it, the› sector being accessed in decimal, the› total number of sectors, the bytes› per sector (Dns), the Pro status (P),› whether the file is protected from› writes from the Atari or not, and the› image filename, which might be› truncated. Below this table you will› see an indicator for the Ultraspeed› status, and whether the emulation of› the drives is "smart" or "stupid." › At the bottom of the screen is a› scrolling display of all SIO› commands, only a few lines long, but› potentially valuable, since every› sector's commands come up.›› Pressing "!" from your keyboard takes› you to a DOS shell. You exit back to› A.P.E. by typing "EXIT ," just› as in most DOS shells found in other› PC programs.›› Pressing "|" from the keyboard resets› the file system in A. P. E. That is› to say, it closes all files, resets› all pointers, and remounts all .ATR› images.›› Pressing "@" from the keyboard› toggles the concurrent I/O. This› mode activates automatically when you› are using the PC's modem, but it may› have to be reset after disk access› takes place during an upload or› download.›› Pressing "H" from the keyboard brings› up a Help Screen full of commands. › The one you should try FIRST is "Z",› which brings up the configuration› submenus. Of these five, the first› is the most important. The very› first choice you have to make on this› one is the SIO2PC type. Here, you› choose whether you have a one-chip or› two-chip interface. The wrong› setting just won't work. The second› choice tells A. P. E. in which of› your COM ports the SIO2PC interface› is located. The third, fourth, fifth,› and sixth choices tell A. P. E. in› which of your COM ports your PC's› modem is located, what its maximum› baud rate is, and how to set the PC's› DTR and RTS lines (these are most› probably high - the default setting.)›› The seventh choice is somewhat› critical, and may need some› experimenting. It lets A. P. E. know› how fast hardware flow control takes› place with your modem. Steven Tucker› suggests that the number start at› setting 1000 for 19.2 Kbps. I› found modem use with this program to› present many problems. There is a› paragraph later on in this› installment that describes the› difficulty I was having. Steven› seemed to have no solution for the› problem.›› Choice 8 is also somewhat critical,› and needs some experimentation, and› it has led to a good deal of› frustration on my part. It› designates a framing threshold for› Ultraspeed on the SIO bus, and Steven› suggest that your initial setting› should be 8. I have run it as high› as its maximum and as low as its› minimum and still can't get ramdisks› and physical floppy drives to› cooperate in my system. Again, there› is a paragraph later on in this› installment that describes my› difficulties in more detail, but here› I can rationalize and say that A. P.› E. was meant to ELIMINATE writes› to physical Atari drives and that I› shouldn't mix them into the system.›› Choice 9 takes the SIO command› monitor off the screen. This is› vital if your PC is very slow, since› leaving the command monitor there› would slow down reads and writes.› Choice 0 toggles the verbosity of the› SIO command monitor, and choice %› serves to filter out some of the› commands shown so that you can› concentrate on the more common ones› during trouble-shooting. To use› these filters, you must provide the› hex numbers of the commands you wish› to filter. Registered users may› assign macros to the letters A-Z for› use in the A. P. E. program. › Configurations can be saved with› CTRL-S, loaded with CTRL-L, and› defaults restored with CTRL-D.›› The second configuration submenu› deals with printer configuration. › The choices here are similar to the› ones described for SIO2PC, and pretty› much self-explanatory.›› The third configuration submenu deals› with default paths and filename› extensions and can be quite useful in› automating A. P. E. The program has › a feature called block configuration,› which makes it possible to hit one› key (thus running one "block› configuration" file) and› automatically load several pre-› specified ramdisk images into several› pre-specified bays.›› The fourth configuration submenu› allows you to adjust the IRQ and base› addresses of your PC's COM ports for› those very unusual situations› occasionally encountered.›› The fifth configuration submenu sets› Ultraspeed for US Doubler drives. › Choice 1 locks the speed at normal› SIO speed. Choice 2 sets Ultraspeed› as the default. Choice 3 sets the› "APE+ Ultraspeed," which is about› three times as fast as normal SIO. › This is only useful for US Doubler› drives. I don't have one, so I› couldn't test it. Sparta Dos 3.2G› automatically switches to APE+› Ultraspeed when it boots up. You are› advised, if you use this DOS, to› include the command, KEY OFF in your› startup.bat file.›› Let's go back to the main screen,› assuming configurations are set as› you wish and saved. Here, again,› pressing "H" will give you all of the› commands you can use from the main› screen. I'll lay them out for you so› that you can understand the features› of A. P. E. Perhaps the most› important command is "C." This› command allows you to create a new› .ATR image. This is always a MyDos› image, and about the same sizes,› side, density and sector/track › configurations of ramdisk image that› are found in SIO2PC can be created in› A.P.E. (Steven Tucker, by the way, › gives a great illustration of how to› make up a 16 megabyte hard drive disk› image in MyDos in his documentation.)› However, the procedure is different› from SIO2PC in a few important› respects. In SIO2PC, you select› density, and the bay in which the› image will reside, create the image› by selecting its size, format it,› write to it, and only get to name it› when it is actually written to your› hard drive or a floppy. In A. P. E.,› you must calculate some of these› sizes on screen. In addition, you› must name the image first. You are› cautioned to be careful naming an› image, since it will overwrite one› with the same name on the same drive.› Before the disk is created, you are› given a summary of the size choices,› name, and destination you have› selected before you give the final› command to create the ramdisk. After› creation, you are prompted to format› the ramdisk. Once this is done, the› created ramdisk is shown on the main› screen, in the bay you have› designated. You can write to it,› read from it, copy it, etc.›› Suppose you have an already-created› ramdisk image. You simply use the› "L" command to load it into a bay› that you designate. If you don't› specify a filename, a file-finder› comes up and you can use it to find› the file you want. Later versions of› SIO2PC do this, as well. If you have› designated a bay that's already› occupied, the program will ask you if› you wish to replace the image that is› in that bay. When the file appears› on the main screen, it's name and› statistics are also there. In› addition, if the ramdisk has come› from a "PC Mirror drive" (more about› that later) its name will be in› inverse red. If the file is in› A.P.E.'s Pro system, its name will be› in inverse purple. Now, suppose you› want to switch the images you have to› different bays. You press the bay› number for an image, followed by the› bay number to which you wish to› switch it, and the switch is done.›› The "R" command releases, or removes› a disk image from a designated bay.›› The "A" command will convert a .DCM› or .XFD image to an .ATR so that it› can be used with A. P. E. This› feature is very handy. Before it was› included, you'd have to go out to› another utility to do the job. I› have some of those utilities. They› are very nice, but they involve› switching programs. In fact, one of› them, Imagic, which operates under› Windows 95, was written by Steven› Tucker. ›› The "B" command sets up the block› configurations described above.›› The "P" command changes to the Pro› Emulation mode, and is available for› registered users only. Again, I› didn't test this mode because it› would have me building another› interface.›› The "S" command sets up the PC Mirror› drive. PC Mirror is a feature that› allows you to get directories of your› PC's files, with proper subdirectory› listings, from your Atari. It can› become very convenient. You may› write to your PC Mirror drive only if› you're a registered user of A. P. E.›› The "T" command toggles "smart" and› "stupid" emulation. "Smart"› recognizes all disk configurations,› skews and speeds, etc. "Stupid,"› according to Steven Tucker, makes A.› P. E. most like a 1050 drive, and is› useful only for earlier versions of› Superdos.›› The "U" command toggles Ultraspeed.›› The "V" command brings up a text› viewer that usually automatically› recognizes ATASCII, ASCII or Unix› text files. If it fails to recognize› the type of text file, you can toggle› within the viewer with the "F" key. › If you wish to switch text files from› within the viewer, you can use the› "N" command. ESC takes you back to› A. P. E. If you are a registered› user of A. P. E., you can use this› viewer from a command line.›› The "W" command toggles write› protection for an image on and off.›› The "Q" command quits the A. P. E.› program.›› Steven Tucker has tried to provide› Atari users with a way to access› their PC's modem using the Atari and› programs like BobTerm. It's a great› idea, and I'm quite sure that it› works for some people or it wouldn't› have been released. Of course, as I› mentioned earlier, you have to have a› registered copy to go to the 19.2› Kbaud of which BobTerm is capable. I› tried it, and had two serious› difficulties. One involved› concurrent SIO, something the Atari› must be able to do when it is working› with a modem. This gets suspended› during disk access, but it would not› automatically return in earlier› versions of A. P. E. A later version› fixed that problem, but still would› not allow me the faster› communications speeds I wished for. › As soon as a connection was made,› BobTerm would switch to 1200 or 2400› baud, depending on the BBS I had› called. I had to go to BobTerm's› main menu, change the baud rate› manually, and often I discovered that› by that time the BBS had› disconnected. I tried changing the› modem initialization string in› BobTerm. I tried taking the init› string out completely. Nothing› worked.›› On my system, I couldn't get physical› Atari floppy drives and ramdisk› images to work reliably together.› Specifically, I couldn't get an .ATR› of DOS 2.5 to duplicate to a physical› 1050. But A.P.E. is capable of› higher transfer speeds than SIO2PC,› as long as you stick with ramdisk› images or go from a physical drive to› a ramdisk image. If I wanted to use› only A. P. E., perhaps with its Pro› system, that wouldn't matter. But› alas, I need to transfer reliably› from Atari disks to ramdisk images› and vice-versa without the Pro drive,› and to my dismay, the ultraspeed› keeps switching in and out,› interfering with transfers and› causing errors 138, 139 or 140. I› can lock it out, but then other› problems arise. A. P. E. also has› locked up the PC and the Atari at› times when such disk access was› attempted, making it necessary to› turn the equipment off, and then back› on again.›› Despite my difficulties with A. P.› E., I recognize its great flexibility› and usefulness. Like Nick Kennedy,› Steven Tucker is continuing to› upgrade his product. He is› accessible, and I have spoken to him› several times via E-Mail about my› difficulties with the product, but› there seem to be too many variables› in my specific system for him to come› to any conclusion. I am going to› continue to experiment with A. P. E.› to see if I can find the source of› the problems. Steven can be reached› at:›› Steven J. Tucker› 9131 Sunrise Boulevard M-33› North Royalton, Ohio 44133› (216) 237-5308› E-Mail: classics@nacs.net› Web:› http://www.nacs.net/%7Eclassics/›› Meanwhile, if you have a PC, even if› you consider it inferior to your 8-› bit, consider using it as a› peripheral emulator for your 8-bit. › You will solve disk-storage space› problems, get faster program-loading,› and a host of other improvements.›› In my next and final installment, I› will discuss some of the ethical› considerations that emulation has› brought up. I will be treading on› dangerous, if not controversial› ground. I may make friends and› enemies and attract people who wish› to sway me to one side or the other. › You might consider taking one of› those positions after reading it. › Your thoughts, responses, etc., are› invited, as usual.›› o=o=o=o=o=››››