return to home. Back to Atari Email

Virtual SIO
OR
"How to have virtually any number of boot and data disks on the ST."

Revised again:01Jan2010
UPDATE 2009:Well, a great new device has appeared, its the Sdrive. I made mine and kits for sale in early 2009. Sdrive uses a SD card to store APE images that run directly from the A8. This is so fast and easy. It all works great, up to 4 disks mounted, 91K disks to 16meg images. And it moves to the PC for saving or updating. And yes, SIO2SD is probably great also, but more complex and expensive. I am not using the ST or PC connections any longer. And I got much further with this in a short while than I ever did with MyIDE.

OVERVIEW:
Of course, I'd much rather have an easy to use and plug in hard drive, but thats still in the works. With a simple interface and some cable/connectors, software on the ST will look like disk drives running from the SIO port, only faster. The software I have found(via Doctor Clu), is 800XLDJ, and it does that. It lets you create disk images in many different formats. You can then have up to 8 active, replacing physical drives that are not turned on, or don't exist. While its called 800XLDJ, I see no reason why it can't be used with any 8 bit Atari.
Find it at:DJ800.html 380K zip.(16jun2k RLD), also at: umich archive


Note that throughout this section, I'll refer to any setup that allows the SIO drives to be emulated for use by a real Atari8 as V~S(Virtual SIO). This is because this info can be used with an ST(800XLDJ) and a DOS-PC(APE, SIO2PC) using compatible hardware and software. The hardware uses pins 2, 3, 7, & 22 on a DB25 connector, on the ST and PC. AND NOTE, THIS INVOLVES SOLDERING CHIPS, CABLE, AND CONNECTORS. DO SO AT YOUR OWN RISK. YOU ARE RESPONSIBLE FOR ANY HARDWARE DAMAGE AND SOFTWARE LOSS RESULTING FROM THIS. THOUGH I BELIEVE THIS TO BE VERY STABLE.

EASIO-S cables:
One need is to be able to switch a computer between sets of A8 peripherals, or switch peripherals between several computers. SIO connectors are non standard, expensive, and somewhat difficult to turn into a useable switch box. For about $10.00, standard DB25 switch boxes are common, and lets you choose 2 to 5 items. So I decided to make up SIO cables that have a DB25M connector on one end, just to plug into these switch boxes. Pin numbering is the same on both, leaving the 12 bottom pins on the DB25 unsed. Just one of the cables is needed for each computer and peripheral set that needs to be switched. I also made a similar cable that plugs into the back of an A8 printer interface and connects to a DB25 switch box. Switching between printers is now a snap.

The picture shows a peripheral cable(A), A8 cable(common), and V~S adapter(B).Show me the cables.

800XLDJ PROBLEMS:
Disk images at least work. Ignoring calls to existing drives hasn't work. And creating virtual hard drives(to 16 megs) always gives an FOPEN error. Also, since the program and developer are german/polish, its no surprise that the program window is designed for monochrome monitors, so when used on color monitors, the bottom is cut off, and it can't be sized. These days there is no excuse for not creating a program that is well behaved in both mono and color! O.K. Graphics files and most Games will look bad in mono, no matter what.

Hard Drive Update(13Dec01):Doctor Clu gave me a little info on making this work, almost. Just select VHD from the menu, then drag a drive number icon to it(do not format it). If you open this drive(ST), you can change the path used. The directory worked in Diskcom, but MYDOS hated it(buzzed for a moment). Even setting up Mydos to think it was a high cap drive didn't help. File sizes are useless, and I get errors when trying to load progs.

And, all of the info(i.e. bug reports) are in German. No real docs. I found my info by trial and error, and by trying to read the gibberish that german-to-english translate programs provide. These days, with a small tight community, there is no excuse for not creating docs in English. Even bad english. Someone(me) will help correct it.

APE PROBLEMS:let me know of them.
SIO2PC PROBLEMS:let me know of them. Well, one I found is that it much prefers running from a clean DOS boot. And does well.


SPEED

Boot Ramdisk
Atari A8 using 810 drive
Will need to test.

Will need to test.
Atari A8 using ATR8000 drives
(R)Booting Paperclip (155 dd sectors) in 41S, ~956 bytes/sec.

(R/W)copying 73375 bytes in 1M34 is ~777 bytes/sec.
800XLDJ
LINK
8mHz Mega ST(1)
(R)Booting Paperclip (155 dd sectors) in 27S, ~1452 bytes/sec.

(R/W)copying 73375 bytes in 51S is ~1438 bytes/sec.
SIO2PC
LINK
486/100
(2)
Booting Paperclip (155 dd sectors) in 25.7S, ~1525 bytes/sec.

(R/W)copying 73375 bytes in 48S is ~1528 bytes/sec.
APE
LINK
Reported to be same as SIO2PC in standard mode, but reported to have high speed I/O-no details yet.
ATARISIO
for
Linux
Requires linux, installing a server app on the machine. Reported to have 3X high speed I/O-no tests yet. See Hias info.

(27Mar2006:)While not virtual, I am including old/new hard drive and storage media for comparison.

Boot Ramdisk Notes
MyIDE
LINK
IDE Drive
Will post details when I get them.
One test shows it to be about 12% faster than Compact Flash.
Mr.Atari has a program that plays movies, at about 60KB/sec.

Will post details when I get them.
MyIDE
LINK
Compact Flash
Will post details when I get them.
While slower than IDE, much smaller and lighter.

Will post details when I get them.
MIO
PBI
Expansion
Will post details when I get them.


Will post details when I get them.
BlackBox
PBI
Expansion
Will post details when I get them.


Will post details when I get them.


Set the com port to 19200 baud.
(1)Tested with one hundred feet of cable. The ST serial port(and printer port)easily gets confused, so rebooting has been a constant need. It may be possible to write another emulator program that resets the port after every drive access. However, once working, it does very well. Using the high speed port actually made it worse.
(2)Tested with ten feet of cable. I could not get this to work using a DOS window in win95, but dropping to the dos prompt, the program worked very well. Setting the com port to 115K, booting Paperclip took the same time. Now if I could find a way to make it run in more than 640K of ram(I think there is a switch). Next test is with XF551 high speed.

Other Notes:
WinAPE and SIO2PC/ST use the same cable(DSR)in . PROSYSTEM and 1050-2-PC use (RTS?) out DOS APE uses (RI) in XFORMER uses a cable so the ST or PC can work with a real atari 8 drive(http://www.emulators.com/xformer.htm#CABLE).
MORE...http://www.gweep.net/~prefect/eng/primate/

The maximum the SIO port will do normally, is about 2000 bytes/sec with 1920 bytes/s rated as typical, but I heard that its possible to manually run the sio port using much higher baud rates. All transfers have some non-data overhead.

While it may be possible to use a DOS that understands warp I/O, I don't think 800XLDJ does, and it probably wouldn't be any faster, unless direct handling of SIO baud rates changes that(but that is only useful for standard DOS programs or changed OS roms.). V~S can already buffer the data from the ST harddisk and pass it to the A8 faster than a physical drive, so its limitations are mostly speed of ST of code used.

And the ATR-8000 uses a faster format interleave than do 810s, 1050s, and most other A8 drives, so I didn't test any other in standard mode. This speed is noticeable when the disks are used on any drive.

Even though its a ramdisk, there is a copy phase that slows down transfer. A program designed to directly write to banks would be faster.

I am looking into claims that the sio port can do 56Kb/sec. I am dubious. I suspect the effect is due to better software, track buffering, and burst i/o. There DOES seem to be a replacement sio driver.

Mar2006:Someone asked me what the difference was between sio2pc cables and a 19.2K serial interface I make..The answer is, sio2pc(and the rest) are a simple serial cable using only 4 wires. The ST/PC is acting like a disk drive/printer, so it only receives/sends data when requested by the computer. A true serial port(rs232) adapter uses 8 wires for full handshaking and bidirection concurrent data transfer using 2 computers(and sometimes a modem). It might be useable for sio2pc, but not the other way round.

27Mar2006:I have learned that the 1 chip, 1489 version, of SIO2PC should work with physical drives attached. Mine doesn't. So a chat guy sent a pic of his adapter. I compared it to the schematic I used and the other drawings and found a difference. Make sure the info for SIO2PC you are making includes all of these parts:a 1489 IC, a small diode(1N914), a 4.7K ohm resistor, a .1 uf disk capacitor, a small perf board, an IC socket, 1/2 an SIO cable, a DE9 or DB25 connector with hood. An optional SPDT switch. Some solder and wire.

24Oct2K6:I finally changed my adapter. I added the 4.7K resistor and got the atr8000 drives working(though I wasn't actually connected using sio2pc/800xldj/etc). But, frequently, there was a delay buzzing sound. So I kept reducing the resistor. I ended up at 680 ohms as a good value with few buzzes. I have posted my updated schematic at this link...1489 schematic. I am beginning to think the 2 chip version is better when using an ATR8x00.

ON TO PAGE TWO: Creating the disk images----->      ON TO PAGE THREE: Cabling and More----->