User Tag List

Показано с 1 по 10 из 300

Тема: DivMMC

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от USERHOME Посмотреть сообщение
    Файл testrom3_8kb_for_divide.rom
    байт с #F9 на #FA
    В смысле сменить точку перехода в exit area на 1FFA, про это речь ?
    Код:
    074a 210100    ld      hl,0001h     ;подготавливаем в HL адрес перехода = 0001h
    074d c3f91f    jp      1ff9h        ;переходим в exit area
    ...
    1ff8 c9        ret     
    1ff9 e9        jp      (hl)      ;вот сюда мы переходим, отсюда читается 1-байтный опкод и сразу должен отключиться маппинг ПЗУ DivMMC
    >> 1ffa c7        rst     00h      ;а поскольку переход выполняется не в адрес автоматического маппирования 0000, а в 0001, то это не ловится DivMMC
    1ffb c7        rst     00h      ;и должен выполняться штатный ROM48k
    1ffc c7        rst     00h
    1ffd c7        rst     00h
    1ffe c7        rst     00h
    1fff c7        rst     00h
    Тогда при переходе по этому адресу по идее отключится ПЗУ DivMMC, но там выполнится RST 0 и это приведет к переходу по адресу 0000, на который опять сработает ловушка для automap и внешнее ПЗУ тут же включится обратно.
    Суть хитрости, сделанной здесь - в том, чтоб зайти в штатное ПЗУ не с 0000, а с 0001.
    Собственно, переход-то в этой тестовой прошивке написан правильно (иначе б не был выпущен релиз), вопрос в том, где у меня железо не соответствует ))

    Цитата Сообщение от USERHOME
    Вот этот момент не очень понятен
    где же храниться , на какой адрес он указывает рег. SP ?
    0743 01ffbf ld bc,0bfffh
    0746 75 ld (hl),l
    0747 edb0 ldir ;выполняем-таки зачистку всех 48к ОЗУ
    А здесь нам SP уже не важен. К этому моменту нет ни одного незавершенного вызова, из которого надо RET-ом вернуться по адресу в стеке. Дальше выполняется LDIR (и ему не нужен стек), а потом просто JP. Поэтому ни стек, ни указатель стека уже не будут использоваться до инициализации штатного ROM.
    Последний раз редактировалось valerium; 14.11.2020 в 23:54.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. basic128 и DIVMMC EsxDos
    от azx987sa в разделе Внешние накопители
    Ответов: 6
    Последнее: 08.05.2020, 00:18
  2. Ленинград 1 (48К) и Brand new DivMMC EnJOY
    от FSound в разделе Ленинград
    Ответов: 1
    Последнее: 16.12.2016, 15:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •