эмуляция MPF-I

 


Случайно узнал об этом устройстве - играл с Z80 workbench.


Эта  поделка  сборище убогих встроенных опций. Когда с эмуляцией CP/M у меня не срослось, стал смотреть на список доступных устройств, одним из которых оказалось MPF-1.

Нашел исходники эмулятора, написанного на FreeBasic. Скачал, скомпилировал, и первый облом: на экране ничего не отображается, как на скриншоте, сама программа не закрывается.


Задал вопрос на помойке GitHub и стал изучать сырки: прога грузит массу файлов и крутит цикл, не обрабатывая событий окна. Стал искать нужные файлы, хрен там, ничего не нашлось. Тем временем автор отозвался, пришлось применить легкий троллинг, чтобы он сдулся и выложил файлы, пообещав упомянуть о других файлах. Короче, я до конца и не разобрался с эмулем, не получил картинки. И вот вишенка с торта : автор писал прогу 10 лет назад, поэтому надо скомпилировать с ключом console, получив окно консоли как бонус. Закрытие окошка ведет к выходу из программы!

Хорошо, что вчера я отложил написание поста на потом, иначе немало ласковых матерных слов в адрес писателей осталось бы здесь.

На очереди остался MAME/MESS 0.133 с отладчиком:

Комп запустился, окно отладчика открылось, но осталась пара косяков - нельзя закрывать окно отладчика, оно никак не вызывается. И load - команда загрузки бинаря не работает.

Подопытная программа(sjasmplus):

device zxspectrum48
        ORG #1800
begin
; a
;f b
; g
;e c
; d .p
;76543210
;dpcbafge
;10101010 =$AA
ld a,193
out(2),a
ld a,$AA
out(1),a
jr $
end
display /d,end-begin
savebin "hl.bin",begin,end-begin

С прогой все просто - в отладчике открывается новое окно и по адресу вбивается очередь байтов, после чего код запускается командой do pc=1800. Секундочку, когда-то я возился с Atari Portfolio и каким-то образом использовал отладчик для разработки интро plot.

Скачал ту самую версию, на экране появилось окно экрана с имитацией LCD, но программа не сработала, на экране ничего не появилось.

Перешел к плану Б, стал мучать Гугл разными запросами. Гугл привычно выдал еще один шанс.

Скачал обе версии и стал разбираться с работой, что оказалось посложнее изучения Z80 (:
Один из приложенных примеров запустился, на второй раз сдулся.
Надо всего лишь выбрать загрузку бинаря, указать Base Address=6144,Byte Count=размер бинаря, нажать OK и выбрать файл. Потом нажать на панели кнопку ADDR, ввести 1800, нажимая кнопки, ткнуть GO и наслаждаться результатом. С отладчиком программы все хуже, так как десятичные и шестнадцатиричные свалены вперемешку. Но способ запуска все же описан.

Сейчас, когда проделал некоторые действия, обнаружил, что со значением ld a,192 нет картинки, она появляется с ld a,193. Надо проверить на старой версии MAME.
Некоторые файлы тут.

Дополнение. Сработал этот вариант

Вот и верь после этого людям.

Комментарии