diff --git a/constants/SP2000.inc b/constants/SP2000.inc index dc2de88..5d04efc 100644 --- a/constants/SP2000.inc +++ b/constants/SP2000.inc @@ -621,7 +621,7 @@ 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 ; копия содержимого ячейки кмос +;.HDD_WRITE_PROTECT EQU #C122 ;!TODO ; копия содержимого ячейки кмос .CURRENT_RAM_DRV EQU #C122 ; текущий набор рамдисков для функции SWAP_RAM_DRIVES .INT_ADRESS EQU #C124 ; адрес обработчика прерывания .INT_PAGE EQU #C126 ; страница с обработчиком прерывания @@ -662,34 +662,34 @@ SYS_PAGE EQU #FE ; В Sp2000 туда пихается значение типа #FEFF .CONFIG_BYTE EQU #C13E ; -;;;; -.WIN_MAP_SC EQU #C140 -.WIN_TAB_SC EQU #C142 ; не используются -.WIN_SAV_HL EQU #C144 ; не используются -.WIN_SAV_DE EQU #C146 ; не используются -.WIN_SAV_BC EQU #C148 ; не используются -.WIN_ZG EQU #C14A -;.WIN_PLACE_WIN EQU #C14C ; не используются -;.WIN_GR_MAP EQU #C14E ; не используются +;;;; ;!TODO 16 bytes +; .WIN_MAP_SC EQU #C140 ; не используются +; .WIN_TAB_SC EQU #C142 ; не используются +; .WIN_SAV_HL EQU #C144 ; не используются +; .WIN_SAV_DE EQU #C146 ; не используются +; .WIN_SAV_BC EQU #C148 ; не используются +; .WIN_ZG EQU #C14A ; не используются +; .WIN_PLACE_WIN EQU #C14C ; не используются +; .WIN_GR_MAP EQU #C14E ; не используются ;;;; -.SYS_WORK1 EQU #C150 -.SYS_WORK2 EQU #C152 -.SYS_WORK3 EQU #C154 -.SYS_WORK4 EQU #C156 +.SYS_WORK1 EQU #C150 ; word +.SYS_WORK2 EQU #C152 ; word +;.SYS_WORK3 EQU #C154 ; не используются +;.SYS_WORK4 EQU #C156 ; не используются +;!TODO +;.WIN_MAP_LAB1 EQU #C158 +;.WIN_MODE_SH EQU #C15C ; место по вертикали с адресом +;.WIN_MODE_SC EQU #C15E ; место по горизонтали и страница моды -.WIN_MAP_LAB1 EQU #C158 -.WIN_MODE_SH EQU #C15C ; место по вертикали с адресом -.WIN_MODE_SC EQU #C15E ; место по горизонтали и страница моды - -.MSD_FAT_SEC EQU #C160 ; начальный сектор FAT -.MSD_FAT_SEC2 EQU #C162 ; начальный сектор FAT -.MSD_CAT_SEC EQU #C164 ; начальный сектор CAT -.MSD_CAT_SEC2 EQU #C166 ; начальный сектор CAT -.MSD_DAT_SEC EQU #C168 ; начальный сектор DAT -.MSD_DAT_SEC2 EQU #C16A ; начальный сектор DAT -.CLASTER_LEN EQU #C16C ; длина кластера в байтах -.CLASTER_LEN2 EQU #C16E ; длина кластера в байтах +.MSD_FAT_SEC EQU #C160 ; ZX-ROMS TR-DOS ; начальный сектор FAT +.MSD_FAT_SEC2 EQU #C162 ; ZX-ROMS TR-DOS ; начальный сектор FAT +.MSD_CAT_SEC EQU #C164 ; ZX-ROMS TR-DOS ; начальный сектор CAT +.MSD_CAT_SEC2 EQU #C166 ; ZX-ROMS TR-DOS ; начальный сектор CAT +.MSD_DAT_SEC EQU #C168 ; ZX-ROMS TR-DOS ; начальный сектор DAT +.MSD_DAT_SEC2 EQU #C16A ; ZX-ROMS TR-DOS ; начальный сектор DAT +.CLUSTER_LEN EQU #C16C ; ZX-ROMS TR-DOS ; длина кластера в байтах +.CLUSTER_LEN2 EQU #C16E ; ZX-ROMS TR-DOS ; длина кластера в байтах .TMP_BUFFER EQU #C170; - #C17F .TMP_BUFFER.Size EQU 16 @@ -1112,34 +1112,35 @@ FAT_ID EQU #36 ; ***** - Оконные переменные - ***** STRUCT Window_UserVars -.SIZE_H BYTE 0 ; +00 горизонтальный размер в знакоместах -.SIZE_V BYTE 0 ; +01 вертикальный размер в знакоместах -.PLACE_H BYTE 0 ; +02 положение по горизонтали, в знакоместах -.PLACE_V BYTE 0 ; +03 положение по вертикали в знакоместах -.MODE BYTE 0 ; +04 режим знакоместа -.MODE_S BYTE 0 ; +05 дополнительный режим: бит 0 - Sp-SCR -.GR_X BYTE 0 ; +06 положение по X в поле графики (по знакоместам) -.GR_Y BYTE 0 ; +07 положение по Y в поле графики (по знакоместам) +.SIZE_H BYTE 0 ; +00 горизонтальный размер в знакоместах +.SIZE_V BYTE 0 ; +01 вертикальный размер в знакоместах +.PLACE_H BYTE 0 ; +02 положение по горизонтали, в знакоместах +.PLACE_V BYTE 0 ; +03 положение по вертикали в знакоместах +.MODE BYTE 0 ; +04 режим знакоместа +.MODE_S BYTE 0 ; +05 дополнительный режим: бит 0 - Sp-SCR +.GR_X BYTE 0 ; +06 положение по X в поле графики (по знакоместам) +.GR_Y BYTE 0 ; +07 положение по Y в поле графики (по знакоместам) ENDS ; STRUCT Window_Variables -.USER Window_UserVars 0,0,0,0,0,0,0,0 -; Work vars -.reg_HL WORD 0 ; +08 сохранение HL -.reg_BC WORD 0 ; +10 сохранение BC -.reg_DE WORD 0 ; +12 сохранение DE -.V_BEG BYTE 0 ; +14 начало окна по вертикали -.V_END BYTE 0 ; +15 конец окна по вертикали -.H_BEG BYTE 0 ; +16 начало окна по горизонтали -.H_END BYTE 0 ; +17 конец окна по горизонтали -.SIZE_REL BYTE 0 ; +18 реальный размер в символах -.MODE_E BYTE 0 ; +19 дополнительный режим экрана -.WORK_1 BYTE 0 ; +20 рабочая переменная 1 -.WORK_2 BYTE 0 ; +21 рабочая переменная 2 -.WORK_3 WORD 0 ; +22 рабочая переменная 3 -.GRAF_X WORD 0 ; +24 начальная координата по X -.GRAF_Y WORD 0 ; +26 начальная координата по Y -.RESERVED BLOCK 4,0 ; +28 зарезервировано до 32-х байтов +.USER Window_UserVars 0,0,0,0,0,0,0,0 +; text mode +.LineAddr WORD 0;.reg_HL ; +08 сохранение HL. HL - координата Y в описателях для SLOT3 +.reg_BC WORD 0;.reg_BC ; +10 сохранение BC. B - кол-во символов в строке. C - temp +.ColumnRGADR_TXTMode WORD 0;.reg_DE ; +12 сохранение DE. D - PORT_Y (коорд. X), E - bit0: mode txt40/80 +; +.V_BEG BYTE 0 ; +14 начало окна по вертикали +.V_END BYTE 0 ; +15 конец окна по вертикали +.H_BEG BYTE 0 ; +16 начало окна по горизонтали +.H_END BYTE 0 ; +17 конец окна по горизонтали +.SIZE_REL BYTE 0 ; +18 реальный размер в символах +.MODE_E BYTE 0 ; +19 дополнительный режим экрана. bit0 - RGMOD +.WORK_1 BYTE 0 ; +20 рабочая переменная 1 +.WORK_2 BYTE 0 ; +21 рабочая переменная 2 +.WORK_3 WORD 0 ; +22 рабочая переменная 3 +.GRAF_X WORD 0 ; +24 начальная координата по X +.GRAF_Y WORD 0 ; +26 начальная координата по Y +.RESERVED BLOCK 4,0 ; +28 зарезервировано до 32-х байтов ENDS ;-------------[] ; default window