Приставки > Картриджи / диски
[NES] Battletoads CoolBoy
<< < (8/13) > >>
kosmo:
После тестирования на приставке, не полностью конечно, косяков не выявлено, поэтому выкладываю два файла BIN. Один от megavolt85 с заменой двух игр (и только), а второй хак, переделанный под себя.
kosmo:
Понимаю, что с опозданием, но вдруг кому то пригодится.
JohnDoe_71Rus:

--- Цитата --- на этом джое можно одновременно нажать два противоположных направления
--- Конец цитаты ---

Это лечится? взял подобный джой на 9pin. Погонял в танчики, и как то он иногда "вертится не туда".
От чего это зависит? Пересадить плату в старый корпус без круглой крестовины?
kosmo:
Итак, всем здравия. Прошу достать с полки пыльный картридж Battletoads & Double Dragon AXROM 12 IN 1, над которым мы изрядно потрудились почти год назад. Пришло время доделать его по феншую. Теперь и меню красивое и игры запускаются без бубна. Да ещё и на выбор, кому английские версии, кому русские. В общем есть варианты. За это хочу выразить огромную благодарность KykyPyky. И я думаю, вы тоже ко мне присоединитесь.
KykyPyky:
Сейчас попробую объяснить в чем было дело.
Сразу после запуска PPU не принимает команды в течении примерно 30000 тактов процессора. Поэтому  среди первых команд есть два цикла которые ждут два кадровых гасящих импульса(vblank).
Например:

--- Код: ---  bit PPUSTATUS  ; clear the VBL flag if it was set at reset time
vwait1:
  bit PPUSTATUS
  bpl vwait1     ; at this point, about 27384 cycles have passed
vwait2:
  bit PPUSTATUS
  bpl vwait2     ; at this point, about 57165 cycles have passed

--- Конец кода ---
Причем, чтение PPUSTATUS сбрасывает бит наличия vblank.
Также PPU может генерировать немаскируемое(NMI) прерывание по vblank. По умолчанию это прерывание отключено.
У этих двух игр(Captain Skyhawk и Pro Am II ) в теле обработки прерывания читается(и соответственно сбрасывается) бит vblank.
Получается если с включенным прерыванием NMI запустить игру, то она никогда не выйдет из цикла ожидания двух vblank, потому что прерывание случается раньше и в нем сбрасывается бит который нужен для выхода из этих двух циклов.
Это и было исправлено. Меню не включает прерывание NMI, а для своего собственного функционирования оно не нужно.

Кстати, проблема запуска одноигровых кариков с этими играми будет также на приставках которые не сбрасывают PPU при нажатии на кнопку RESET. Сбрасывается только процессор, выполнение кода начинается с самого начала, входит в цикл ожидания vblank, а прерывание NMI не отключено.
kosmo:
Для тех, у кого имеется приставка PAL и хочет иметь изначально установленные игры Aladdin (E) [!] и Lion King, The (E) [!] выкладываю BIN и для них. Но эти я уже на железе не тестировал.

Добавлено позже:
Кстати, во всех ромах Battletoads есть переключение уровней по селекту. Для этого в меню перед СТАРТ нажать СЕЛЕКТ по количеству нужного уровня.
NStormX:
kosmo, KykyPyky, уж думал тема ушла давно в историю. И тут апдейт! Надо будет как нибудь как появится время достать из дальней полки тот картридж и перепрошить. К слову сказать с весны не касался его.
kosmo:
NStormX, Ну, я же не с проста написал "достать с полки пыльный картридж".  :lol: Теперь прошить его дело принципа. Что, зря что ли KykyPyky целый день думал? А мне дурная голова рукам покоя не даёт. Я сейчас со спрайтами этого меню балуюсь. Цвета подбираю, что по красивее. Вот, думаю, какое меню будет лучше, с красным заголовком и синими названиями игр? Или с красным заголовком и зелёными играми? Делема однако.

Добавлено позже:
NStormX, Кстати, проверь РОМ с английской версией. Я количество жизней в Battletoads и Battletoads & Double Dragon отредактировал по умолчанию, а адреса указал в текстовом файле.
NStormX:
kosmo, работа проделана поистине огромная. И кто только мог поучаствовали.
Сейчас завал по работе, но обязательно проверю как появится время и отпишусь.
kosmo:
Всем привет. Столкнулся с такой проблемой в этом картридже. В игре NARC после очередного уровня перед финальным боссом появляется экран (на фото) и игра всё! Причём это происходит как с русской версией, которую я переделал по образу и подобию оригинала английской. Так и оригиналом, который вшивал megavolt85. Подозреваю, что то не доделано, где то ошибочка? Самому мне её не выявить.
Напомню, из текста megavolt85 - 4) NARC и TIME LORD похаканы на работу из четвёртого банка в адресном пространстве AxROM.
dssoft:
Ну вы даете. Единственный разумный вариант - дойти до этого места в эмуляторе, сохранить состояние и потом искать где оно заблудилось. Иначе это гадание на кофейной гуще.
kosmo:
dssoft, Да, моя вина, забыл это указать. Что на эмуляторе то как раз всё нормально. И в той и другой версии. Правда пользовался я одним сохранением, сделанным при прохождении русской версии.
dssoft:
Грузить в эмулятор надо весь ром многоигровки, а не одну игру.
Я тут словил повисание демки After Dark, оказалось что она пишет в 5ххх, в область управляющих регистров, переключает их и умирает.
kosmo:

--- Цитата: megavolt85 от 15 Апрель 2019, 14:59:01 ---эмулятор понятия не имеет об этом маппере и может запустить только то, что находится в адресном пространстве стандартного AxROM, то есть до 40000'h

--- Конец цитаты ---
megavolt85:

--- Цитата: dssoft от 01 Февраль 2020, 12:33:26 ---Грузить в эмулятор надо весь ром многоигровки
--- Конец цитаты ---

ну попробуй загрузи  :lol:
dssoft:

--- Цитата: megavolt85 от 01 Февраль 2020, 12:45:57 ---ну попробуй загрузи  :lol:

--- Конец цитаты ---
Краем глаза глянул схему, номер страницы в D5-D7 вру, отдельный регистр выделен по адресу Dxxx. Если нет ни одного уже сделанного маппера с таким переключением то можно и запилить.
Но скорее всего хватит и бряка.
megavolt85:
dssoft, конечно хватит, бряк на запись $8000-$FFFF и ловить кто пытается записать меньше четвёрки
dssoft:

--- Цитата: megavolt85 от 01 Февраль 2020, 13:05:21 ---dssoft, конечно хватит, бряк на запись $8000-$FFFF и ловить кто пытается записать меньше четвёрки

--- Конец цитаты ---
D000-DFFF.
Вот что и не люблю такие приколы, не угадаешь где на грабли наступишь.
megavolt85:

--- Цитата: dssoft от 01 Февраль 2020, 13:10:47 ---D000-DFFF
--- Конец цитаты ---

смотри внимательней  ;)
$8000-$FFFF и $5000-$5FFF
dssoft:

--- Цитата: megavolt85 от 01 Февраль 2020, 13:28:57 ---смотри внимательней  ;)
$8000-$FFFF и $5000-$5FFF

--- Конец цитаты ---
А да, romsel же инвертированный. Ну тогда только 5ххх, 8000+ в норме раз на эмуляторе работает.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии