
Сообщение от
Grand
Ну да, она и есть: 23=#17.
ну да. привычка уже воспринимать такие числа в шестнадцатеричном виде.

Сообщение от
Grand
LW, обратил внимания, что версия 101 под меню "128" пишет "1992-2023 Scorpion ZS 256". Надо бы написать, например, "Scorpion GMX", чтобы не было путаницы.
поправлю со временем

Сообщение от
Grand
А что там за штатная процедура в RAM8? И как все-таки правильнее переключать?
нет, процедуру из RAM 8 лучше не использовать, вероятнее всего адресация у неё изменится со временем.
для включения любого ROM, можно использовать следующую конструкцию:
Код:
ld bc,#7FFD
ld a,#10
out (c),a
ld b,#DF ;это нужно только
xor a ;для
out (c),a ;версии GMX
ld b,#1F
ld a,#12
out (c),a ;включим ram 8 и rom 2(monitor)
rst #30
dw adrproc ;адрес процедуры в вызываемой банке
db bank ;номер банки
....
дальнейший код (включена банка, активная при вызове)
в данном случае вам нужна банка за номером 7
rst #30 это как раз механизм вызова процедур из любой банки, при любой (кроме basic48/basic128/tr-dos) активной банке
и меняться он точно не будет
актуально как для ZS 256, так и для GMX
регистры и флаги она не портит
но и есть минус. область памяти #C000-#FFFF недоступна. вернее, при работе процедуры, там будет 8я страница, которую портить нехорошо
а вообще надо, наверное, добавить в системные вызовы вызов процедуры подсчета CRC...