Прикрутил платформенно-независимый лоадер на базе ZPUFlex с FAT16/FAT32 SD-карты (позаимствовал с OneChipMSX проекта) в проект порта u16_speccy, вот ветка, кому интересно:
https://github.com/andykarpov/speccy...ree/zpu_loader
Самое сложное было - это собрать gcc toolchain для zpu, чтобы можно было прошивочку под себя оформить. Под linux mint не получилось - там слишком свежая gcc и сопутствующие тулзы (bison, flex, и тп). Получилось собрать toolchain под debian 7 32bit, с авторским патчем (http://retroramblings.net/?page_id=637).
Сам лоадер оформлен в обособленный модуль loader.vhd.
В него передаются сигналы VGA_*, SD_* + шина адреса и данных из sdram-контроллера + wr сигнал, сигналы хоста доступа к VGA, SD и памяти также + начальный физический адрес, куда записывать ROM, ну и ожидаемую длину ROM'а. На выходе имеем сигнал сброса от лоадера.
Как работает лоадер:
1) При старте переключает на себя управлением VGA, SD, памятью
2) Запускает свой vga синхронизатор для создания синхросигналов картинки 640x480x60
3) Запускает программу в ZPU-flex, которая отрисовывает текстовую менюшку на экране с данными о загрузке, читает ROM-файл с SD-карточки и записывает в память по переданному смещению
4) По окончании загрузки - генерирует импульс сброса хоста и переключает управление VGA, SD, памятью на хост
5) Профит![]()




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
