AppleIISd

For the past few month I have been developing a storage solution for the Apple II that, to my knowledge, hasn't been done before. A SD card as a hard-drive replacement. It is nearly finished and has (hopefully) only minor issues left to fix.

I admit, this doesn't sound neither groundbreaking, nor highly complex, but that is not the goal I am aiming for. I wanted to build something for the Apple II for quite some time, because that is what this computer was originally aimed at. It also gave me the chance to learn more about the hardware and internal parts of ProDOS. Finally I wanted to have a cheap mass storage, that may be assembled quite easily from parts that are not too complicated. Of course, there are already lots of devices that have an sd card and you can choose a floppy image like the or are feature stuffed, but i wanted it to be as simple as possible: ProDOS may access the card directly and boot support shall be provided.

Luckily, I remembered André Fachat's SPI65 /B project: an CPLD based SPI controller that is compatible with the 6502s processor bus. The logic is written in VHDL and although I absolutely no expert in that language I managed to adapt it to my needs and use the CPLD for address decoding as well. After doing some reading on how to interface the Apple's bus I designed the first version of the circuit. The components are few: a bus driver, memory for the firmware, the CPLD, a 3.3V regulator and the SD card itself. My hand-wired a prototype lacked the EPROM, because I was too lazy to wire it all up.

Despite that there a C compilers for and even on the AII, I choose to go really deep down and code the firmware in assembler. I used the Merlin-8 Assembler on the AII so I could try the code instantly. Debugging needs to be done on assembly level, anyway. AFAIK, the are no source level debuggers or remote debuggers for the AII. Possibly, I'm just spoilt by all the tools a current embedded developer has at his service. More on debugging in another post.

I have to emphasize again that I designed the circuit myself. Me, a mere software-"Tippse" (that's German for typist, but not very polite)! One of the hardware guys at work offered his advice, but he had only minor suggestion on circuit and board design. I'm kind of proud of myself 😉. But I was even more proud when I held the real PCB in my hands, a few weeks later.

More about the AppleIISd will follow. Until then feel free to check out the project at GitHub!

Finished PCB

Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. Will this card be able to boot with images as a hard disk in an Apple II+ / Europlus?

    ReplyDelete

Post a Comment

Popular posts from this blog

Prebuilt AppleIISD V1.2.1 finally available

AppleIISd V1.2.2 - Silly bugfixes and an improved flasher application