ну из десятка ромов, которые я грузил в свой дизассемблер - такие "битые" ссылки встречались раза два всего. поэтому то я и подумал о косяках разрабов.
из соседней темы я узнал, что у меня есть огромная семья... что команды надо читать из четного байта. это прям закон закон? я к тому, что сейчас я мышкой тыкаю в любое не обработанное место и с этого адреса начинается попытка парсинга. то есть можно тыкнуть на нечетный байт. просто если реально команда может лежать
только в четном байте, то я тогда должен буду переделать, чтобы селект можно было выставить только на четный байт и уже с него, если надо, стартовать парсинг. однако я сужу по примеру банков GEMS - там совсем не обязательно что банк будет размером кратно 2. то есть последующий байт после банка может быть не четным, а поскольку данные в роме идут друг за дружкой, то соответственно какая-то команда, получается, может выпасть на не четный байт. поэтому хотелось бы сей момент уточнить...
Добавлено позже:SeregaZ, может этот LEA будет ссылаться на те байты внизу скрина, когда по итогу будет использован?
этот плюсик +$2 и делает прыг LEA точно таким-же, как он и был в оригинальном коде рома. то есть с точки зрения рома ничего не изменилось, то есть мой дизассемблер делает асм код такой, который ASM68K.exe на выходе собирает 1 в 1 как оригинальный ром. то есть в этой метке, не смотря что она теперь указывает на другое место, из-за дополнительного +$2 получается значение, какое и должно было быть. сами то метки в ром не попадают - они лишь маркеры для ASM68K.exe откуда производить расчеты. поэтому тут все в порядке
Добавлено позже:предварительно вроде горячее дизассемблирование по кнопке С сделал. и она даже ругается, когда в результате парсинга найдет ошибки и просит вернуть как было. и поскольку с функционалом отмены тут целая история... то как в Иде я не сделаю. нужно будет вручную кнопками R - reset или S - save подтверждать или сбрасывать результат парсинга. это не совсем удобно... и если было подтверждено сохранение, то потом уже нельзя будет откатить, как ида делает. типа превратить обратно код в сырые байты - undefine. пока без того правила четных байт. подожду отмашки, что это прям реально закон и сделаю, если смогу. а то могу и не смогу... ведь получается у меня "бэшки", с целью более быстрого сохранения - сохраняет в ряд по 16 штук. и первый байт это совсем не обязательно что четный. надо кумекать как это сделать...