diff --git a/constants/SP2000.inc b/constants/SP2000.inc index 2f6f1dc..feff332 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -496,7 +496,8 @@ SYS_PAGE EQU #FE .RAM_MSD EQU #C11E ; страница для работы в MS-DOS .MSD_SECS EQU #C11F ; Число секторов в MS-DOS .MSD_NAME EQU #C120 ; Адрес имени найденного файла -;.HDD_WRITE_PROTECT EQU #C122 ; копия содержимого ячейки кмос ;!TODO +;.HDD_WRITE_PROTECT EQU #C122 ; копия содержимого ячейки кмос +.CURRENT_RAM_DRV EQU #C122 ; текущий набор рамдисков для функции SWAP_RAM_DRIVES .INT_ADRESS EQU #C124 ; адрес обработчика прерывания .INT_PAGE EQU #C126 ; страница с обработчиком прерывания .INT_ID EQU #C127 ; если = #AA - значить обработчик установлен @@ -567,59 +568,59 @@ SYS_PAGE EQU #FE .TMP_BUFFER EQU #C170; - #C17F .TMP_BUFFER.Size EQU #10 -.RAMD_KEYS EQU #C180 ; RAM-Disks ID's - адрес в SYS_PAGE для каждой буквы рамдиска -.RAMD_KEYS.E EQU #C180 ; по которому хранится его начальный блок памяти -.RAMD_KEYS.F EQU #C181 -.RAMD_KEYS.G EQU #C182 -.RAMD_KEYS.H EQU #C183 -.RAMD_KEYS.I EQU #C184 -.RAMD_KEYS.J EQU #C185 -.RAMD_KEYS.K EQU #C186 -.RAMD_KEYS.L EQU #C187 -.RAMD_KEYS.M EQU #C188 -.RAMD_KEYS.N EQU #C189 -.RAMD_KEYS.O EQU #C18A -.RAMD_KEYS.P EQU #C18B -.RAMD_KEYS.Q EQU #C18C -.RAMD_KEYS.R EQU #C18D -.RAMD_KEYS.S EQU #C18E -.RAMD_KEYS.T EQU #C18F -.RAMD_KEYS.NUM EQU 16 +.RAMD_KEYS EQU #C180 ; RAM-Disks ID's - адрес в SYS_PAGE для каждой буквы рамдиска +.RAMD_KEYS.E EQU #C180 ; по которому хранится его начальный блок памяти +.RAMD_KEYS.F EQU #C181 +.RAMD_KEYS.G EQU #C182 +.RAMD_KEYS.H EQU #C183 +.RAMD_KEYS.I EQU #C184 +.RAMD_KEYS.J EQU #C185 +.RAMD_KEYS.K EQU #C186 +.RAMD_KEYS.L EQU #C187 +.RAMD_KEYS.M EQU #C188 +.RAMD_KEYS.N EQU #C189 +.RAMD_KEYS.O EQU #C18A +.RAMD_KEYS.P EQU #C18B +.RAMD_KEYS.Q EQU #C18C +.RAMD_KEYS.R EQU #C18D +.RAMD_KEYS.S EQU #C18E +.RAMD_KEYS.T EQU #C18F +.RAMD_KEYS.NUM EQU 16 .ZX_PAGES EQU #C190 ; или только один байт - BlockID? ; vROM(10) + vRAM(32-1) + End_Byte(0); одна страница РАМ не считается - это страница 0. ;!TODO EQU #C1BA..#C1BF - 6 bytes ; -.IDE_0 EQU #C1C0 -.IDE_1 EQU #C1C8 -.IDE_2 EQU #C1D0 -.IDE_3 EQU #C1D8 +.IDE_0 EQU #C1C0 +.IDE_1 EQU #C1C8 +.IDE_2 EQU #C1D0 +.IDE_3 EQU #C1D8 ; -.FDD_0 EQU #C1E0 -.FDD_1 EQU #C1E8 +.FDD_0 EQU #C1E0 +.FDD_1 EQU #C1E8 +.FDD_TBL.Size EQU #10 ; ; копии рамдисков для переключения между режимами Spectrum / Sprinter -; !TODO воткнуть механизм переключения в функции биоса -.TMP_RAMD_KEYS EQU #C1F0 ; RAM-Disks ID's - адрес в SYS_PAGE для каждой буквы рамдиска -.TMP_RAMD_KEYS.E EQU #C1F0 ; по которому хранится его начальный блок памяти -.TMP_RAMD_KEYS.F EQU #C1F1 -.TMP_RAMD_KEYS.G EQU #C1F2 -.TMP_RAMD_KEYS.H EQU #C1F3 -.TMP_RAMD_KEYS.I EQU #C1F4 -.TMP_RAMD_KEYS.J EQU #C1F5 -.TMP_RAMD_KEYS.K EQU #C1F6 -.TMP_RAMD_KEYS.L EQU #C1F7 -.TMP_RAMD_KEYS.M EQU #C1F8 -.TMP_RAMD_KEYS.N EQU #C1F9 -.TMP_RAMD_KEYS.O EQU #C1FA -.TMP_RAMD_KEYS.P EQU #C1FB -.TMP_RAMD_KEYS.Q EQU #C1FC -.TMP_RAMD_KEYS.R EQU #C1FD -.TMP_RAMD_KEYS.S EQU #C1FE -.TMP_RAMD_KEYS.T EQU #C1FF -.TMP_RAMD_KEYS.NUM EQU .RAMD_KEYS.NUM +.Sp_RAMD_KEYS EQU #C1F0 +.Sp_RAMD_KEYS.E EQU #C1F0 +.Sp_RAMD_KEYS.F EQU #C1F1 +.Sp_RAMD_KEYS.G EQU #C1F2 +.Sp_RAMD_KEYS.H EQU #C1F3 +.Sp_RAMD_KEYS.I EQU #C1F4 +.Sp_RAMD_KEYS.J EQU #C1F5 +.Sp_RAMD_KEYS.K EQU #C1F6 +.Sp_RAMD_KEYS.L EQU #C1F7 +.Sp_RAMD_KEYS.M EQU #C1F8 +.Sp_RAMD_KEYS.N EQU #C1F9 +.Sp_RAMD_KEYS.O EQU #C1FA +.Sp_RAMD_KEYS.P EQU #C1FB +.Sp_RAMD_KEYS.Q EQU #C1FC +.Sp_RAMD_KEYS.R EQU #C1FD +.Sp_RAMD_KEYS.S EQU #C1FE +.Sp_RAMD_KEYS.T EQU #C1FF +.Sp_RAMD_KEYS.NUM EQU .RAMD_KEYS.NUM ; -.RAMD_FAT EQU #C200 ; расположение блоков RAM-Disk-ов +.RAMD_FAT EQU #C200 ; RAM Table .MS_BPB EQU #C400 ; буфер BPB .HD_IDF_ADR EQU #C600 ; !FIXIT структурой сделать!!! .HD_IDF_ADR.heads EQU .HD_IDF_ADR+6 @@ -653,18 +654,18 @@ SYS_PAGE EQU #FE ;---------------------------------------------------------------------[] ; -/* - STRUCT FDD_INIT_TABLE -DISK BYTE 0 -F144 EQU FDD_0+0 -SECTORS EQU FDD_0+1 -MS_SECS EQU .SECTORS -HEADS EQU FDD_0+2 -CYLINDL EQU FDD_0+3 -CYLINDH EQU FDD_0+4 -B_P_S EQU FDD_0+5 - ENDS -*/ + +; STRUCT FDD_INIT_TABLE +; DISK BYTE 0 +; F144 EQU FDD_0+0 +; SECTORS EQU FDD_0+1 +; MS_SECS EQU .SECTORS +; HEADS EQU FDD_0+2 +; CYLINDL EQU FDD_0+3 +; CYLINDH EQU FDD_0+4 +; B_P_S EQU FDD_0+5 +; ENDS + ; MODULE FDD_INI_TABLE ; !FIXIT таблицы для FDD устройств 32 байта. привязаться к структуре выше FDD EQU 3 ; ????? хер его знает, что за параметр, разобраться