И так, вроде как готово небольшое обновление с новыми фичами...
Приступим!
- первым делом следует обновить прошивку в контроллере. Качаем подходящую для Вашего контроллера тут: https://github.com/ILoveSpeccy/Aeon-...r/bin/firmware (кликнуть по нужной и затем нажать на "RAW") или просто всю репу выкачать
- теперь понадобится программа для обновления firmware: https://github.com/ILoveSpeccy/Aeon-...Bootloader.exe
Программа старая, я её просто пересобрал со "-static", теперь единым файлом! и сжал UPX'ом в 3 раза- при нажатой кнопке "Power" подрубаем питание или жмём сброс. Используя HIDBootloader прошиваем firmware в контроллер. Усё, прошивка в камне, можно перезапуститься.
- в новой прошивке я использовал другой VID/PID, поэтому ставим новые дрова отсюда: https://github.com/ILoveSpeccy/Aeon-...master/drivers
- теперь нужно скачать новую версию программы "AeonLoader" из репы. Прямая ссылка: https://github.com/ILoveSpeccy/Aeon-...AeonLoader.exe
- и сервисную прошивку для FPGA: https://github.com/ILoveSpeccy/Aeon-...rvice/boot.bit
- Запускаем AeonLoader, выбираем скачаную boot.bit и нажимаем на "Write DataFlash". Тем самым сервисная прошивка заливается в SPI Flash.
- Для правильной работы новой прошивки в корне SD-карты нужно создать файл "config.ini" в котором прописываем наши прошивки. Вот пример простелького конфигурационного файла:
Где [Atari 800XL] это название прошивки.Код:[Atari 800XL] bitstream = firmware.bin spimaster = fpga [ZX Spectrum 128] ramclear = 0x80000,0x0FFFF,0,0 bitstream = zx128/speccy.bin spimaster = fpga
bitstream = firmware.bin это имя файла с прошивкой для атари.
spimaster = fpga означает что прошивка имеет прямой доступ к карте
ramclear = 0x80000,0x0FFFF,0,0 понимается как залить в SRAM значение "0" начиная с адреса 0x80000 длиной 0x0FFFF байт. Последний ноль - потом скажу зачем
Подобным образом можно сделать одну карту с набором прошивок.
Если бы найти достаточно времени, написал бы небольшой но подробный Wiki... Если что не понятно, спрашивайте. Чем смогу... помогу!
В кратце теперь загрузка происходит следующим образом:
при включении из DataFlash в FPGA заливается сервисная прошивка. С карты читается файл "config.ini" и выводится на экран меню с описанными в этом файле прошивками. Выбираем стрелками нужную, нажимаем enter и profit!
За небольшой бардак в исходниках firmware прошу не пинать. Это просто текущий "слепок" на данный момент.
Идей ещё много!





Ответить с цитированием