Приставки > 1-3 поколения
CNROM (mapper 3) картридж под Ghostbasters
(1/1)
ruslansh:
Привет, собрал картридж - залил туда Охотников за приведениями, прошил - но вот что то игра ни как не хочет стартовать. Кто собирал по этой схеме карики? В чем мне искать причину глюка?

evgeny:
Нужно проверить другие игры сначала. Некоторые игры содержат код или данные в банках графики и если неверно переключаются эти банки, то игра может не запуститься. Проверив игру, где в банках графики нет ничего кроме самой графики - можно визуально понять какие страницы графики не на своем месте.
ruslansh:
Если я ром прошитый в пзу слил, затем обратно переделал в нес и запустил. Такая проверка пойдет?

п.с. каким образом можно понять визуально?
evgeny:
Я говорю о том, чтобы другие игры проверить, которые запускаются независимо от того какая там графика. И по графическим багам можно понять если банк графики не на месте.
ruslansh:
Понял суть, спасибо. Случаем не знаешь какую нибудь игру - где в кхр чисто графика? А то так запарюсь перебирать.
Добавлено позже:
ни че не могу понять, нашел игруху которой пофиг на то что в кхр лежит, собрал образ проверил с левым кхр, запустилась - на карике ни в какую, хз куда копать.
evgeny:
Hudson's Adventure Island должна запускаться при любой графике по идее.
Возможно вместо 32 килобойт PRG используется 16, надо проверить на NROM играх разного размера.
ruslansh:
Может быть косяк то что у меня пзу 128кб?, хотя ему какая разница, ведь адресная шина не может более 32кб адресовать. Если что - игру и просто 32 заливал на флешку, и увеличивал до 128 - результата нет.
Добавлено позже:

--- Цитата: evgeny от 23 Май 2013, 14:46:55 ---Hudson's Adventure Island должна запускаться при любой графике по идее.
Возможно вместо 32 килобойт PRG используется 16, надо проверить на NROM играх разного размера.

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

эту игру и пробую.
evgeny:
Так ведь фиксирован последний банк (16k) обычно в играх со 128к. А это значит что нужно первые 16 кб рома надо дублировать, а вторые 16 кб в последний банк ставить.
ruslansh:
Спасибо, все заработало! - можешь объяснить каким образом игра рассчитанная на 32 кб. добирается до последнего банка?
goodbye:
это дендик добирается.
так сделано видимо, что читается с конца как то... и поэтому каким бы большим не был чип с игрой, всё равно будет читать с конца.. про это постоянно пишут, обсуждая проблемы создания картриджей дома.
HardWareMan:
Особенность старта 6502 в том, что в последних 6ти байтах находятся вектора прерываний и сброса. Чтобы старт был осмысленным, эти вектора должны содержать адреса реальных точек входа в программу. Именно поэтому, в картриджах последний банк всегда указывает на одно и то же место в ПЗУ, чтобы при включении программа стартовала правильно. Проблема этого в том, что на гнезде Дендика нет сигнала сброса (в отличии гнезда Сеги) и установить маппер в определенное состояние без программной инициализации невозможно. Для запуска игр с 16ти килобайтным банком на 32х килобайтных банках обеспечивается имитированием 16ти килобайтных. А именно, каждый 16ти килобайтный банк увеличивается до 32 килобайтного и во вторые 16 килобайт банка копируется один и тот же кусок ПЗУ: последние 16 килобайт. Размер ПЗУ увеличивается при этом в 2 раза.
Навигация
Главная страница сообщений

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