Слева-направо: Panda, Flexx, Nata, VBI, Slider, Kenotron, Rob F., MVV, TSL, брат mvv
Вот ещё видео "презентации".
Я естественно разволновался, сильно много эмоций. начал говорить не то, сейчас расшифрую основные тезисы
В поисках "чего бы ещё портировать нового" меня носило по очень разным местам, которые обьединяет одно - z80.
изучались как разные японские системы - от аркадных автоматов до персоналок типа РС800 и других шарпов, так и системы на базе 8080.
Всё это качалось как ROM, загружалось в спг и изучалось.
И вот я довольно внезапно обнаружил систему, которая может показать действительно мощь конфы.
Это Sega Master System.
Вкратце - система имеет 3 окна для паг, 8 кб RAМ, 16 кб видео-озу, которое изпользуется видео процессором - VDP, похожим на Texas Instruments TMS9918.
Имеется: поле 256*192, тайловый слой 8х8 с приоритетом (вывод поверх или под спрайтами), 64 цвета палитры. Имеем так же регистры сдвига окна отображения.
К этому всему добавляем 64 спрайта (не больше 8 в строке), размером 8х8 или 8х16 точек...
Похоже на тс-конф. При этом - система поменьше чем конф; но есть и свои особенности
Первая - это то, что процессору видеопамять не доступна. Нужно отправлять команду, потом данные
Второе - это организация графики: вся графика лежит в цветовых слоях. Выглядит это следующим образом: для 8ми точек нам нужно 4 байта, каждый байт - это составляющая цвета для этих восьми точек. собирая 4 байта один над другим, мы получаем набор вертикальных бит, и 4 таких бита - это точка 16ц на экране.
Я качаю игру, гружу в спг, начинаю проходить.
Результатом изучения системы становится патчер для диспетчера памяти, я выясняю место где можно будет хранить свой код - это область начиная с #e000, которая для этой сеги недоступна.
Дальнейшие раскопки как бинаря, так и интернета меня привели к эмулятору данной сеги с отличным дебаггером и просмотрщиками графики. дебаг мог сохранять свой асм в формате ассемблера WlaDX. Кроме того, обнаружился прилично комментированный дебаг игры! Но увы, автор комментирования не ответил на мыло.
Я списался с автором асма, за пол часа получил ответ от Ville из финляндии, он порадовался, и пообещал помочь - специально для меня скомпилил самую последнюю версию асма под мой вин7. я заюзал специфическую команду этого асма - background, которая после компиляции сравнивает предложенный бинарник со скомпиленным результатом и сообщает о изменениях.
работа пошла веселее - всё таки текст, а не байты для патча
![smile :)](./images/smilies/smile.gif)
Копаться там приходится прилично.
22 тыс. строк кода. Основные правки - в 16к паге 0, где лежат основные функции.
Ещё есть пага с плеером, куда я пока не заглядывал.
Конверсия графики из цветных планов, перестройка карты тайлов, вывод спрайтов - всё пока ещё довольно в начальной версии.
но, тем не менее - движок игры работает, он стабилен, отмеченные ранее падения устранены.
Прошла неделя от начала разбора бинаря.
Теперь начинается основная часть работы.