Hey Gang, I was wondering, since most SNES copiers sport a parallel port to load ROM images with, is there any kind of adapter or setup that would work with the Raspberry Pi so that instead of having a big ass computer or laptop to load games, you could just use that instead? Perhaps some combo of Linux + additional hardware? Maybe it would require DosBox + ucon64 + parallel port hardware?
I like your idea of using the R-Pi as a loader. But it does seem like some work would be involved to get a working parallel port hookup established.
The reason I don't like USB <--> Floppy emulators is because they always work in some bizarre proprietary method. Like loading some Windows only software driver so you can mount 100 floppy sized partitions (One at a time) to load them with images and stuff. With the Parallel port, at least you can write nice front ends and send ROM images whole in one shot. To be honest, I was hoping someone else developed an add-on board for the R-Pi, but I guess perhaps nothing too sophisticated has been done yet.
Another thread about replacing the floppy drive? You really don't like that thing, do ya? Anyways, a quick search found this: source The second problem there is a bit meh, but dealing with the voltage difference is indeed rather unpleasant. Imho, a small laptop/subnotebook would be a tolerable. You'd probably need an USB-to-parallel converter though, unless you find one old enough to still have a parallel port.
There's this: http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund um den PC/USB2LPT/index.en.htm But of course you could use the Raspberry Pi's GPIO, which (I presume) would have much lower latency than USB, it would require a bit of logic (small CPLD) to SERDES a LPT from SPI. Obviously both solutions would mean hacking the interfaces into uCON, but either shouldn't be too hard. I think the USB route might too slow for copiers in general, most seem to do software handshaking, thus rely on bit polling (both console and PC side). This would limit you to ~1000 words/sec (8 KiB send, 4 KiB receive) unless you accelerate the protocol at the MCU, which is a lot of work. I started developing something like the USB2LPT with generic acceleration (they only recently added it) by implementing a very small interpreter (since it was a Harvard MCU) and it's really quite annoying to rework and tailor every transfer protocol.
So do you think this cable you linked to would work, or be too slow? Also, do you know where you can even buy this cable, and if it would work under Linux or not? (Drivers open sourced?). As many people can tell, I'm trying hard to avoid using floppy disks!
It would work, but unless you upload accelerators to the MCU I think it'd be too slow for reasonable use @ ~8 KiB/s. There isn't currently a Linux driver, but the entire project is open source. It would be less work to just use the Pi's SPI port, but that's a hardware project. You wouldn't really even have to use a CPLD, it could be slapped together with a few shift registers, a counter and some gates. Or yeah you could use a bus expander like the MCP23S17 if you don't want to design any logic, but 10 MHz is slow compared to a CPLD or discrete logic and technically it doesn't have enough I/O, the parallel port is 17 bits (8 data, 5 status, 4 control).
Surely it's better to use a modern device, like Everdrive? If you really wanted to use the Pi, you could - via USB. However, it seems a bit pointless with the flash card!