Автор Тема: Castlequest/Castle Excellent  (Прочитано 11671 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #60 : 11 Декабрь 2020, 02:33:08 »
(Ссылка на вложение)

Второй твой вариант конечно смотрится лучше с правыми засечками букв И и Н, но они не умещаются в 1 тайл 7х8 требуется 8х8. Прийдётся каждую последующую букву смещать на 1рх и вместо 9 тайлов уже 12 понадобиться под надпись, и полностью исключает возможность использования данной стилистики где либо ещё в игре. Я же всячески пытался уложиться в рамки 7х8 дабы в свободные 44 тайла одного банка 1кб попробовать написать нечто подобное данной стилистики весь алфавит под Ж и тому подобные используя по 2 тайла. Вобщем попытаюсь ещё немного поделать потом буквы укладываясь в тайл, пусть и слегка несоответствуя стилю местами, еже ли так и дальше будет плохо получаться, тогда откажусь от него в дальнейшем и использую твой вариант И, Н и К.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #61 : 18 Декабрь 2020, 17:55:11 »
Castle Excellent (J)
Оригинальный ром взятый за основу для модификаций.
Маппер 003 CNROM
32кб PRG-ROM

32кб CHR-ROM
Переключение банков:
8кб х4

Castle Excellent (mmc3)
Переделанный ром под запуск игры на маппере MMC3, код игры не изменён.
Маппер 004 MMC3
32кб PRG-ROM
Переключение банков:
(8кб х 2)+16кб(фиксированный в окончании рома)

32кб CHR-ROM
Переключение банков:
8кб х4

Решил выложить пробный вариант того чем занят, возможности на данный момент в Hack.txt

Наконец то закончил с возможностью отключения музыки в игре без багов. Во всяком случае все баги которые смог найти, что появились по причине отключения музыки исправил. Теперь можно играть ^^под что-нибудь своё^^, музыка отключается как полностью, так и частично, оставляя лишь 2 мелодии что звучат на время действия акваланга и бессмертия.

Что касается алфавита всячески старался уложиться в рамки тайла 7х8 если есть предложения сделать буквы красивее не выходя за рамки тайла с радостью добавлю ваш вариант если ваш вариант будет больше подходить к общему стилю и вполне читаемо смотреться.
« Последнее редактирование: 22 Декабрь 2020, 19:07:27 от Миха42 »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4604
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #62 : 18 Декабрь 2020, 18:54:06 »
Миха42, добавляйте все 3 три рома и описание в один архив 7z, для удобства и меньшего размер (37.2 КБ - все 3). Сами ромы тоже должны иметь правильное название. v1.0.0 - не понятно что значит, нужно дописать что это хак и т. п.
если есть предложения сделать буквы красивее
Этот шрифт для надписей, для большого количества текста, как у вас в настройках, выглядит так себе. Я бы выбрал обычный читаемый шрифт, можно сделать для главного экрана такой, а для настроек простой.

На счёт MMC3. Mirroring нужно ставить явно, с Horizontal точно. При запуске гарантировано будет стоять только последний банк, то есть Reset handler должен быть в пределах $E000-FFFF (в хаке нормально, а вот к "Castle Excellent (mmc3)" стоило это упомянуть). Также нужно отключать MMC3 IRQ (записать что угодно в $E000). Хотя в большинстве эмуляторов данные ромы будут нормально работать, про железо такого сказать не могу.

В вашем хаке не все значения памяти инициализируются правильно, если включить в эмуляторе случайные значения RAM, то иногда при нажатии start в игре, то код неверный стал выполняться (недокументированные инструкции), то какое-то меню с RESET вылезло.
UPD: Меню, которое появляется само собой иногда, это:
Цитата
* Режим Sub-command.
Во время игрового действия нажмите А или В на контроллере 2, чтобы вызвать экран Sub-command.
« Последнее редактирование: 18 Декабрь 2020, 19:08:32 от Sharpnull »

Оффлайн Kinbeas

  • Пользователь
  • Сообщений: 2895
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #63 : 18 Декабрь 2020, 19:13:06 »
Шрифт хорош. Не менять. )

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #64 : 18 Декабрь 2020, 19:42:49 »
Миха42, добавляйте все 3 три рома и описание в один архив 7z, для удобства и меньшего размер (37.2 КБ - все 3). Сами ромы тоже должны иметь правильное название. v1.0.0 - не понятно что значит, нужно дописать что это хак и т. п.Этот шрифт для надписей, для большого количества текста, как у вас в настройках, выглядит так себе. Я бы выбрал обычный читаемый шрифт, можно сделать для главного экрана такой, а для настроек простой.

На счёт MMC3. Mirroring нужно ставить явно, с Horizontal точно. При запуске гарантировано будет стоять только последний банк, то есть Reset handler должен быть в пределах $E000-FFFF (в хаке нормально, а вот к "Castle Excellent (mmc3)" стоило это упомянуть). Также нужно отключать MMC3 IRQ (записать что угодно в $E000). Хотя в большинстве эмуляторов данные ромы будут нормально работать, про железо такого сказать не могу.

В вашем хаке не все значения памяти инициализируются правильно, если включить в эмуляторе случайные значения RAM, то иногда при нажатии start в игре, то код неверный стал выполняться (недокументированные инструкции), то какое-то меню с RESET вылезло.

По части всех трёх файлов в дальнейшем планируют работать лишь над одним хаком v1.0.0 обновляя лишь версию хака.

В дальнейшем обязательно установлю [h] учту ваше замечание.

Что касается текста хотелось уйти от использования однотипного текста что во всех играх, ну что ж если столь плохо, подумаю над тем чтоб сменить его если и дальше будут замечания на его счёт.

В варианте mmc3 не планировалось дальнейшее расширение рома, в виду особенностей расположения подпрограмм оригинального кода игры, по тому и оставил всё без изменений, изменив лишь особенность смены CHR-ROM с одного мапера на другой.

Касательно IRQ, ссылается сразу на его закрытие и вреда особо не должен нанести, в дальнейшем так же учту замечание, Пользоваться IRQ прерываниями в планах нету.

Что касается зеркалирования, согласно инструкций ММС3 умеет их переключать по ходу игры. Или есть опасения что может на железе произвольно запустить другое зеркалирование?

Если так же имеются опасения что произвольно могут включиться на железе произвольные настройки мапера относительно расположения банков и их зеркалирования при старте, то прошу подсказать все возможные проблемы при старте мапера, по скольку возможности запуска на железе нету для тестирования, хоть и имеется старенький клавишный СЮБОР. Тестирую на эмуляторе FCEUX.

В хаке Reset ссылается на E000, а NMI на C000 банки, располагал указатели и код относительно свободного места что появляется по мере переноса кода в другие банки. Как освободится побольше места в банке E000 постараюсь и NMI на всякий случай туда перенести.

По части случайных значений RAM и как их искать и самопроизвольного меню RESET если можно по подробнее, очень интересует данная информация. Поскольку хакингу ещё только учусь, любая информация от опытных будет полезна.

Добавлено позже:
Режим Sub-command.
Во время игрового действия нажмите А или В на контроллере 2, чтобы вызвать экран Sub-command.

Данное меню блин даже при прежнем перебирании рома не нашол, хотя особо и не искал где оно прячется.
Меню было создано компанией в Японии для своего устройства расширения к приставке с целью сохранения игрового процесса и данная игра как раз была предназначена для него, для того и имеется данное меню с возможностью сохранить игровой процесс, загрузить сохранение, откатить процесс игры на 1 локацию назад, либо вернуть текущую локацию в исходное состояние на момент входа в неё. Две последних особенности в игре я нашол в коде и не планирую их менять, а наоборот надеюсь когда либо реализовать в открытую без всяких команд для вызова меню.
У меня имеется данная игра на картридже дома и там это меню отлично работает.
Но в коде как я и сказал, я это меню пока не нашол, но это лишь вопрос времени.

Так же можете наткнуться на скрытое меню настроек, которое я пока не реализовал до конца, находится на стадии линка в никуда. Сделал его открывание путём чит кода, но не стал о нём говорить по причине недароботки, даже для простого нажатия на линк подпрограммы не существующей.
« Последнее редактирование: 18 Декабрь 2020, 19:58:37 от Миха42 »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4604
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #65 : 18 Декабрь 2020, 22:13:31 »
Что касается зеркалирования, согласно инструкций ММС3 умеет их переключать по ходу игры. Или есть опасения что может на железе произвольно запустить другое зеркалирование?
Есть ромы, в которых установлен Horizontal в заголовке, но эмуляторы (Mesen, есть ещё) устанавливают всё равно по умолчанию Vertical для MMC3, поэтому нужно явно указывать. Это в пиратках было. В коммерческих игр вероятно все указывают.
Касательно IRQ, ссылается сразу на его закрытие и вреда особо не должен нанести
Да, вроде не должно. Но в инициализации на nesdev советуют все прерывания отключать.
По части случайных значений RAM
Про это уже ответил в ЛС. Просто значения в RAM на железе могут быть любыми. Некоторые игры это специально учитывают для вычисления случайных значений (Final Fantasy, River City Ransom, Apple Town Story, Impossible Mission II): http://wiki.nesdev.com/w/index.php/Tricky-to-emulate_games. Про начальное состояние: http://wiki.nesdev.com/w/index.php/CPU_power_up_state, там всё равно написано, что на состояние регистров и RAM рассчитывать нельзя.
На железе я сам никогда не проверял, видел на nesdev обсуждения, и опыта у меня мало.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #66 : 19 Декабрь 2020, 01:50:31 »
Есть ромы, в которых установлен Horizontal в заголовке, но эмуляторы (Mesen, есть ещё) устанавливают всё равно по умолчанию Vertical для MMC3, поэтому нужно явно указывать. Это в пиратках было. В коммерческих игр вероятно все указывают.Да, вроде не должно. Но в инициализации на nesdev советуют все прерывания отключать.

Просто загоню биты по адресам E000 и А000 в функции первого включения и всё, а в заголовке уж точно зеркалирование указывать не буду, на то он и ммс3 чтоб менять по ходу игры )

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #67 : 19 Декабрь 2020, 21:06:57 »
Выкладываю обновлённый архив, сделал при запуске рома установку всех флагов мапера по умолчанию 0 как и должно быть взяв в учёт все замечания выше сказанные, лагов при старте с рандомом мапера в Mesen теперь не стало.

Что же касается лага с Sub command меню, то увы оригинал есть оригинал, разрабы постарались наделать лагов, в данной версии это даже искать н буду пусть остаётся оригиналом игры, да и свободной памяти в роме осталось всего 6 байт, что были несколько десятков байт свободных изначально пришлось потратить на изменение кода переключения CHR-ROM под мапер ммс3 и на установку настроек мапера при старте игры.

Если завтра время будет, то перепишу код первого старта в хаке.

P.S. нашол причину срабатывания SUB COMMAND меню, в мапере ммс3 почему-то функция F9AD срабатывает раньше чем в cn-rom, в результате байты RAM 07C7 и 07CC успевают обнулиться, а 0776 и 0778 нет, обнуляются лишь после первого чтения, что при рандомных значениях RAM иногда приводит к выводу меню. В то время как cn-rom успевает данные байты обнулить раньше их чтения, сколько бы при этом не старался перезапускать игру.
 С чем связана задержка обработки кода не ясно, но для преждевременного обнуления этих байт при старте игры увы уже нет места в версии (ммс3)
o_0

Вроде все замечания исправил в v1.0.1, обнулил и байты отвечающие за вызов Sub command меню.
« Последнее редактирование: 20 Декабрь 2020, 11:24:18 от Миха42 »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #68 : 22 Декабрь 2020, 19:16:04 »
Доделал возможность переключения выбора игры.
Сделал возможность переключать сложность игры (пока влияет только на количество жизней при старте игры).
Теперь можно добавить или убавить количество жизней при старте игры, (минимальное количество жизней и максимальное ограничены установленными значениями мин. и макс. для соответствующей выбранной сложности в таблице банка игры).

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #69 : 06 Январь 2021, 18:33:40 »
v1.2.0 изменено:
Убран демо просмотр
Добавлена верия игры: Летун хак Миха (Увеличенное время прыжка с медленным опусканием и бесконечные ключи)
Исправил баг при выборе игры
Исправил баг при взятии бабочки с принцессой при частичном включении музыки в игре

Теперь в самой игре можно выбирать версию игры: оригинальную или же хак с увеличенным временем прыжка для длительного полёта, по окончанию прыжка персонаж опускается медленно, и при взятии ключей они больше не кончаются при открывании дверей.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #70 : 07 Январь 2021, 16:16:36 »
Картинка из того что будет в следующей версии.  :)
Сложность будет влиять не только на количество жизней при старте игры как в прежних версиях, но и на количество врагов и расстановку предметов в локациях.

Оффлайн SavitarSvit

  • Пользователь
  • Сообщений: 1126
  • Пол: Мужской
  • Хирург личности
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #71 : 09 Январь 2021, 14:56:24 »
Изначально игра The Castle выходила на Mark3 и MSX и имела совсем другие комнаты. Порт на фамиком, как по мне, получился неудачный. Сильно отошел от оригинальной игры и во многом стал более непонятной игрой в плане прохождения. Было бы здорово если бы ты перенес все оригинальные комнаты с Mark3.

В оригинальном The Castle были бесконечные продолжения при нажатии сочетаний кнопок на game over экране. В famicom версии вместо этого добавили функцию сохранения через спец приблуду.  Если хак на ММС3, можно прикрутить к нему стандартную функцию сохранения к имеющемуся уже меню в игре.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #72 : 09 Январь 2021, 17:19:16 »
Изначально игра The Castle выходила на Mark3 и MSX и имела совсем другие комнаты.
На Mark3 не в курсе, а вот про MSX я в курсе, самая первая версия была выпущена именно на нём The Castle, игра имела весьма простые лабиринты и головоломки, и не сильно шикарную графику для тех лет, но зацепила людей она именно своей идеей требования запоминать карту игры и логически думать как её пройти. И стали просить выпустить продолжение игры, после чего вышло продолжение The Castle Excellent  на той же MSX, уже с более усложнёнными лабиринтами и головоломками. Игра по прежнему получила успех в своей стране, но по скольку выпускалась игра на платформе пк который не получил широкого распространения за рубежом, тогда и выпустили уже The Castle Excellent (J) и The Castlequest (U) для большей аудитории на распространённой на тот момент NES, где по прежнему решили сделать игру столь же сложной, чтоб заставить над игрой по размышлять и потреннировать память, сделав игру похожей на игру The Castle Excellent на MSX но для большего развлечения дав возможность убивать мечом некоторых врагов как соответствует рыцарю спасающему свою возлюбленную, а не просто бегать убегая от всех и вся.

Добавлено позже:
Было бы здорово если бы ты перенес все оригинальные комнаты с Mark3.

Комнаты перенести будет проще, к этому постепенно и двигаюсь чтоб можно было менять расстановку предметов для начала, изменять сами комнаты. Но уже с предметами сейчас начинаю сталкиваться с проблемой работы с массивом информации, который уже сейчас более 4кб после его доработки под возможность устанавливать предметы для каждой сложности отдельно. Это свихнуться можно в ручную изменять массив в роме с целью переделки расстановки предметов. Уже сейчас требуется что-то думать над возможностью более удобного редактирования предметов, делать какой-нибудь редактор, а в первую очередь делать возможность тестировать комнаты уже в самой игре сразу выбирая комнату где появиться для тестирования.
Что же касается самой карты до неё ещё не дошли руки, к тому же переделка размеров комнаты из 20х20 nes под 15х20 мсх требует найти буквально всё что касается границ комнаты.
А сделать новых персонажей с новым ИИ как в МСХ это вообще необходимо изучить игру на 100%, по скольку ИИ персонажей различается.

Вобщем до полного воссоздания возможности совмещения игры с разных платформ и с разными ИИ ещё очень далеко и будет это ещё очень не скоро.

Добавлено позже:
Если хак на ММС3, можно прикрутить к нему стандартную функцию сохранения к имеющемуся уже меню в игре.

Об этом я уже думал, имеющееся меню планирую убрать полностью, и сделать другое через вызов с кнопки select на месте карты первого джойстика, а саму карту уже сделать в этом меню. И уже когда будет данное меню тогда и начинать работать над возможностью сохранений игры в RAM картриджа. Что в полне реально. Но тестировать работу сохранений на реальных картриджах увы не смогу за не имением таковых.

Что касается бесконечных продолжений, так об этом и речи быть не может! Это же не терминатор, сколько дали жизней, столько есть, в настройках всегда можно подкрутить теперь количество жизней, но опять же в меру, и для каждой сложности в каждом моде можно задавать свою таблицу макс. и мин. количества жизней. Если умер, значит умер, начинай с начала.
Саму игру делаю под принцип движка, где есть банк в котором можно самостоятельно крутить в настройках таблиц всё что вздумается на свой лад.
Вплоть до прикручивания нового банка в роме с собственными настройками и добавлением своих тайлов с указанием номеров своих банков тайлов в этих же настройках. В результате получив очередной мод в списке выбора игры в настройках игры.
 Возможности постоянно указываю в файле Hack.txt к каждой версии игры.
« Последнее редактирование: 09 Январь 2021, 17:54:44 от Миха42 »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #73 : 14 Январь 2021, 08:21:02 »
Поехал в командировку, заниматься игрой ближайшее время времени больше не будет. Многое ещё хотел доработать прежде чем выкладывать данную версию, с целью показать все возможности что можно изменять на 1.3.0 версии игры, но времени на всё это увы не хватило, по этому выкладываю данную версию как есть.
Если будет когда появляться время, буду понемножку заниматься игрой и выкладывать обновления, по мере возможности.

Версия 1.3.0
При окончании игры на финальной картинке игра теперь больше не останавливается, после окончания финишной музыки можно нажать START, A или B чтоб выйти на титульную картинку и начать играть снова с новыми настройками, или же просто полюбоваться на рекордно набранные очки при начале новой игры. )
Доработал выбор сложности игры, теперь влияет не только на количество жизней при старте игры, но и на расстановку предметов и количество врагов, благодаря чему можно изменять теперь схему прохождения карты игры, но пока сделал только самый наипростейший вариант показать возможности. Реализовал возможность для каждой сложности делать разные финальные картинки, но переделать под каждую сложность концовки и изменить титульную картинку для второй версии игры увы не успел. (Переработав массив предметов под все возможности не успел проверить корректность расстановки предметов оригинальной сложности игры, возможно что предметы будут где-то смещены по горизонтали, необходимо проверять относительно оригинальной карты игры, если такие проблемы найдёте, сообщайте, при первой возможности постараюсь исправить)
Добавлена сложность в обе версии: Проще некуда (делал для показа возможностей)

При желании любой желающий может сделать свою расстановку предметов в локациях.
В массиве предметов игры: FF указывает на окончание информации для данной локации, после FF начинается инофрмация для следующей локации, всего локаций hex 64(100)
1ый байт - ID предмета
2ой байт - положение предмета по горизонтали
3ий байт - положение предмета по вертикали
4ый байт - указывает в каких сложностях используется данный предмет (уровень сложности по возростанию от младьшего бита к старшему, 1 - используется в указанной сложности 0 - не используется в указанной сложности)

биты сложности:
d7 - нечеловечно
d6 - очень сложно
d5 - сложно
d4 - терпимо
d3 - нормально
d2 - легко
d1 - очень легко
d0 - проще некуда

ID предметов:
0E,0F бабочка
10 принцесса
11 акваланг
12,13,14,15 кот
16,17,18,19 гремлин
1A,1B,1C,1D цветок
1E,1F,20,21 рыцарь
22,23,24,25 маг
26,27,28,29 огонёк
2A кувшин
2B кирпич
2C сейф
2D бочка
2E куб со стрелками
2F свечка
30 синий ключ
31 красный ключ
32 розовый ключ
33 зелёный ключ
34 голубой ключ
35 жёлтый ключ
36 карта
37 жизнь
38 крест 200очей
39 шлем 400очей
3A мешок 800очей
3B бутыль 1000очей
3C бессмертие
41 бессмертие
42 зародышь рандомный

« Последнее редактирование: 14 Январь 2021, 08:31:05 от Миха42 »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #74 : 05 Апрель 2021, 09:13:39 »
Находясь в командировке всё же нашол немного времени заняться игрой, нашол небольшой баг в игре, выкладываю новый файл с исправлением.

Особенности модификации v1.4.0:
Увеличел CHR-ROM до 64кб
Игра полностью на русском языке
Исправлен баг с музыкой на титульном экране
Добавлена финальная картинка для сложности Проще некуда
Изменена оригинальная финальная картинка
Работа над тайлами
236015-0

Добавлено позже:
Хотелось бы услышать мнения по части переделанной финальной картинки, если слишком пестрит, то буду переделывать.  :)
* Castle Excellent [h] by Miha v.1.4.2.zip (40.46 КБ - загружено 107 раз.)
« Последнее редактирование: 08 Апрель 2021, 17:55:02 от Миха42 »

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 60
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #75 : 05 Апрель 2021, 14:20:48 »
Хотелось бы услышать мнения по части переделанной финальной картинк
Лучше оставить как было, текст должен свободно читаться.

да и свободной памяти в роме осталось всего 6 байт
Кстати, рекомендую утилитку NES Space Checker (можно скачать со странички разработчика), которая покажет весь ROM как на ладони. И PRG и CHR банки. У вас там после миграции на mmc3 осталось гораздо больше свободного места. Около 24 килобайт размазано по разным банкам.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #76 : 05 Апрель 2021, 14:56:53 »
Кстати, рекомендую утилитку NES Space Checker (можно скачать со странички разработчика), которая покажет весь ROM как на ладони. И PRG и CHR банки. У вас там после миграции на mmc3 осталось гораздо больше свободного места. Около 24 килобайт размазано по разным банкам.
Слово миграция я бы сказал не совсем верно.

Весь код который начинаю редактировать я раскидываю по разным банкам с целью свободного его редактирования. Большую часть кода ещё неоднократно буду редактировать и не хочу сталкиваться с проблемой тесно расположенного кода для вставки/редактирования дополнительного кода. Код который в дальнейшем редактировать больше не планирую, по причине уже добавленного всего что можно было добавить, я переношу в концы банков или их начала по назначению самих банков сразу уплотняя.
К тому же такие prg банки как оригинальная версия игры, мод версия, сетка локации, музыка, будут всегда являться частично пустыми в виду расположения в этих банках конкретной информации в соответствии с назначением банка.

Что же касается CHR то тут и так уже все банки плотно задействованы кроме одного на 1кб. Мне сейчас требуется 2кб для изменения титульной заставки для мод версии игры. Потому и прибег к расширению CHR-ROM.

Далее планирую расширить prg ещё раз с целью выделения отдельного банка под мод версию для разделения массива предметов игры для каждой версии отдельно. На данный момент мод версия заимствует массив предметов из оригинальной версии.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 1915
  • Пол: Мужской
  • большой и толстый треногий динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #77 : 05 Апрель 2021, 15:11:16 »
Хотелось бы услышать мнения по части переделанной финальной картинки, если слишком пестрит, то буду переделывать. 
Чересчур пестрит, причем все проблема именно в шрифте. Я не буду снобизмом заниматься и говорить, что он вообще целиком и полностью неправильно построен с точки зрения шрифта, но читаемость у него на нуле. Плюс линии толщиной в один пиксель... Представь, как классно это будет читаться на реальном железе? Еще рекомендую нормально развернуть восклицательный знак и переверстать блок сбоку.

Я попробую показать пример, как лучше, учитывая ограничения, но потребует немного времени

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 60
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #78 : 05 Апрель 2021, 15:15:16 »
Слово миграция я бы сказал не совсем верно.

Почему же неверно? Миграция = переселение. Код переселился из одного маппера в другой. Ну да ладно.

Что касается нехватки места в CHR, то CNROM (исходный маппер) теоретически позволяет использовать до 256 банков (по 8к) CHR графики.
Насчет остального, для моих подходов слишком сложно. Я бы дизассемблировал код, по возможности оптимизировал, попробовав выиграть свободного места под свои нужды, и постарался не менять маппер вообще. В вашем хаке не используется ни одна полезная фишка mmc3, и в эпоху NES за такое нецелевое использование железа наверняка бы осудили, потому что железо стоило дорого, и планировалось под каждую игру. Хорошо, что сейчас с этим делом проблем нет.
А конечную заставку вернуть к оригиналу однозначно. То что сейчас, не поддаётся никакому разбору, никакому пониманию. Если не получается отформатировать текст с текущим расположением персонажа, можно попробовать передвинуть его на 2 или 4 тайла левее, тогда форматировать более длинные русские слова будет попроще.


HayaoYokogawa, проблема не столько в шрифте, сколько в совершенно ненужной декоративной "обводке" текста, и в нарушенном форматировании текста. Я бы сначала исправил именно это, а потом уже смотрел на шрифт.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 1915
  • Пол: Мужской
  • большой и толстый треногий динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #79 : 05 Апрель 2021, 15:20:14 »
Почему же неверно? Миграция = переселение. Код переселился из одного маппера в другой. Ну да ладно.

Что касается нехватки места в CHR, то CNROM (исходный маппер) теоретически позволяет использовать до 256 банков (по 8к) CHR графики.
Насчет остального, для моих подходов слишком сложно. Я бы дизассемблировал код, по возможности оптимизировал, попробовав выиграть свободного места под свои нужды, и постарался не менять маппер вообще. В вашем хаке не используется ни одна полезная фишка mmc3, и в эпоху NES за такое нецелевое использование железа наверняка бы осудили, потому что железо стоило дорого, и планировалось под каждую игру. Хорошо, что сейчас с этим делом проблем нет.
А конечную заставку вернуть к оригиналу однозначно. То что сейчас, не поддаётся никакому разбору, никакому пониманию. Если не получается отформатировать текст с текущим расположением персонажа, можно попробовать передвинуть его на 2 или 4 тайла левее, тогда форматировать более длинные русские слова будет попроще.


HayaoYokogawa, проблема не столько в шрифте, сколько в совершенно ненужной декоративной "обводке" текста, и в нарушенном форматировании текста. Я бы сначала исправил именно это, а потом уже смотрел на шрифт.

И в шрифте, и в компоновке. Я накидываю щас вариант примерный

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #80 : 05 Апрель 2021, 15:33:58 »
Что касается нехватки места в CHR, то CNROM (исходный маппер) теоретически позволяет использовать до 256 банков (по 8к) CHR графики.
Насчет остального, для моих подходов слишком сложно. Я бы дизассемблировал код, по возможности оптимизировал, попробовав выиграть свободного места под свои нужды, и постарался не менять маппер вообще. В вашем хаке не используется ни одна полезная фишка mmc3, и в эпоху NES за такое нецелевое использование железа наверняка бы осудили, потому что железо стоило дорого, и планировалось под каждую игру. Хорошо, что сейчас с этим делом проблем нет.
А конечную заставку вернуть к оригиналу однозначно.
Что касаемо и CHR и PRG то тут я полностью не согласен с вами, мною добавлено довольно не мало кода в PRG банки, в CNROM там и без того всё плотно забито было, добавление кода в имеющиеся 32кб были невозможны. По части же CHR я согласен, в CNROM во первых использовалось лишь чуть больше половины памяти из 32кб (4х8кб), и всё что я добавил здесь в тайлах на CNROM тоже можно было бы добавить, но потребовалось бы больше места, по причине отсутствия возможности деления подключаемого CHR банка. В ММС3 же я манипулирую банками размером в 1кб, что даёт возможность более правильно распределить тайлы по банкам с целью подбора необходимых банков с необходимыми тайлами для каждой отдельной ситуации.
Так что ваше замечание считаю вполне не уместным  относительно надобности перехода на ММС3, его возможности используются в полную силу относительно надобности. Единственное остались неудел счётчики прерываний и использование SRAM, но что касается SRAM это всё лишь вопрос времени, на его счёты у меня имеются в дальнейшем планы.

Что же касается финальной картинки и шрифта, возьму к сведению ваши замечания.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 1915
  • Пол: Мужской
  • большой и толстый треногий динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #81 : 05 Апрель 2021, 15:41:36 »
Прям супер точно по пикселям пардон -  времени до конца рабочего дня 20 минут, но вот пример компоновки и шрифта. Сдвигал вроде как более-менее потайлово.

Шрифт простой, как три копейки, не спорю, но читаемость сильно выше.

Добавлено позже:
Ради интереса глянул оригинал - мама родная. Шрифт и там страшный, как атомная война. Предлагаю сделать однопиксельной толщины (раз уж неохота классику жанра), как это сделали в другом переводе ранее, только там его тоже в порядок надо приводить

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #82 : 05 Апрель 2021, 15:53:16 »
Ну в таком случае есть у кого шрифты для нес чтоб и англ и рус и цифры 0-9 умещались в 7х7 64 тайла?

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 1915
  • Пол: Мужской
  • большой и толстый треногий динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #83 : 05 Апрель 2021, 15:54:51 »
Ну в таком случае есть у кого шрифты для нес чтоб и англ и рус и цифры 0-9 умещались в 7х7 64 тайла?
Если интересно, могу попробовать подготовить, но не знаю, как быстро смогу сделать.

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 60
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Re: Castlequest/Castle Excellent
« Ответ #84 : 05 Апрель 2021, 16:08:22 »
Что касаемо и CHR и PRG то тут я полностью не согласен с вами, мною добавлено довольно не мало кода в PRG банки, в CNROM там и без того всё плотно забито было, добавление кода в имеющиеся 32кб были невозможны. По части же CHR я согласен, в CNROM во первых использовалось лишь чуть больше половины памяти из 32кб (4х8кб), и всё что я добавил здесь в тайлах на CNROM тоже можно было бы добавить, но потребовалось бы больше места, по причине отсутствия возможности деления подключаемого CHR банка. В ММС3 же я манипулирую банками размером в 1кб, что даёт возможность более правильно распределить тайлы по банкам с целью подбора необходимых банков с необходимыми тайлами для каждой отдельной ситуации.
Так что ваше замечание считаю вполне не уместным  относительно надобности перехода на ММС3, его возможности используются в полную силу относительно надобности. Единственное остались неудел счётчики прерываний и использование SRAM, но что касается SRAM это всё лишь вопрос времени, на его счёты у меня имеются в дальнейшем планы.

Что же касается финальной картинки и шрифта, возьму к сведению ваши замечания.

Делайте так, как считаете нужным. Но выкладывая свои труды в паблик, всегда нужно быть готовым и к советам (тем более если сами их просите) и к критике и к историческим фактам. Это не я придумал насчет экономии и целевого использования железа, это было правилами 30 лет назад. К тому же, я всего лишь сказал как я сам бы поступил, и для меня, навскидку здесь CNROM/GNROM, и максимум UNROM (при условии что игра не использует банксвитчинг) - за глаза, исходя именно из традиций использовать для простой игры простой маппер на простой дискретной логике.

HayaoYokogawa, да, не обратил внимания, оригинальный шрифт тоже ужасен. В любом случае, с форматированием и без змейки из этих "рамочных" тайлов - на порядок лучше.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #85 : 05 Апрель 2021, 16:13:58 »
236058-0
Время как будет попробую и сам ещё раз изменить текст, вернее сделать ещё один банк с другим текстом, желательно чтоб буквы по максимуму оставались на своих местах, чтоб меньше сороки было подгонять шрифты.

Добавлено позже:
Делайте так, как считаете нужным. Но выкладывая свои труды в паблик, всегда нужно быть готовым и к советам (тем более если сами их просите) и к критике и к историческим фактам. Это не я придумал насчет экономии и целевого использования железа, это было правилами 30 лет назад. К тому же, я всего лишь сказал как я сам бы поступил, и для меня, навскидку здесь CNROM/GNROM, и максимум UNROM (при условии что игра не использует банксвитчинг) - за глаза, исходя именно из традиций использовать для простой игры простой маппер на простой дискретной логике.

Я не против критики, просто в данном варианте игра разбирается на части и постоянно редактируется, ещё очень много идей и очень многое хочется переделать, а для этого код лучше держать в свободном пространстве нежели уплотнять его постоянно и тратить на это время, по части ассемблирования, это хорошо когда весь код разобран, но учитывая какие в коде порой комбинации используются для изменений возврата из подпрограмм и джампы, я сомневаюсь что это всё можно ассемблировать учитывая что у меня не везде и не сразу даже ума хватает понять как вообще данные процедуры устроенны, и уж тем более сохранять ветвление подпрограмм в таких случаях крайне сложно будет и сомневаюсь что вообще возможно. потому и работаю над кодом в Hex'e.
Да и по части железа, ммс3 вроде как нынче весьма распространён, так почему бы и не делать упор в его сторону? Ведь мы живём в современном мире, а не 30 лет назад. В те времена о очередных версиях работ даже речи быть не могло, нужна была лишь готовая продукция в максимально сжатом пространстве по скольку память была крайне дорогой. А сейчас преднамеренно себя ограничивать в пространстве для работы думаю глуппо, но это лишь моё мнение.  :neznayu:
« Последнее редактирование: 05 Апрель 2021, 16:31:03 от Миха42 »

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 60
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #86 : 05 Апрель 2021, 16:42:23 »
А сейчас преднамеренно себя ограничивать в пространстве для работы думаю глуппо, но это лишь моё мнение.
Совершенно правильное мнение. Если удобно делать так, а не этак, то само собой, лучше делать как удобнее и как привык. А если останется время и желание на перфекционизм и задротство - тут уж и оптимизировать можно и заталкивать в исходный маппер. В общем, не будем флудить, будем помнить, что лучше что-то делать чем не делать ничего.
Последнее до чего я бы докопался, так это до замены шрифта. С одной стороны, он ужасен, с другой - это оригинальный шрифт, наследие. Впрочем, в рамках хака, замена шрифта - дело житейское, на то он и хак.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4604
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #87 : 05 Апрель 2021, 17:08:43 »
Ради интереса глянул оригинал - мама родная. Шрифт и там страшный, как атомная война.
На самом деле, они были не такие глупые и у них в конце нормальный шрифт (и в начале этой версии): https://youtu.be/V98X2Zie0Bo?t=809. Этот вычурный только для надписей, так что меню в хаке тоже должно быть как в конце (нормальным), нужно понимать разницу между надписями и горой текста.
UPD: Т. е. меню хака должно быть с таким шрифтом:

Особенности модификации v1.4.0:
Игра виснет после смерти героя.
UPD2: Кстати, на счёт сохранения через это меню (sub command). Mesen автоматически определяет расширение Turbo File для оригинальной игры (потому что по CRC рома), сохраняется только после прохода на следующий экран, ещё для загрузки нужно нажимать Start, почему-то виснет от B или A, баг игры. В Mesen сохранение в "Saves/Castle Excellent (J) [!].tf". В NintendulatorNRS для сохранения нужно самому выбрать ASCII Turbo File и он похоже сохраняется для всех игр в SRAM/ASCIITurboFile.sav (папка с сохранениями).
« Последнее редактирование: 05 Апрель 2021, 18:01:33 от Sharpnull »

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 60
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #88 : 05 Апрель 2021, 18:05:50 »
Да, при утрате последней жизни смещается HUD (см. вложение) и игра виснет. Могу предположить, что-то не то происходит с нулевым спрайтом, сплитующим игровое поле и HUD.
В одну из сессий показалось, что не обновляются очки при поднятии предметов, пробовал повторить, не получилось, так что под вопросом.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #89 : 05 Апрель 2021, 20:20:49 »
Проблему нашол, ещё в 1.3.0 перенёс подпрограмму отвечающую за перезапись очков в рекорд, когда делал возможность чтоб по окончанию игры игра не останавливалась, а можно было начать играть вновь при нажатии кнопок, но не учёл что при смерти героя тоже используется данный код.

Спасибо за находку бага, на днях как время появится обязательно найду неверный jmp и исправлю. Проблема со смещением верхних строк кроется в этой же проблеме.