Только что попробовал, не получилось... Отладчик портится.
Пробовал на другой игрушке с таким же загрузчиком:
Вид для печати
Только что попробовал, не получилось... Отладчик портится.
Пробовал на другой игрушке с таким же загрузчиком:
поэтому и пишу - Ус+F4+ввод+блк - должен запуститься отладчик без затирания памяти
мда.действительно.. значит - такие только через эмуль?
- - - Добавлено - - -
или взламывать загрузчик..Так, чтобы запустить этот загрузчик из под монитора, чтобы он загрузил прогу и вышел опять в отладчик?
- - - Добавлено - - -
или написать прогу.. которая грузиться сразу куда-нибудь вверх.. как этот загрузчик, например, и которая умеет сохранять содержимое памяти в ром сама.. загружаешь игру, перезапускаешь комп без очистки памяти, грузишь нашу прогу - она сохраняет игру
Если только спец копировщик написать, который будет понимать нестандартный формат, и выгружать в этом формате добавляя в начало еще и этот хитрый загрузчик в РОМ формате. Я думаю что такой копировщик по крайней мере существовал, жаль что не сохранился для истории ((
сделал loadr этого начального загрузчика.. начало d900 длина 400h.. теперь надо IDA и поковырять.. Но я в асме вектора не силён :) в принципе теоретически мне представляется несложным дописать к этому копировщику в конце не запуск готовой программы, а запись её на носитель в готовом к употреблению виде :)
хмм. Да. действительно.. об этом я не подумал.. найти стартовый адрес не очень то и просто будет видимо..
Как уже известно, стандартный РОМ загрузчик вектора умеет грузить по любым адресам, поэтому есть способ - нужно подготовить три wav файла:
1. нулевой блок (чтоб востановить переход на отладчик);
2. монитор часть 1 по адресам 9400h-9FFFh;
3. монитор часть 2 по адресам E000h-FFFFh.
Далее после загрузки игры по очереди грузим наши блоки и запускаем отладчик ))
Должно сработать ))
Проще в ПЗУ вкладку сделать, возможность копировать всю ОЗУ на квазидиск, потом преобразовывать в файл, и изучай сколько душе угодно. Думаю такие варианты уже готовые были. Ну, это естественно для реала, для эмулятора достаточно одну кнопку нажать, и получить образ ОЗУ для "изучения" :)
- - - Добавлено - - -
Достаточно немного анализа, грузит ведь его стандартный загрузчик, который давно уже "разложен по полочкам", можно достаточно точно "предсказать" положение стека в момент когда его заполнит загружаемый блок. А зная содержимое этого загружаемого блока можно узнать - куда произойдёт "выход из подпрограммы".
- - - Добавлено - - -
Небольшой намёк, надо помнить, что штатный загрузчик, переносит полученный блок (32 байта) в память (в место назначения) не во время приёма его с магнитофона, а после анализа этого блока (проверка КС, проверка его номера). Сначала блок принимается прямо на экран (правее стека), а уже потом переносится в память, и в этот момент происходит подмена адресов возврата из подпрограммы (в нашем случае).