31
Ромхакинг и программирование / Ребенок изучает asm [SMD]
« : 13 Февраль 2024, 11:55:27 »
Потому что не у всех функций адреса абсолютные. А такие jsr (a0, d0), т.е. адрес заранее не известен. Или такие jmp (a0).
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
Также прикладываю 2 сэйва, которые могут помочь в поиске решения.У меня есть два решения этой проблемы.
1) Чемпионат Испании:
Гранада - Барселона (1:0)
Гранада играет на левой половине поля.
С помощью кода делаю счет 1-0 в пользу Гранады.
- игрок «Барселоны» бьет по воротам «Гранады»,
- вратарь парирует мяч перед собой, а защитник «Гранады» подхватывает мяч и опасно выбивает его над своими воротами за пределы поля .
2) После того же удара игрока «Барселоны» мне удается с помощью кода сделать счет ничейным и команда «Гранада» больше не выбивает мяч в сторону своих ворот.
Защитник просто подхватывает мяч и начинает удаляться от своих ворот.
Банк с графикой всего 1, места в нём под шрифт уже нет... Там нет ни одного свободного тайла. Переключение банков с графикой я не умею. Я вообще мало что умею. Что смог - то сделал.А у тебя там и нет переключения графики. Там используется chr_ram. Нужно просто на основе функции Load_Chr_ram, написать загрузку нужной графики.
в таблице есть две ячейки с одним и тем-же этим номером тайла. поэтому пришлось перебирать. и с другим символом такая-же история. выходит 2*2 = 4 варианта. но обоих при поиске в хексе не выдаетЯ тебе даю понять, что ты ошибся с вычислениями. Должно быть 9E и 6F. Поэтому и спрашиваю откуда ты взял 9D.
а... то есть на единицу я где-то провтыкался. завтра на свежую голову еще раз внимательно посмотрю.А, не заметил, этот текст
Это первое попавшееся вхождение имени в тексте игры. Это имя используется не один раз же в тексте игры. Я лишь указал, что вбивая значения имени, которые я указал находятся в роме. Но это не именно тот текст из игры, что на скрине.Ну, в принципе, это оно и есть, как оказалось.
6A1B6F76Откуда ты взял 9D? Таблица находится в роме по адресу 0х1EA00. Цифра 62 из исходного набора 5D586269 в таблице находится по адресу $1EA8E. Получается $1EA8E - $1EA00 + $10 = 9E.
6A1B9D76
6A1B6FA5
6A1B9DA5
ну один фиг это не делоНу, это понятное дело: было бы лучше делать это, используя поинтеры и в Круптаре, например. Но автору, видимо, и так сойдёт. Возможно, когда он достигнет цели, захочет улучшить перевод.правильней было бы внешний текстовой файл, где построчно все эти текста разбиты, и который компилятор потом вшивает в оригинальный ром. так было бы правильней, чтобы не зависеть от существующих знакомест. типа 3 символа на слово. и хоть убейся - но впишись.
Как то странно , в конце лишняя буква. Я наверно не туда вбиваю поиск .Объясните как это найти плиз.Это первое попавшееся вхождение имени в тексте игры. Это имя используется не один раз же в тексте игры. Я лишь указал, что вбивая значения имени, которые я указал находятся в роме. Но это не именно тот текст из игры, что на скрине.
Скажите а как мне узнать где в таблице нужный мне текст в редакторе который Гайвер посоветовал, я вбиваю эти цифры 6A 1B 9E 76 в поиске не находит текст из игры на японском что бы я мог текст править как Гайвер нашёл текст Привет?
Например я знаю что имя персонажа Агатсу по буквам будет 6A 1B 6F 76Это неправильные значения. Имя будет 6A 1B 9E 76.
Хакеру не до этого сейчас. У нас и своих (и чужих) проектов хватаетДа, да, понаберут чужих проектов, потом разгребай их.
эм... а куда оно потеряло (pc) ?Это уже обсуждалось
это то понятно, что мне пока не понятно почему этот самый pc дает минус 2 к числу, стоящему перед...Ты даёшь команду процессору прыгнуть на адрес $1E и выполнить что-то. Он вычисляет адрес так. $1E - текущий адрес pc (после того, как он прочитал код команды, который равен два байта, то адрес pc уже на два байта больше, чем адрес по которому стоит команда jsr $1E(pc)). Соответственно, если адрес команды jsr $1E(pc) = $0, то адрес pc в момент вычисления будет = $2. $1E - 2 = $1C.
Оставь надежду, всяк сюда входящийтак звучит эта фраза
от например на эмуляторе похожем тоже от этого разработчика NES.EMU он внедрил режим системы Dendy, чтобы люди испытали те эмоции и чувства когда они играли в 90-x на денди, услышали ту самую замедленную музыку pal.Ну, так на виндоус эмуляторах это давно есть, бесплатно)
Список эмуляторов, поддерживающих Dendy-режим:
Цитата
- RetroArch [libretro] (nestopia, fceumm, mesen)
- Nestopia 1.40, Nestopia UE
- FCEUX 2.2.3
- Nintendulator
- Mesen
- puNES
- BizHawk
- My NES
- Nintaco
- RetroCopy
- NESICIDE
Так вот, на них для Rings of power везде сейвы работают из самой игры. Выбирай любой, бесплатный эмулятор играй, ну а людям , которые играют на эмуляторах на винде не повезло если там такие сырые программы...и движения по улучшению нет никакого.Вот проверил в BlastEm. Работают внутри-игровые сейвы. Может на каком-нибудь Gens или Kega Fusion не работают.