So I've been playing around with the (relatively new) VDRIVE component of the ADTPro package. It lets you access a ProDOS disk image of whatever size, called "Virtual.po" in the "disks" folder of a computer running the ADTPro server software.
But it works over serial, so you don't need an Uthernet card or whatever, only a USB-to-RS232 cable. You just run VSDRIVE from BASIC.SYSTEM and then the disk image mounts as S2D1. You can CAT,S2 and go to town.
So then Raspberry Pi. It's cheap and small enough that It could really be a mass storage card for a //c (or any other Apple II). After much futzing, it works, and It's super cool. I managed to also get it to work with a ProDOS disk image over the internet. Apple II cloud computing!
Because the ADTPro server uses Java and various binary serial libraries, I had to:
- get Java 1.8 early access for ARM-hf (
https://jdk8.java.net/fxarmpreview/index.html)
- put it in /usr/local/java
- set JAVA_HOME=/usr/local/java/jdk1.8.0 in /etc/environment
- set PATH to include /usr/local/java/jdk1.8.0/bin in ~/.bashrc
- install librxtx-java package (via apt-get per usual)
- alter adtpro.sh to specify:
/usr/share/RXTXcomm.jar in the java classpath
-Djava.library.path=/usr/lib/jni
-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0:/dev/ttyUSB0
- comment out the serial port gettys in /etc/inittab
Because I use my Pi headless, I also installed xrdp, which allows me to get to its desktop with an RDP or VNC client on my Mac. Then, from an xterm on the Pi desktop, I ran ADTPro, chose the ttyUSB0 serial port at 115200, and I was able to bootstrap VDRIVE and go to town.
Then I found socat, which bridges a serial port to a TCP port, and since the ADTPro server now has a feature to talk to a TCP port, I was able to actually run ADTPro in my office, poke a hole in my router at home to access the Pi via SSH, and forward the socat port through the tunnel from work to home, so the ADTPro server at work could "make contact" with the serial port on the pi. So I could CAT,S2 and access a ProDOS disk in a remote location. THAT IS COOL. (I could have also done it with a direct port forward rather than SSH tunnel, but then all my precious Apple II top secret documents wouldn't be encrypted.)
I'm kind of excited about this. And the Raspberry Pi model A (the $25 one with only a single USB and no Ethernet) can supposedly be powered with 5v 300 mA, which makes me wonder if the 12v 300 mA pin on the //c video expansion port can be used with some sort of device to reduce the voltage, and then the Pi becomes a true self-contained storage device for the //c. (I'm completely clueless when it comes to electricity, so I don't know how viable this is.)
Now I gotta see how much software is happy when using VDRIVE.