Цитата Сообщение от Ynicky Посмотреть сообщение
Так как команда ret имеет еще 2 чтения адреса, то записывать в стек #0000 нельзя.
ПЗУ уже переключилось на BASIC48, а там по начальным адресам не нули.
Нашел в BASIC48 место с нулями - #3d00, и записал это в стек.
После этого сработало как надо.
Ага, точно. Важно еще, что в ROM1 по адресу 0052 тоже ret. Собственно, в твоем мониторе ret по 0052 не сказать, чтобы нужен, но и не возбраняется. Если надо сэкономить, можно попробовать так (пишу без отладки, из головы):
Код:
  org #0273
  ld a,#30
  ld bc,#7ffd
  out (c),a
  rst #0
По адресу #027a лежит #c7 = rst #0, что тоже сброс. Но да, #c7 встречается нечасто, поэтому куда угодно этот кусок не засунешь.
Цитата Сообщение от Ynicky Посмотреть сообщение
004B 3E 33 ld a,#33
А зачем #33? При переходе в ROM1 с #c000 включится страница 3 - это так специально надо?