diff --git a/constants/SP2000.inc b/constants/SP2000.inc index f50c2ab..83675d2 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -6,13 +6,13 @@ IFNDEF _includedSP2000 : DEFINE _includedSP2000 : ENDIF ;███████████████████████████████████████████████████████████████████████████████████████████████████████; - + ;███████████████████████████████████████████████████████████████████████████████████████████████████████; STRUCT _#ZX_TASK_DATA .STATE BYTE 0 ; +00 b0 - свободна/сохранена, b1 - ждёт/работает .SLOT3_PAGE BYTE 0 ; +01 третья страница задачи .SP WORD 0 ; +02 указатель на стэк -.TYPE BYTE 0 ; +04 тип тачки: 0 - 48k, 1 - Pent128, 2 - Pent512, 3 - Scorp256 +.TYPE BYTE 0 ; +04 тип тачки: 0 - ZX Sprinter, 1 - Pent48, 2 - Pent128, 3 - Pent512, 4 - Scorp256, 5 - ZX48, 6 - ZX128, 15 - Custom .vRAM_ID BYTE 0 ; +05 RAM ID для страниц ОЗУ спектрума .vROM_ID BYTE 0 ; +06 RAM ID для страниц ПЗУ спектрума .RESERVED BLOCK 16-8,0 ; +08 ;!TODO reserved @@ -573,7 +573,7 @@ SYS_PAGE EQU #FE .VSyncAndWaits EQU #C020 ;!TODO EQU #C021 - #C027 ; STACK for FN_LIB end EQU #C028 -.SYS_SP EQU #C0FE ; ДОПОЛНИТЕЛЬНЫЙ СТЕК для FN_LIB и ещё чего-то +.SYS_SP EQU #C100 ; ДОПОЛНИТЕЛЬНЫЙ СТЕК для FN_LIB и ещё чего-то .DISK_TYPE EQU #C100 ; переадресация дисков (процедурами диск выбирается без учёта старшего байта адреса и переполнения) .DISK_TYPE.A EQU #C100 ; переадресация дискa A .DISK_TYPE.B EQU #C101 ; переадресация дискa B @@ -602,8 +602,8 @@ SYS_PAGE EQU #FE .COUNT_FL EQU #C12B ; счетчик файлов в секторе .COUNT_SEC EQU #C12C ; счетчик секторов в каталоге .CURRENT_HDD EQU #C12D ; [x] bit0 - master/slave, bit1: Primary/Secondary, bit2..3: использующийся раздел в MBR -;!TODO EQU #C12E -;!TODO EQU #C12F +;.vROM_Block_ID EQU #C12E ; [ ] free zx pages! +;.vRAM_Block_ID EQU #C12F ; [ ] free zx pages! .FAT_FLAG EQU #C130 ; FAT флаг + FAT sector??? #81FF - FAT16, #01FF - FAT12 .MSD_CONT_SEC EQU #C132 ; текущий сектор для MS-DOS .MSD_CONT_SEC2 EQU #C134 @@ -687,8 +687,7 @@ SYS_PAGE EQU #FE .RAMD_KEYS.T EQU #C18F .RAMD_KEYS.NUM EQU 16 -.ZX_RAM_PAGES EQU #C190 ; или только один байт - BlockID? ; vROM(10) + vRAM(32-1) + End_Byte(0); одна страница РАМ не считается - это страница 0. -.ZX_ROM_PAGES EQU #C191 ; block ID +;!TODO EQU #C190..#C191 .HDD_PARTITION_OFFSET EQU #C192 ; - #C195 ; [x] работа с разделами для функций 4x в BIOS ;[ ] current dir для TR-DOS HDD .CURRENT_DIR_SEC_L EQU #C196 ; word @@ -967,7 +966,7 @@ HardwareConfiguration EQU #1B ; !!!!! or #36 .Mask.TurboMode EQU %0000'0001 ; TURBO MODE (D0..D3 - 6 OR 7) .Mask.TurboExchange EQU %0000'0010 ; TURBO EXCHANGE ON/OFF - 1 .Mask.PortExchange EQU %0000'0100 ; PORT EXCHANGE ON/OFF - 1 -.Mask.Computer EQU %0001'1000 ; COMPUTER: 0-SPRINTER, 1-SPECTRUM 256, 2-PENTAGON 128, 3-OTHER +.Mask.Computer EQU %0001'1000 ; COMPUTER: 0-SPRINTER, 1-Scorpion 256, 2-PENTAGON 128, 3-Pentagon 512 ;!FIXIT ZX_CONFIG ;!FIXIT НЕ ИСПОЛЬЗУЕТСЯ ;REGISTER #35 - BASIC SETTING 1 (SYS_PAGE.CONFIG_DE+1 = #C13B on PAGE #FE) @@ -984,7 +983,7 @@ ZX_RST_TO EQU #35 ;REGISTER #36 - BASIC SETTING 2 ; старые значения неизвестны ; %0000 0111 ZX_CONFIG EQU #36 - ; новые значения: + ; новые значения: ;!FIXIT HardwareConfiguration .ZX_Sprinter EQU 0 .Pentagon_48 EQU 1 .Pentagon_128 EQU 2