SiDrive

SiDrive started its life as:

Virtual Serial Drive Host / SSC Edition

The sketch and ROM have been updated by David Schmenk, with these: SiDrive is a card and ROM for the SSC (Super Serial Card) that allows 2 PRODOS images up to 32MB each mounted as Slot X Drive1 and Drive2 for the slot the SSC is in.   Bootable With PR#X, or automatically if this is in a slot above any other bootable slot.

This version uses the PiDrive protocol: The virtual drive’s built into Apple II Pi Project.

Dave Schmenk Blog Entry on SiDrive

Link to SiDrive ROM code

Link to SiDrive Arduino Sketch

SiDrive Hardware Info

***********************************************************************************

  •   The info below is background on how SiDrive came to be *

************************************************************************************

What is this thing?

A way for the Apple II to store ProDOS images internally.
A Virtual Drive Host – Supports virtual drives for the Apple II running PRODOS, via a Apple Super Serial Card.
VSDrive from the ADTPro Project is probably the best known Virtual Drive package, PiDrive from the Apple2Pi project is another version of a Virtual Drive.
The virtual drives supported (2) can be any valid PRODOS image up to 32Meg. Normally a computer is attached to the other end of the serial cable, This computer runs the Virtual Drive Host software. The VSDH/SSC emulates the computer and software by replacing 2 chips on the Super Serial card with a small Module that contains a microprocessor and storage via Micro SD / Transflash.
[A couple of ideas to make it more generic since we support more than just VSDrive]

An INTERNAL host (SD card) for VSDRIVE functionality that is installed onto an Apple Super Serial Card © (SSC), for any Apple ][ computer that supports the SSC and ProDOS.

A way to store ProDOS disk images (up to 32MB each ) on a Transflash (micro SD with a maximum size of XXX) card.
If you have used VSDRIVE functionality in ADTPro, it is that with out the attached PC, the images are instead stored locally on an SD card.

New: PiDrive support and a new eprom – allow you to boot directly (power=up) and pr# work.

Background

VSD – Virtual Serial Drive – This is the generic title
VSH – Virtual Serial Host – Performs the HOST function of ADT VSDRIVE with out a computer – Virtual Host

VSDRIVE is part of the ADTPro program. VSDRIVE allows you to connect your Apple ][, ][+, //e, //c, IIc+ or I
IGS to another computer (via Serial or Ethernet if your that lucky) and use disk images stored on the host computer. An enterpriser named Kevin decided that you really might not want to always connect another computer just to share an image, so he set out to build a dedicated box to serve up these images. He was working on a bunch of functionality, the real world got in the way and then decided that what he had working was probably good enough. He built and offered 9 of his very nice units to those quick enough to ask for one and send $40. The VSH/VSD was based on the ATMega 328 (an Arduino Uno class) chip. With the FAT-32 SD library and a MAX part for level shifting RS232 level serial to TTL level serial. Kevin released his schematic, code, drawing files, and Gerbers  all into the public domain. The linked AtariAge forum thread talks about the license sets all parts of his project are under.

While the VSH/VSD works well for all Apple ][ series machines, it can be a bit bulky for the Apple ][‘s with Super Serial Card. This configuration consists of a box with 9 pin serial port and external power supply connected to a Apple ][ series (][,][+, //e or IIGS with SuperSerial card). You also need a 25 pin to 9 pin adapter. It is a very good solution for those that have a built in RS232 Serial Port – //c, //c+, and IIGS models.

Taking an off the shelf Super Serial Card © first we remove 2 IC’s and the terminal/modem jumper block. Then replace them with the Apple Serial Host Drive / SSC Edition. (fig. 1 – Standard SSC, fig 2 – SSC with 1488 and 1498 IC’s and the jumper block also removed, fig. 3 – SSC with the Serial Host Drive / SSC installed)

RS232 Serial Communication is provided on the SSC by the 6551 UART and a 1488 1489 level shifting transmitter and receiver pair. The level shifters take the 0-5V range out of the UART and shift it to the +12 to -12V range needed by RS232. Since the VSDrive SSC (our board) only needs 0-5 volts we can remove the level shifters and the jumper block under them and have enough room to place our board which will totally be powered by the Apple ][ vial the SSC.

Theory of Operation

ADT  VHD Using RS232 (serial) transport, a method to have disk storage remote to the actual Apple ][. VHD takes this a step further in that the host computer is no longer needed. An AVR processor and an SD card are all that are needed to obtain this storage, Virtual.po and Virtual1.po are mounted and accessed over serial link via a driver on the Apple ][. This data is only ProDos or other Block mode access, It is not available for Apple DOS 3.3 disks.

Now that we have the ability to mount two 32Meg ProDOS images, How can I put things into them? Well if you have a drive or so on your system already, you can boot to ProDOS from your current drive using an ADTPro disk. When booted type:
-VSDRIVE.LOW
This will put the VSDRIVE driver into lower memory but preserve ProDOS hooks to your current Drives. This driver can easily be bumped from memory. Apple System utilities copy will work with this mode. This will allow you to move / copy from your current disk drives to your new Virtual drive.
For Normal usage of the Virtual Serial Drive Host / SSC you will type
-VSDRIVE
This puts the VSDRIVE into the hooks of the current floppy drive and will disconnect it. You will have access to Slot 2,Drive 1 and 2 but no longer have access to your floppy drives..
Another way to move data to your Virtual Drive is to remove the Micro SD card and put it into a computer that has the Ciderpress application on it. Ciderpress allows you to work with multiple images and move files between them. More info on Ciderpress in the links.

What is still left to do?

Booting the Apple from the SSC.

The Super Serial Card(c) was built when computer companies were still publishing REAL documentation, we have available in the manual that comes with the card the entire ROM listing for this card. The Bootstrap function, ability to boot the Apple with no drives attached, is still available, but requires that you put the SSC into Terminal mode at 9600 baud. To do this turn on the apple ][. If you have drives attached reset the computer so that the disk does not load. To put the SSC into terminal mode (assuming slot 2)
IN#2
<Ctrl -A>14B
<Ctrl-A>T
Ground the reset pin on the VSDrive/SSC card
Release the reset pin – (appendix to show how to wire switch?)
<Ctrl-B> with in 5 seconds.

You will see the screen fill with characters then the boot loader will load the VSDrive driver and ProDOS followed by Basic.
If you have the switches for your SSC card set to 9600 baud, you don’t need the <Ctrl-A>14B step.
ADTPro still switches the card back to 115200 mode via software, 9600baud is only used for the initial part of the boot strap.
The SSC ROM could be modified to boot from this card directly, if its placed in a higher slot than any other bootable card, or if you PR#(Slot # of SSC). This ROM modification has yet to be performed.

Image switching support

Since the Micro SD cards can support multiple Images. A menu system to choose the images that will be mounted would be pretty cool. Since the current driver only allows 2 ProDOS volumes to be mounted, even though they can be 32Meg each, a small 1Gig SD Micro could hold many images. Adding to the ADT protocol could allow switching of the mounted image.

Extending the usage:

The ATMega328 is a very flexible processor  and with the TX and RX communication going directly to the SSC in the apple II many more experiments, how? Well, since the ATMega is reprogrammable, and a few of the pins are available on the header, we could add a real time clock, or a temperature sensor,  well just search on the Arduino for a few (thousands) of examples. We did not have room to bring you all of the lines, to make it totally generic, and a few of these lines are used by the SD Hardware, We did manage to bring out 4 usable lines, From the arduino perspective these are A1, A2, A4, A5  This is also Digital 15,16,18,19, A4 and A5 are the i2C lines which allow many useful additions. So if you get tired of using the VSD/SSC as a storage block, you may reprogram it for other useful things.

Rodney Ross – Draft – Creative Commons License CC BY-SA

Other Apple Disk Emulators

VSD – VSH – Kevin’s Page – http://osgeld.a2hq.com
CFFA3000 “ Rich Dreher “ http://dreher.net/?s=projects/CFforAppleII&c=projects/CFforAppleII/main.php
UNISDISK -Nishida Radio  http://tulip-house.ddo.jp/DIGITAL/UNISDISK/english.html
SD Floppy II – https://www.facebook.com/pages/SDFloppyII/1377746059152612?fref=photo
SD Disk II Emulator – http://www.applefritter.com/content/sd-disk-emulator
CHED – http://lukazi.blogspot.com/2013/05/ched-update.html

Links

ADTPRO: http://adtpro.sourceforge.net
Ciderpress  http://ciderpress.sourceforge.net
Apple Super Serial Card Schematic –https://ia601003.us.archive.org/23/items/super_serial_card_050-0045-a_schematic/super_serial_card_050-0045-a_schematic.pdf
AtariAge –http://atariage.com/forums/topic/210565-virtual-serial-host-for-apple-ii-computers/
zlib – http://en.wikipedia.org/wiki/Zlib_License
sdfat – https://github.com/greiman/SdFat
PiDrive – http://schmenk.is-a-geek.com/wordpress/?cat=10 source: https://github.com/dschmenk/apple2pi