LP_PR_LINE_DIR, structure for SYS_PAGE's window variables

This commit is contained in:
Anatoliy Belyanskiy 2023-08-11 01:15:43 +10:00
parent 7e4985b402
commit 361bce691c
2 changed files with 50 additions and 7 deletions

View File

@ -70,6 +70,7 @@ BIOS:
.LP_PRINT_LINE6 EQU #8C ; ‚뢮¤ áâப¨ ᨬ¢®«®¢ ­  íªà ­ ¤® à §¤¥«¨â¥«ï ¡¥§  âਡã⮢
.LP_CLS_WIN2 EQU #8D ; Žç¨á⪠ íªà ­  á 㪠§ ­¨¥¬ ᨬ¢®«  § ¯®«­¥­¨ï
.LP_GET_PLACE EQU #8E ; <20>®«ãç¨âì ⥪ã饥 ¯®«®¦¥­¨¥ ¢ë¢®¤  ­  íªà ­
.LP_PR_LINE_DIR EQU #E0 ;!TODO ­¥¤®¤¥« ­ . <20>¥ç âì "¢ ª®­á®«ì" ¤® à §¤¥«¨â¥«ï
;---------------------------------------
;[ƒà ä¨ç¥áª¨¥ ä㭪樨]------------------

View File

@ -515,14 +515,16 @@ 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_TAB_SC EQU #C142 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_HL EQU #C144 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_DE EQU #C146 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_BC EQU #C148 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_ZG EQU #C14A
.WIN_PLACE_WIN EQU #C14C
.WIN_GR_MAP EQU #C14E
.WIN_PLACE_WIN EQU #C14C ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_GR_MAP EQU #C14E ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
;;;;
.SYS_WORK1 EQU #C150
.SYS_WORK2 EQU #C152
@ -593,7 +595,7 @@ SYS_PAGE EQU #FE
.MS_FAT EQU #CC00 ; ¡ãä¥à FAT sector
.MS_BUF EQU #D000 ; ¡ãä¥à DAT sector
.WIN_MAP_IX EQU #E000 ; ¤ ­­ë¥ ª àâ ®ª®­
.WIN_MAP_IX EQU #E000 ; ¤ ­­ë¥ ª àâ ®ª®­ (96 ®¯¨á â¥«¥© ¯® 32 ¡ ©â )
.TASK_DATA EQU #EC00 ; ¤ ­­ë¥ ¤«ï § ¤ ç
@ -824,7 +826,46 @@ 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 ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
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-å ¡ ©â®¢
ENDS
;-------------[]
; default window
WIN_ID_0 Window_Variables = SYS_PAGE.WIN_MAP_IX + Window_Variables * 0
;WIN_ID_1 Window_Variables = SYS_PAGE.WIN_MAP_IX + Window_Variables * 1
;WIN_ID_2 Window_Variables = SYS_PAGE.WIN_MAP_IX + Window_Variables * 2
; ...
;WIN_ID_95 Window_Variables = SYS_PAGE.WIN_MAP_IX + Window_Variables * 95
;-------------[]
/*
WIN_SIZE_H EQU 0 ; £®à¨§®­â «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
WIN_SIZE_V EQU 1 ; ¢¥à⨪ «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
WIN_PLACE_H EQU 2 ; ¯®«®¦¥­¨¥ ¯® £®à¨§®­â «¨, ¢ §­ ª®¬¥áâ å
@ -848,6 +889,7 @@ WIN_WORK_1 EQU 20 ; ࠡ
WIN_WORK_2 EQU 21 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 2
WIN_GRAF_X EQU 24 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® X
WIN_GRAF_Y EQU 26 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® Y
*/
;
;