Сообщение от
ivagor
Было бы здорово, если бы одним из побочных результатов проекта стал транслятор команд z80->i8080, работающий на уровне ассемблерного текста. .
собственно только хотел написать
на сейчас на битбакете версия
где в коде игры все z80 заменил на 8080
z80 остался в MSX specific частях
типа инициализации,
INT_Handler
работа с vdp/клавиатурой/джойстиком
муз плеере (как понимаю его можно взять из рекомпиляции парка для вектора)
еще не трогал z80 в
z80_mirror sprites
z80_bitswap
это в процедурах которые формируют знакогенератор
можно тоже сделать но имхо нет смысла ибо эту часть имеет смысл осознанно переписывать
у тех комманд что не изменил есть комент вида ;z80_(why)
Сообщение от
ivagor
Очень желательно, чтобы соответствие команд описывалось отдельным файлом (не было спрятано внутри exeшника).
совсем не понял этого
у меня сейчас все мои изменения в исходнике
выглядят так
Код:
;esl
; ld a, r
call rand_8
;esl
;esl
; bit 0, b
ld a,b
and 1<<0
;esl
;esl
; neg
cpl
add a,1
;esl
; ld hl, PlayerYPos
; ld de, (unk_E200)
ld de, PlayerYPos
ld hl, (unk_E200)
ex de,hl
в общем при всех изменениях есть исходный код
сейчас оно собирается в MSX ROM и там работает,
попутно выяснил не очень приятный момент
переменные у меня сейчас живут как и раньше на E000
и они вообще байт в байт как и было
надо было вствить новый байт с e000 (rnd seed)
вылез глюк с прыжками на веревках
видимо надо дальше копать их
или не трогать
я руками ходил по инструкциям и менял сам все кроме
jr->jp
call ldir
в остальных местах вроде смотрел как можно не делать лишнего
типа для BIT смотрел где можно не сохранять A
в общем в репозитории можно посмотреть историю
там последние именно про это пример
было бы полезно чтоб кто-то свежим взглядом это пересмотрел
с DIFF это делать легко
----
как работает детектор z80 (z80opcodeDetector.rb)
идея такая
опкоды для комманд специфичных для z80 известны
0x08,0x10,0x18,0x20,0x28,0x30,0x38,
0xcb, 0xd9, 0xdd, 0xed, 0xfd,
ассемблируем наш исходник в LST файл
далее в каждой строчки LST находим опкоды
и выводим если первый байт есть в списке z80only
ваша критика метода ?
---------- Post added at 19:47 ---------- Previous post was at 19:38 ----------
-----------------------
и собственно, park_x2.rom из репозитория можно загрузить в эмулятор MSX и посмотреть что есть
правда сейчас там для отладки
переход на следующий уровень это ЛЮБОЙ выход с экрана
т.е. сейчас если ходить лево право будет переключение экранов
и можно их посмотреть/поиграть