при нажатии кнопки NMI невозможно определить что было включено в нулевой банке. поэтому при выходе монитор всегда устанавливает банку rom 1 (basic48)
вход по rst 8, обрабатывается только для basic48/basicc128. tr-dos входит через бейсик 48. соттветственнот откуда зашли по rst, туда и вышли.

Сообщение от
izzx
А есть пример как при включенном ОЗУ 0 вызвать ту самую функцию RST?
в адресах #4000-#FFFF должна сидеть процедурка обеспечивающая такой вход
стэк тоже должен быть выше #4000
типа такой:
Код:
bRST8 ex (sp),hl
push af
ld a,(hl)
inc hl
ld (xxx),a
pop af
ex (sp),hl
push bc
push af
ld bc,#1FFD
xor a
out (c),a
ld b,#7F
ld a,#10
out (c),a
pop af
pop bc
rst #08
xxx db 0
push bc
push af
ld bc,#1FFD
ld a,#01
out (c),a
pop af
pop bc
ret
И сразу пример минимальной работы с ХДД. Вот загрузился первый сектор с раздела ЦПМ и начинает что делать? Читать следующий сектор
C=36 ($hddrd)
или сначала инициализация диска и проверка что за раздел подключен?
С=35 ($hddmount)
Я думаю, если смонтирован раздел ЦПМ и мы с него начали грузится, то можно сразу читать секторы и ни о чём не заботится больше.
Но тут получится у нас будет подключен один или максимум четыре раздела ХДД. Может хватит и одного для начала, на максимальные 8 мегов.
35я не нужна
36я ведет отсчет не в абсолютных секторах, а относительно начала подраздела
поэтому de=0001, hl=адрес куда читать, b-сколько секторов (512б) читать и понеслась