Здравствуйте!
Зародилась идея о разработке интерфейса micro-SD карты для ZX Spectrum для загрузки/выгрузки программного обеспечения. Планируется применение дисковой операционной системы SD-DOS от AVR ZX Spectrum, ( http://zx-pk.ru/showthread.php?t=23671) работающей с файлами под FAT32.
Проектная схема интерфейса во вложении. Конструктивно планируется как печатная плата с установленным Z80 и разъёмом для стыковки к панели DIP40 платы ZX Spectrum вместо ЦП. Используется ATMEGA128 в качестве управляющего процессора. Предусматривается также выход аудио для дальнейшего интегрирования эмулятора музыкального сопроцессора AY.
Планирую развести печатную плату схемы без предварительного макетирования. Хотелось бы при разработке избежать ошибок и подводных камней. Тему создал с целью консультации со специалистами в области железа ZX Spectrum, так как сам я таковым не являюсь.
Имеется желание чтобы устройство имело максимально широкую совместимость со всеми моделями ZXSpectrum.
Принцип работы - захват шин адреса/данных/управления ZX Spectrum сигналом ~BUSRQ и далее работа с памятью. Сразу возникает ряд вопросов:
1) как поддерживать регенерацию памяти во время захвата шин? Или же дисплейный контроллер сам поддерживает необходимую регенерацию? Возможно, захват шин придётся делать для записи/чтения одного байта, и затем отпускать шины для того, чтобы Z80 выполнил хотя бы одну команду и выполнил регенерацию памяти.
2) как избежать конфликта с дисплейным контроллером при обращении к памяти? В какое время надо обращаться к памяти и как отследить это время (по какому сигналу)?
3) как заставить Z80 в конце отгрузки SNA файла выполнить старт с необходимого адреса?
Выслушаю все рекомендации/замечания/критику специалистов в области схемотехники ZX Spectrum. Заранее благодарен !