14 February 2012

Bootstrapping Apple IIe over Audio

I recently did another project that took me a lot of time and effort and that I wanted to share with you. When I was in school I learned to program assembler on an Apple IIe. Back then I had a C64 myself with a tape drive and the Apple IIe already had a disk drive on it with 5,25 inch diskettes. Back then that was the coolest thing I ever saw and I started saving up  to buy a 1541 disk drive for the C64. A while ago I could get an Apple IIe from someone for free and I couldn't resist that. The only problem was there were some diskettes with it but not much usable stuff. Well not for me anyway. But how to get software on it I don't have any other hardware anymore with 5,25 inch diskettes. I did manage to get a couple of boxes of new and unused diskettes though.

I started looking for a way to transfer diskettes from a PC to an Apple IIe and found this little tool called ADTPro. The only thing is you can install a server on the PC side but you also need a client on the Apple IIe of course. Well this tool can do something that is called 'boot strapping'. It is a way to get an OS running on a Apple IIe without anything to start with. It supported serial and I happened to have a Super Serial card in my Apple IIe, but I could not get it to work. The hard thing is though with serial you never know why until you get it working. Could be interfacing, cable, protocol. Who knows.

An other option was using audio. The Apple IIe has a casette port that wasn't really supported in the DOS implementations because it had diskette and everyone used that, but with some assembler calls you can get you Apple IIe to read data from the audio in port. You connect you Apple IIe with audio in and out to the sound card of your PC and after a few system calls the ADTPro tool starts sending audio through your sound card into the Apple IIe and loading ProDos directly into the memory. And then when you have ProDos loaded you can again transfer the ADRPro audio client over audio to the Apple IIe. And suddenly you have the ability to transfer disk images from the PC to the actual floppy drive. It only takes a very long time to do that.

The first thing I send over because of this was a serial terminal program. With that program loaded I could finally find out why my serial connection wasn't working. It turned out to be a problem on the PC side. The USB to Serial device I used under Windows 7 crashed after a few bytes. So I installed ADTPro on an older Windows XP machine that still had an actual serial port on the motherboard. And that worked. Now I can transfer diskettes at 11520 bits/s and that is as quick as the disk drive in the Apple IIe is anyway. So it is just as fast as a normal disk to disk copy. The next thing I found out though is the Apple IIe has old Roms installed. It is not the 'enhanced' version. And I need that to get an ethernet card and IDE interface running. I just got some Roms of E-bay and am waiting for them to arrive now. So I guess I'll have an update to this story somewhere in the future. Well I enjoyed this project and I am happy I got the Apple IIe running now :)


Anonymous said...

Good busy ;-)
Nice how you get the thing going to work.

Synth.nl said...

Thanks :)

BCElginTex said...

I used to do graphics programming in the AppleBasic language on my Apple IIe. I remember making a basketball that would bounce off the sides of the screens. I was so happy when I recorded it onto the VCR via the composite video. I ruined the motherboard by forgetting to turn it off while reseating the video card. My heart sank when the smoke floated up.

Synth.nl said...

Oops.. That must have felt awful :(

PastelSounds said...

Really good times when the computers have soul... :)