Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   поиск нужного адреса для вызова randomize usr (http://zx-pk.ru/showthread.php?t=23262)

JeRrS 19th April 2014 12:31

поиск нужного адреса для вызова randomize usr
 
буй

SAM style 19th April 2014 12:55

Quote:

Originally Posted by JeRrS (Post 704039)
как вообще по факту можно узнать какой нужен адрес для вызова/запуска игры для randomize usr? в Spectaculator'e есть debugger который показывает что в памяти записано, через него можно узнать?

Отдебажить загрузчик игры. Нужен дебагер с дизассемблером и знание ассемблера. Найдёшь переход в основной цикл - это и будет адресом запуска игры.

char 19th April 2014 13:02

вначале нужно сообщать - что имеется на входе в проблему, примеры ;)

goodboy 19th April 2014 13:04

JeRrS, приведи конкретный пример (выложи свой кодовый файл) - наугад советовать трудно

demetrius2003 19th April 2014 13:05

Я так понял, есть только кодовый блок? Это может стать очень интересным и весьма нетривиальным занятием, которое растянется на месяцы. Пример - обнаружил я у себя блок кода длинной 16 Кб, который я сделал в 1999 году. Состоял он из какого-то монитора, кучи полезных подпрограмм и, собственно, управляющей оболочки. Причём это всё было сращено в один массив байтов. Сейчас в 2014 году я напрочь позабыл адрес входной точки и адрес загрузки. При попытке грузить блок кода с круглых адресов, типа 35000, 45000 и т. д. с последующим запуском с этого же адреса всё виснет. Я то помню, что адрес запуска был глубоко в коде, только где? Дизассемблирование помогает слабо, т. к. надо знать верный адрес, с которого и должен располагаться код, иначе даже crossreference на строки и константы найти невозможно.
P.S.: А вот если у Вас есть Бейсик-загрузчик, то задача упрощается на несколько порядков.

Titus 19th April 2014 13:05

А просто посмотреть в коде бейсика адрес перехода нет?

Не совсем понятен вопрос.

goodboy 19th April 2014 13:12

Quote:

Originally Posted by JeRrS (Post 704063)
Вот я и хочу понять как допустим через встроенный дебаггер спектакулятора это вынюхать но у другой игры

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

goodboy 19th April 2014 13:29

Quote:

Originally Posted by JeRrS (Post 704068)
я предположительно щас расставил где что должно быть и хочу выяснить какой должен быть rand usr

адрес блока неправильный, надо грузить с 24064
(и это какой-то BoulderDash)

Titus 19th April 2014 13:41

clear 24063
load "" code 24064
randomize usr 31927

goodboy 19th April 2014 13:48

Titus опередил.
я уже понял что это ремикс BD3.
а правильный адрес загрузки определил по настройкам для IM2


All times are GMT +4. The time now is 00:09.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.