Исходный код эмулятора здесь: https://github.com/nzeemin/ms0515btl
Тема по МС-0515: http://zx-pk.ru/threads/15146-ms-0515.html
- - - Updated - - -
Релизы эмулятора тут: https://github.com/nzeemin/ms0515btl/releases
Исходный код эмулятора здесь: https://github.com/nzeemin/ms0515btl
Тема по МС-0515: http://zx-pk.ru/threads/15146-ms-0515.html
- - - Updated - - -
Релизы эмулятора тут: https://github.com/nzeemin/ms0515btl/releases
Последний раз редактировалось nzeemin; 04.10.2020 в 15:12.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
nzeemin, А Электронику 85 не хотите заэмулировать?
В Эл.85 игрушки тоже есть.
Например в Хhomer.
зачем "проще", когда можно с толком потратить время и чему-то по ходу пьесы научиться?
а поиграть можно и на ps4 :-)
Ну вот смотри. В начале 1990-х во Львове жил советский инженер, видимо причастный к созданию этой машинки, или активно её пользующийся. Он потратил месяца два-три своей жизни, а скорее всего и больше, на портирование минимум трёх игрушек плюс редактора Art Studio на эту машину. Плюс наверняка какие-то ещё инструменты для портирования написал. В общем это на самом деле тонна работы, довольно сложной и трудной. И я уважаю его за это.
И это определённо стоит того чтобы дать его творениям вторую жизнь в эмуляторе. Плюс меня тоже интересует портирование, и мне интересно поработать с результатом его работы. Не поиграть -- верно замечено что это и на Спектруме можно сделать -- а разобраться с тем что получилось, может и дальше портировать, если будут силы и желание.
Расскажу вам как внутри устроена игрушка "Stop the ITA Express", я тут просто хлопаю в ладошки.
Игровой экран имеет размер 32x24 тайла, тайлы 8x8 пикселей плюс атрибут. Т.е. экран 256x192 = экран Спектрума.
В памяти мы храним экран в виде индексов тайлов два раза, я их назвал "экран план" и "экран факт".
Если мы хотим что-то вывести на экран -- меняем всегда только экран план. Допустим хотим вывести строку -- просто копируем символы этой строки на экран план.
Регулярно выполняется процедура актуализации экрана. Она бежит по экрану план, для каждого тайла сравнивает есть ли различие с тайлом экран факт. Только если различие есть, то делаем изменение на экране, и обновляем номер тайла в экране факт.
Сами тайлы это 9 байт -- 8 байт на пиксели плюс один байт на атрубут, всего 256 тайлов.
Если обратите внимание, большинство строк на экране в горизонтальном направлении почти одинаковы. Поэтому даже когда выполняется вроде бы большое скроллирование (поезд уезжает), реально изменений на экране не так уж и много.
Так что, на мой взгляд, игрушка в техническом плане просто прекрасна.
- - - Updated - - -
В версии для Электроника МС-0515 есть отличие -- фактически не реализован демо-режим.
В демо-режиме должна идти бегущая строка, плюс человечек должен бегать сам.
UPD: Демо-режим реализован, это в эмуляторе неправильно отвечал порт клавиатуры.
Последний раз редактировалось nzeemin; 03.03.2017 в 20:42.
Игру переписывали или как-то бинарно транслировали?
Сложно сказать наверняка, но больше похоже что полуавтоматом транслировали, т.е. что-то среднее.
Код читается хорошо, при полной трансляции было бы наверное хуже.
А вообще посмотрите сами, тут в аттаче.
https://github.com/nzeemin/uknc-stop...nal/expres.lst
Последний раз редактировалось nzeemin; 03.03.2017 в 21:27. Причина: заменил аттач ссылкой
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)