Замок гоблинов (с другой музыкой) для УКНЦ
Перетащил (свой-же) замок гоблинов на УКНЦ. То-есть путешествия гоблинов привели назад к УКНЦшным истокам.
Ничего особенного - переделанный оригинал замка гоблинов. Ценен возможно тем что содержит музыку .pt3 для проигрывания на звуковухе версии Аберранта.
Стрелки - бегать, пробел - убрать мелкие кирпичи под человечком (есть предел убирания кирпичей - после штук пяти надо подождать пока восстановятся)
Enter - остановиться. Если при падении нажать enter или вверх - остановится на цепи (не пролетит через нее).
Кнопки держать не нужно (всё как в оригинале). Пока бежит скажем вправо и впереди лестница ведущая допустим вверх - достаточно нажать и отпустить вверх - добежит до лестницы и полезет вверх итд.
Стоп - выход в меню.
В стартовом меню выбрать уровень I нажать К1 - покажет win screen.
Из любопытного
1) Игра требует слежения за лучом экрана (в БК-0010 совсем нет памяти для фреймбуфера и, чтобы спрайты не мерцали, я их вывожу довольно просто - пока луч экрана находится вне игрового поля). Эта-же логика (из-за лени) была перетащена и в УКНЦ. Но поскольку здесь у нас эмуляторы не эмулируют реальный луч экрана кинескопного телевизора - пришлось добавить код определения запуска игры на эмуляторе. Использовал (спасибо Alex_K) известный баг процессора ВМ2 для определения запущена-ли игра на эмуляторе или на реальной УКНЦ. Правда не слишком уверен что баг сработает прямо вот на всех УКНЦ. Там в цикле 10. раз крутятся команды mov (PC), R0 / inc R1 / br .+2 / br .+2 / br .+2 (набор br как я понимаю нужен для сброса предвыборки) и проверяется R1=10. На реальном процессоре будет вовсе не 10.
2) Кое-что перетащить с БК довольно непросто. Несмотря на то что УКНЦ мощнее/больше памяти/аж джва процессора итд. Например в БК экран адресуется байтами по 4 пикселя. Тайлы в 12 пикселей шириной вы БК выводятся тремя movb. А теперь (та-да) - и как в УКНЦ выводить тайлы 12 пикселей шириной? Тут у нас "квант" вывода графония это слово в 8 пикселей. Можно теоритезировать что "ну выведи два слова не полностью" и тд - но поверьте - как только до практики портирования доходит - сразу вылезают подводные камни. В итоге сделал экран шириной 640 и вывожу три слова по 8 пикселей (спрайты/тайлы в игре УКНЦ шириной в 24 пикселя кстати как в оригинале гоблинов, просто они выглядят будто в низком разрешении)
.sav-ка: https://github.com/blairecas/goblin2...2.sav?raw=true
.dsk с автозапуском: https://github.com/blairecas/goblin2...2.dsk?raw=true
https://github.com/blairecas/goblin2...1.png?raw=true
https://github.com/blairecas/goblin2...2.png?raw=true