Wednesday, December 12, 2012

Virtual Disk Research

To prepare for my Retrochallenge project to build an Apple Disk ][ emulator, I have been researching some 'prior art' on the subject. Here are some of my favorites:

Pseudo Disk ][ Controller Card
Nice project. The megaAVR I can handle, the Xilinx CPLD puts this over my head.

SDISK II - DISK II emulator for APPLE II (or version 1)
Cool, and accessible. The device uses a megaAVR, but uses the the standard Disk ][ drive controller card. This is great because it potentially allows an Apple //c without slots to get in on the fun using the built in drive controller (but no slots). It appears to use the same, or similar, megaAVR code as the Pseudo Disk ][ Controller, above. This design appears to have a hard time keeping up with the bandwidth required based on the over-clocking that is necessary. I don't like the use of non-standard disk images either.

Semi-Virtual Diskette (SVD)
Uses SRAM instead of SD card. Requires special PC only software.

CFFA3000
Nice looking product. Compact Flash. Requires a slot. Not DIY.

Smartport Virtual Hard Drive
This looks very doable. Unfortunately, I don't have a SmartPort based computer! My Apple //c only has the original version 255 ROMS. I like the use of commodity hardware, but the Micropendous board runs about $60. Certainly affordable, but I am trying for cheaper.

HxC Floppy emulators
Very nice! - if you have any type of computer except an Apple.

Macintosh Floppy Emu
Whoa! Very cool. Maybe one day... Macintosh only. not DIY.

So, I am going for something like the SDISK II, but I want to use strictly SPI to make the transfers to the Disk ][ controller card. Based on my reads of "Understanding the Apple II" (82Mb PDF book download), I think I can multiplex all of the Disk ][ signals into an SPI standard stream. This should free up some processing power on a micro-controller with native SPI, and should free up some pins for an interface to select the active disk image.

10 comments:

  1. Hi, I'm interested in your project, I have an Apple IIc and would like to make an usb or SD floppy emulator, let me know if can help.
    Jav

    ReplyDelete
  2. Thank you for your interest. I am sure any software I manage to produce will need testing. I am going to try USB first. What kind of modern computer do you have?

    ReplyDelete
  3. I have a MacPro with Lion and a laptop with Snow Leopard. Also got a windows 7 lenovo at work.

    My Apple //c is on ROM 3, and maybe I can make a cable for the external floppy. Happy to participate.
    Jav

    ReplyDelete
  4. Great! I am developing on an older Powerbook G4 using Tiger, so if I get a program together, you should be able to use it. As for the external cable, I am using
    a Unidisk cable.

    ReplyDelete
  5. Great, I found a broken external 800k floppy drive, the cable should work. Do you think I need to buy a FTDI UM232H?

    ReplyDelete
  6. I will be developing using the UMFT232H, but I am not totally sure it will work yet. If I get the SPI transfer working, I think that micro-controllers that have native SPI will work, or even the Raspberry pi. There is another issue I am not sure about: your //c is ROM 3 which might not boot from an external 5.25" drive. I will have to see if I can address this.

    ReplyDelete
  7. Well, I hope the ROM version is not an issue, as I just ordered the version 4 ROM. I could open the computer and connect it directly in the primary drive port like the Japanese guy did.

    I also have a Raspberry Pi if you choose to use that.

    ReplyDelete
  8. Nice... I didn't see his updated page on the SDISK II. I updated my links.

    ReplyDelete
  9. Have you seen this link?
    http://www.users.on.net/~rjustice/SmartportCFA/SmartportCFA.htm

    Also there are some 19 pin connectors on ebay if you need them.

    ReplyDelete
  10. I hadn't seen that link, thanks for posting it! Definitely SmartPort only though. Reminds me of the Smartport Virtual Hard Drive

    ReplyDelete