User Tag List

Показано с 1 по 10 из 104

Тема: Портирование Lode Runner БК->УКНЦ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    2,051
    Спасибо Благодарностей отдано 
    1,142
    Спасибо Благодарностей получено 
    1,472
    Поблагодарили
    524 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для меня это первый хоть сколько-нибудь серьёзный проект на УКНЦ. Было интересно попробовать что-нибудь написать. Да, есть эмулятор БК на УКНЦ но это же совсем другое.

    Цвета, звук -- это потом уже всё. Сначала надо доделать до состояния чтобы минимально играть можно было. По идее, для этого мне нужно с управлением разобраться -- на уровне как правильно получать данные из порта, а сама логика по идее уже должна работать.

    Способ портирования был такой.
    В своём эмуляторе БК я сделал трассировку выполняемых команд -- дизасм на одну строчку выдаётся в файл. Плюс включение/выключение трассировки из отладочной консоли. Делаю прогон участка который меня интересует с записью трассы, потом сворачиваю трассу (sort & uniq) -- получаю фрагменты логики. Добавляю к этому комментарии, получаю постепенно общий файл. На это ушло недели полторы-две по вечерам.
    Когда полученный объём стал достаточно большим (40+ КБ текста, больше 1500 строк) и я разобрался хотя бы в общих чертах что к чему, как хранится и выводится -- стал думать как это перевести на УКНЦ.
    Начал писать примеры на УКНЦ и несколько приуныл -- потому что цикл "скомпилил -- слинковал -- запустил" получается довольно медленный.
    Кросс-ассемблер MACRO11 есть, хоть он и несколько глючный. А вот линкера нет.
    Но к счастью не так давно Patron выложил консольную RT-11: http://zx-pk.ru/showthread.php?t=24755 Это я считаю настоящий прорыв, резко ускоряет работу. С ним самое медленное место теперь -- это запуск в эмуляторе.
    После этого дело пошло, сделал отрисовку рамки игрового поля, отрисовку спрайтов, разобрался как биты в спрайтах нужно перемешать, затем блоками стал переносить код из общего файла с дизасмом в новые исходники. Взял дамп памяти с БК, выделил блок где лежат уровни, утилитой DUMP сделал текстовик под уровни.
    Сначала перенёс блок кода который выводит уровень, на этом отладил вывод спрайтов. Потом игровую логику стал переносить. Т.е. в целом перенос практически один-к-одному, за исключением мест где вывод на экран идёт. Поэтому есть места в логике которые я не понимаю как работают (тот же AI чёртиков), но это и не важно -- главное что работают.

    Я уже выкладывал серию скриншотов которые делал при работе:

    Эти 3 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:

    hobot(01.03.2020), Oleg N. Cher(02.03.2020), vivat(06.06.2021)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Lode Runner
    от rg_software в разделе Игры
    Ответов: 113
    Последнее: 18.12.2024, 00:32
  2. УКНЦ 3D
    от nzeemin в разделе ДВК, УКНЦ
    Ответов: 29
    Последнее: 15.01.2021, 17:07
  3. Lode Runner - Enter the code
    от ZXMAK в разделе Игры
    Ответов: 3
    Последнее: 25.12.2019, 20:41
  4. Ответов: 10
    Последнее: 29.03.2012, 12:03
  5. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •