С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Я так при помощи UNREAL разбирался с расксоркой ПЗУ для ATM-1.
В твоем случае, нужно знать точную ячейку ОЗУ, где будет располагаться нужный тебе CALL.
После этого по ESC выходишь в отладчик эмуля. В левом нижнем окне (где показан дизасм текущих ячеек памяти) в поле адреса вводишь нужную нам ячейку памяти и по ENTER переходим тула. Затем пробелом ставим точку останова (вторичным пробелом ее снимаем). После чего запускаем в эмуле iS-DOS. Теперь как только исполняемый код дойдет до этой ячейки, мы автоматом вывалимся в дебаггер (если по какой-то причине исполнение команды в этой ячейке произошло раньше, до установки твоего резидента, например, в процессе работы промежуточных программ при установке системы), то по ESC мы вернемся в эмуль и продолжим процесс загрузки того, что нам надо. А когда вывалимся в дебаггер снова уже на интересующей нас команде, то тогда в дебаггере можно будет посмотреть состояние стека, регистров, карты памяти и проч., чтобы оценить ситуацию, а заодно и по F7, F8 и F11 (см. встроенный хелп эмуля по F1) покомандно протрассировать дальше и увидеть, куда мы попадаем...
Как-то так...
---------- Post added at 03:21 ---------- Previous post was at 03:18 ----------
Кстати, правильно юра пишет. Один из вопросов, который возникает - а где в этот момент находится стек? (как раз дебаггер эмуля в помощь) А если, к примеру, на время работы твоей процедуры, переносить стек внутрь нее, а на выходе восстанавливать прежнее значение? Должно помочь. Впрочим, это если и поможет, то вылечит лишь следствие, а причину действительно интересно было бы узнать...
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
Абсолютно точно не подскажу, сейчас под рукой нет isdos. Всё должно работать, но! Все абсолютные переходы (CALL и JP) нужно в процедуре инициализации резидента перестраивать на новые адреса. Ну, и на сколько помню, линковать надо тоже как резидент.
Кажется нашёлся ответ.
Перед процедурой, добавляемой в обработчик прерывания нужно резервировать два байта.
Последний раз редактировалось Prusak; 25.12.2014 в 10:08.
Заяц-прусак
zxbyte.ru- компьютер Байт и прочий хлам
Ну да, для ссылок цепочки.
Ребята! Хочу приобрести дискетки is-dos. Стоит ли написать Ильясову? Или это дохлый номер? И по-поводу создания "is-dos архива всея руси". Тема заглохла?
Speccy-2010 R1, R2
Pentevo rev.B
Ильясову с вероятностью в 90% дохлый номер. Хотя попытаться стоит. В любом случае, он уже заявлял официально, что коммерческое распространение завершено.
Тема всея архива не заглохла - но все ожидаем он него же остатки дискет. Можно и без него начать, но хотелось бы ориентироваться на официальный каталог искасофта для систематизации. Это пока сдерживает.
ЗЫ: А какие дискеты интересуют? А то у меня много чего исдосного есть. Могу перегнать в образы и прислать...
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
http://zx-pk.ru/showpost.php?p=399263&postcount=24
Дискеты были получены от Леонтьева летом 2000 года.
Ещё немного потревожу общественность.
Не вспомнит ли кто, какие версии is-dos выходили (всмысле нумерация) и как они хронологически были расположены (хотя бы примерно). Спасибо!
Speccy-2010 R1, R2
Pentevo rev.B
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)