| Разработка и ромхакинг > Ромхакинг |
| [NES] Учебник по ромхакингу |
| << < (12/13) > >> |
| Skay:
--- Цитата: Крылатый Кот от 19 Март 2017, 18:38:32 ---Давно пора уже было закрепить в шапке эту тему --- Конец цитаты --- ты о чем? --- Цитата: neoborg от 30 Январь 2017, 10:55:46 ---за месяц практически не увидел интереса к этому проекту, поэтому дальнейшая разработка откладывается на неопределенный срок. пакеда :hi: --- Конец цитаты --- |
| s1nka:
Если бы еще автор прислушивался к мнениям читателей, то было бы больше читателей. з.ы. Лично я не хочу связываться с chm-форматом. Выше уже писал почему. |
| neoborg:
я возобновил работу над проектом, но вместо обновления файлов pdf или chm я решил создать группу Вконтакте. |
| neoborg:
ловите новый скрин с командами кому надо |
| sergei1204:
Кстати мне не особо понятно как быть в игре Jungle book. Если в танках до загрузки показывается значение LDA =03, т.е. выставив это значение получаем столько жизней при старте. То как быть с игрой Jungle book. Прямой бряк на LDA является именно жизнями при старте. Но выставив 07 жизней к примеру их станет почему то 32. А выставив 03 их станет почему то 0. Почему тут цифра не соответствует жизням даже простая которая как и по хекс как им в реале должна быть одной и той же. Неужто тут вся фишка в смещении, но я этого уже никак не понимаю. Методом подбора набивать себе жизни? |
| neoborg:
--- Цитата: sergei1204 от 07 Сентябрь 2017, 18:10:42 ---Кстати мне не особо понятно как быть в игре Jungle book --- Конец цитаты --- для начала, ты видимо неправильно вычислил адрес с жизнями. в этой игре адрес 032F. удобно, что игра сразу же отображает изменения байта в оперативке на экране. запись жизней можно посмотреть в этом коде 07:F335: AC 2E 03 LDY $032E = #$02 // уровень сложности в опциях 07:F338: B9 06 CC LDA $CC06,Y @ $CC08 = #$03 // количество жизней 07:F33B: 8D 2F 03 STA $032F = #$00 // запись жизней в адрес в этой игре есть еще одна загвоздка. код игры расценивает байт в 032F как DEC, а не как HEX. то есть например байт 12 это 12 жизней, а не 18. а также во время взятия жизни или во время смерти игра опять же пересчитывает байт в 032F так, чтобы он выглядел как DEC. например когда байт 10 (10 жизней), ты умер, игра поменяет байт на 09 (9 жизней), а не на 0F. |
| MetalliC:
--- Цитата: neoborg от 07 Сентябрь 2017, 18:48:03 ---как DEC --- Конец цитаты --- это называется BCD |
| CaH4e3:
--- Цитата: neoborg от 07 Сентябрь 2017, 18:48:03 --- в этой игре есть еще одна загвоздка. код игры расценивает байт в 032F как DEC, а не как HEX. то есть например байт 12 это 12 жизней, а не 18. а также во время взятия жизни или во время смерти игра опять же пересчитывает байт в 032F так, чтобы он выглядел как DEC. например когда байт 10 (10 жизней), ты умер, игра поменяет байт на 09 (9 жизней), а не на 0F. --- Конец цитаты --- я сейчас наверное переверну твое мировоззрение навсегда. внимание... оригинальный процессор 6502 (не тот его отпрыск, что стоит в денди) умеет работать с десятичными числами аппаратно. для этого у него есть специальный флаг десятичного режима арифметики, который включается командой SED и выключается CLD если его включить, то все числа в регистрах будут считаться как BCD и арифметические операции с ними производятся как с десятичными. из денди данный режим по каким-то причинам выпилен, хотя соответствующие опкоды работают и переключают соответствующий флаг, который, тем не менее, игнорируется. так что программистам приходилось руками конвертировать хексы в десятичные значения или симулировать десятичную арифметику. хранение числа в памяти сразу в десятичном формате - это ниразу не загвоздка, а очень распространенное и логичное явление как раз на денди, избавляющее от необходимости конвертить хексы в десятичку каждый раз при выводе чисел на экран, тем более в тех случаях, когда это происходит непрерывно в процессе игры, т.е. именно потому, что "игра сразу же отображает изменения байта в оперативке на экране." |
| neoborg:
--- Цитата: MetalliC от 07 Сентябрь 2017, 19:06:05 ---это называется BCD --- Конец цитаты --- спасибо --- Цитата: CaH4e3 от 07 Сентябрь 2017, 20:29:38 ---я сейчас наверное переверну твое мировоззрение навсегда --- Конец цитаты --- нет, не перевернул, я знаю об этом --- Цитата: CaH4e3 от 07 Сентябрь 2017, 20:29:38 ---очень распространенное --- Конец цитаты --- не сказал бы что очень распространенное, по крайней мере насчет жизней |
| CaH4e3:
--- Цитата ---это называется BCD - спасибо --- Конец цитаты --- --- Цитата ---я сейчас наверное переверну твое мировоззрение навсегда - я знаю об этом --- Конец цитаты --- лолшто? |
| Ti_:
--- Цитата: CaH4e3 от 07 Сентябрь 2017, 20:29:38 ---из денди данный режим по каким-то причинам выпилен, хотя соответствующие опкоды работают и переключают соответствующий флаг, который, тем не менее, игнорируется. --- Конец цитаты --- О причинах говорили, там дорожка разрезана. Что-то связано с лицензиями. Нинтендо не хотели платить. |
| CaH4e3:
не столь важно впринципе, да вот в з80 тоже есть опкод конвертирования аккумулятора в десятичный формат. я из всего ромсета до буквы J на геймбое видел едва две игры, которые его используют лол... остальные конвертят руками.. Добавлено позже: --- Цитата: neoborg от 07 Сентябрь 2017, 20:40:45 ---не сказал бы что очень распространенное, по крайней мере насчет жизней --- Конец цитаты --- причем тут жизни, казалось бы... любая спортивная игра хранит число очков в десятичке, причем чаще даже раздельно по разрядам. половина игор хранит число очков в десятичке, опять таки по разрядам (один байт принимает значение от 0 до 9, сколько разрядов в числе, столько байт берется). практически 90 процентов игр, в которых есть игровой таймер, хранят его значение в десятичке лол... ребята... ну вы бы хоть с вопросом поразбирались бы сначала, прежде чем экспертные оценки давать лол |
| lancuster:
А кто объяснит, почему после "пробуривания" какой-нибудь в стенки в Чужом 3 (через редактор), камера НЕ идет вместе с игроком? |
| neoborg:
--- Цитата: CaH4e3 от 07 Сентябрь 2017, 22:56:40 ---ну вы бы хоть с вопросом поразбирались бы сначала, прежде чем экспертные оценки давать лол --- Конец цитаты --- я объяснил новичку про адрес с жизнями и про возможные непонятки с ним в этой игре. ты пришел и начал мне лекции читать. кто из нас поехавший? отписываюсь от темы, давно тут не сижу. у кого есть вопросы по ромхаку, есть специальная группа у меня в подписи. или пишите прошечке санчезу. |
| spiiin:
Ланкастер не хочет учиться ромхакингу, он хочет бурить стенки в чужом |
| CaH4e3:
--- Цитата: neoborg от 08 Сентябрь 2017, 01:27:42 ---я объяснил новичку про адрес с жизнями и про возможные непонятки с ним в этой игре. ты пришел и начал мне лекции читать. кто из нас поехавший? --- Конец цитаты --- я объяснил основы, которых ты похоже не знал, но делаешь вид, что теперь знаешь лол |
| neoborg:
Спустя 9 месяцев после создания группы был полностью переработан раздел для новичков. Материал будет гораздо понятнее для непосвященных, в отличие от книжной версии учебника. |
| ElectrixX:
книжная версия, та что вконтакте, будет? |
| neoborg:
ElectrixX, над книжной больше не работаю, теперь только паблик вк |
| Sheraz:
--- Цитата: neoborg от 12 Январь 2018, 12:59:01 ---над книжной больше не работаю, теперь только паблик вк --- Конец цитаты --- Устаревшая информация.У тебя появился свой сайтик,но ты пока не дорабатываешь его,а так здорово пишешь,мне нравится.Буду ждать продолжения.))) Вот,может тебе это тоже будет полезно почитать.) |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |