Подобной разработкой сам занялся примерно год назад. В качестве контроллера был выбран PIC18F452, в последствии замененный на 4520. Использовалась библиотека MMCFAT (или как она называется, подзабыл) под компилятор CCS. Был задействован сигнал /WAIT Z80.
После того, как погибли исходники после неудачного бэкапа, проект начал заново переписываться на PIC24FJ64GA004 - фотографию платы нового эмулятора я даже выкладывал в форуме. Соответственно, стал использовать другой компилятор С30 от Микрочипа. Библиотека FAT также взята на сайте Микрочипа. Причин такой смене контроллера несколько:
1. Объем оперативной памяти 8 килобайт - позволяет кэшировать в памяти сразу всю дорожку, что очень удобно и ускоряет работу.
2. Наличие адресуемого PSP (у PIC18 PSP не адресуемый) позволило аппаратно эмулировать 4 регистра ВГ93 и отказаться от использования /WAIT.
3. Производительность при питании от 3.3в - 16МИПС (использование внутреннего генератора на 8МГц + PLL) - шустрее, чем 18F452 на 40МГц. Хотя это, скажем, не была причина замены контроллера, но все равно приятно.
4. Функция ремаппинга сигналов на выводы контроллера - существенно облегчает разводку печатной платы, у 24FJ64GA004 ремаппируется более 20 вывоодов. Ну прям CPLD
Недостаток (если это недостаток) - необходимость сопряжения PIC24 с 5-вольтовыми сингалами.
Кроме эмуляции контроллера дисковода не планировал никаких функций - изернет и RS232 мне кажутся просто смешными излишествами (особенно изернет), но это лично мое мнение, я его никому не навязываю.
Сейчас работа над эмулятором идет... как бы сказать... вяло, очень вяло - времени на все катастрофически не хватает. Над аналогичным девайсом, только на базе AVR работает и, насколько я знаю, успешно ILoveSpeccy.
В настоящее время накоплено довольно большое количество информации по ВГ93, более, чем достаточное для разработки его эмулятора. Были бы желание и время. Если серьезно решил заняться эмулятором дисковода, то вот:
1. Еще раз продумай, какой контроллер использовать. Взвесь все "за" и "против". Если тебя пугает "PIC24" то поверь - эти контроллеры можно без проблем приобрести в московском "Тритоне" (trt.ru) и стоят они едва ли дороже PIC18 - поверь, сам там отовариваюсь. Там же приобрел превосходны йи недорогой программатор PICkit2 - если у тебя его нет, то очень советую приобрести - программатор от Микрочипа и с многоми кристаллами может использоваться как дебагер.
2. Как будет происходить просмотр и выбор имеющихся на SD-карте образов дисков? На LCD или будешь использовать для этого сам спектрум?
3. Какой тип образов будет использоваться? Я, например, сперва использовал *.trd, потом, со сменой контроллера, перешел на более, на мой взгляд удобный, *.udi.