Hi there,
I'm just back from the "RGC 2010" retrogaming event, from where I created this topic, but a few minutes after doing it, I had no luck with with 3G connection, and couldn't get online again.
During this event, I've talked with my friend Jeff (author of the HxC Floppy Drive Emulator) about my Microdisc recreation project initiated some weeks ago after a talk with Fabrice Frances, and he pointed me to this link... I was quite surprised to discover that another person would start a similar project, at the same time!
Anayway, here is what I've done so far :
- I've "ported" my Oric-in-a-FPGA project to the Altera DE1 board.
- I've converted the Microdisc schematics and parts (without the WD1793) into VHDL.
- I've replaced the WD1793 by a custom design splitted in two parts : a CPU interface which is synchronized with the remaining parts of the system, performs some WD1793 register caching, etc. and a second part that is a large "finite state machine" that emulates (think : software emulation) the WD1793, serving disk images from the Flash memory of the DE1 board. Both parts communicate with a 8-wire "letterbox" design.
- I've managed to get all this stuff working in hardware (on the DE1 board), especially by replacing the asynchronous parts of the original Microdisc design.
Now, what needs to be done :
- Make the first part of the design fit in a CPLD (shouldn't be too hard).
- Replace the large finite state machine by software emulation running in a PIC microcontroller for instance, reading the disk images from a SD-Card.
I'm glad to see that this guy and I have more or less taken the same route, it probably means that we're both right (or both wrong
). Now there's an issue with the MAP signal and there are mostly two ways of addressing it :
- Using oversampling (I planned to use a 40Mhz master clock, to drive both the CPLD and the PIC) and see if it's enough to meet timing requirements.
- Reproduce what's inisde the Microdisc : basically adjust the MAP clock generation by varying the Resistor value of a RC-circuit delay.
I'll probably contact this guy too, to see if I can be of any help.