From 9f9536d7dbc9b72f07ac1b989ebc8e81dedd43cb Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Tue, 2 Jan 2024 02:28:01 +1000 Subject: [PATCH] ... --- constants/SP2000.inc | 86 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 17 deletions(-) diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 910c5d7..a73b1d4 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -451,9 +451,16 @@ Spec_Page EQU #41 .page_1 EQU #FFF1 .page_2 EQU #FFF2 .page_3 EQU #FFF3 -.RET_addr EQU #FFF4 +.RET_addr EQU #FFF4 ; word +.Reload_Version EQU #FFF6 +; RSTZX обозначают, что это ресет после перезаливки конфы +.flag_R EQU #FFFB +.flag_S EQU #FFFC +.flag_T EQU #FFFD +; ZX обозначают, что загружены ROM спектрума .flag_Z EQU #FFFE -.flag_X EQU #FFFF ; обозначают, что загружены ROM спектрума +.flag_X EQU #FFFF +; .no_zx_rom EQU #38 .to_bios EQU 8 .init_acex EQU #E000 ;!TEST @@ -476,22 +483,26 @@ RESET_PAGE EQU #A0 ;---------------------------------------------------------------------[] ; Cтраница с системными переменными BIOS ;---------------------------------------------------------------------[] -SYS_PAGE EQU #FE -.ID_FLAG EQU #C000 ; копия ID_SPRINTER для детекта полной инициализации. 32 bytes max +SYS_PAGE EQU #FE +.ID_FLAG EQU #C000 ; копия ID_SPRINTER для детекта полной инициализации. 32 bytes max ; vsync: ; bit0 1 - 320L, 0 - 312L ; bit1 1 - no waits, 0 - original waits -.VSyncAndWaits EQU #C020 -;!TODO EQU #C021 - #C027 -; STACK for FN_LIB end EQU #C028 -.SYS_SP EQU #C0FE ; ДОПОЛНИТЕЛЬНЫЙ СТЕК для FN_LIB и ещё чего-то -.DISK_TYPE EQU #C100 ; переадресация дисков -.COPY_SLOT0 EQU #C104 ; копии значений портов страниц -.COPY_SLOT1 EQU #C105 -.COPY_SLOT2 EQU #C106 -.COPY_SLOT3 EQU #C107 -.RAMD_VARS EQU #C108 ; переменные RAM-дисков ;!TODO сохранять тут признак смены рамдиска или его блока памяти для драйвера DSS -.A_RAMD_VARS EQU #C118 ; текущий RAM-Disk +.VSyncAndWaits EQU #C020 +;!TODO EQU #C021 - #C027 +; STACK for FN_LIB end EQU #C028 +.SYS_SP EQU #C0FE ; ДОПОЛНИТЕЛЬНЫЙ СТЕК для FN_LIB и ещё чего-то +.DISK_TYPE EQU #C100 ; переадресация дисков (процедурами диск выбирается без учёта старшего байта адреса и переполнения) +.DISK_TYPE.A EQU #C100 ; переадресация дискa A +.DISK_TYPE.B EQU #C101 ; переадресация дискa B +.DISK_TYPE.C EQU #C102 ; переадресация дискa C +.DISK_TYPE.D EQU #C103 ; переадресация дискa D +.COPY_SLOT0 EQU #C104 ; копии значений портов страниц +.COPY_SLOT1 EQU #C105 +.COPY_SLOT2 EQU #C106 +.COPY_SLOT3 EQU #C107 +.RAMD_VARS EQU #C108 ; переменные RAM-дисков ;!TODO сохранять тут признак смены рамдиска или его блока памяти для драйвера DSS +.A_RAMD_VARS EQU #C118 ; текущий RAM-Disk .SP_SAVE EQU #C11A ; место для сохранения адреса стека .ERR_SAVE EQU #C11C .COPY_RGADR EQU #C11D @@ -1311,7 +1322,8 @@ MENU_TBL: ; ENDM ; -; + +//////////////////////////////////////////////////////////////////////// MODULE ACEX ; внутренние порты Altera (частично неразобрано от Sp97) ;00 Нет порта @@ -1595,8 +1607,48 @@ SLOT3 EQU #F0 ; RAM page for 128/256 kb ( ;FEh - RAM page for 256 kb (окно C000-FFFF) ;FFh - RAM page for 256 kb (окно C000-FFFF) - ENDMODULE +;------------------------; +Config_ID: +.Sp2000 EQU #FEFF +; OLD: +.Sp97_DOOM EQU #FFF9 +.Sp97_Video EQU #FFFA +.Sp97_Game EQU #FFFB +.Sp97_AY EQU #FFFC +.Sp97_2 EQU #FFFD +.Sp97_1 EQU #FFFE +;------------------------; +; DW #FEFF ; Sprinter-2000 ; +; DW #FFFE ; Sprinter-1 +; DB 0 ; тип акселератора +; DB 1 ; экран +; DB 2 ; клавиатура +; DB 1 ; ковокс; +; +; DW #FFFD ; Sprinter-2 +; DB 2 ; тип акселератора +; DB 1 ; экран +; DB 0 ; клавиатура +; DB 1 ; ковокс; +; +; DW #FFFC ; AY +; DB 0 ; тип акселератора +; DB 0 ; экран +; DB 2 ; клавиатура +; DB 0 ; ковокс; +; +; DW #FFF9 ; идентификатор конфигурации DooM +; DB 3 ; тип акселератора +; DB 1 ; экран +; DB 0 ; клавиатура +; DB 2 ; ковокс (бластер) +;------------------------; +;;;;;;; + ENDMODULE +//////////////////////////////////////////////////////////////////////// + + ; /* внутренние порты Z84C15: