This commit is contained in:
Anatoliy Belyanskiy 2023-08-22 18:25:37 +10:00
parent efb679dd65
commit 5aa6ffff2b

View File

@ -393,9 +393,13 @@ SCR_SyncPort EQU #FE
; ;
SLOT0 EQU #82 ; ­®¬¥à ¡ ­ª¨ 0 SLOT0 EQU #82 ; ­®¬¥à ¡ ­ª¨ 0
.MEM_ADDR EQU #00
SLOT1 EQU #A2 ; ­®¬¥à ¡ ­ª¨ 1 SLOT1 EQU #A2 ; ­®¬¥à ¡ ­ª¨ 1
.MEM_ADDR EQU #4000
SLOT2 EQU #C2 ; ­®¬¥à ¡ ­ª¨ 2 SLOT2 EQU #C2 ; ­®¬¥à ¡ ­ª¨ 2
.MEM_ADDR EQU #8000
SLOT3 EQU #E2 ; ­®¬¥à ¡ ­ª¨ 3 SLOT3 EQU #E2 ; ­®¬¥à ¡ ­ª¨ 3
.MEM_ADDR EQU #C000
PORT_Y EQU #89 ; ¢¥à⨪ «ì­ ï ª®®à¤¨­ â  â®çª¨ ­  £à ä¨ç¥áª®¬ íªà ­ PORT_Y EQU #89 ; ¢¥à⨪ «ì­ ï ª®®à¤¨­ â  â®çª¨ ­  £à ä¨ç¥áª®¬ íªà ­
RGADR EQU #89 ; áâà ­¨æ  VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬  RGADR EQU #89 ; áâà ­¨æ  VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬ 
@ -434,7 +438,8 @@ PAL_SCP EQU #1E ;?????
DCP_PAGE EQU #40 DCP_PAGE EQU #40
; áâà ­¨æ  ¨á¯®«ì§ã¥¬ ï DSS ; áâà ­¨æ  ¨á¯®«ì§ã¥¬ ï DSS
DSS_PAGE EQU #FF ;DSS_PAGE EQU #FF
SHARED_PAGE EQU #FF
ZERO_PAGE EQU 0 ZERO_PAGE EQU 0
; áâà ­¨æ  ¤«ï ¯¥à¥å¢ â  à¥á¥â  ¨ ¥éñ 祣®-â® ; áâà ­¨æ  ¤«ï ¯¥à¥å¢ â  à¥á¥â  ¨ ¥éñ 祣®-â®
Spec_Page EQU #41 Spec_Page EQU #41
@ -510,14 +515,16 @@ SYS_PAGE EQU #FE
; Sp2000 â㤠 ¯¨å ¥âáï §­ ç¥­¨¥ ⨯  #FEFF ; Sp2000 â㤠 ¯¨å ¥âáï §­ ç¥­¨¥ ⨯  #FEFF
.CONFIG_BYTE EQU #C13E .CONFIG_BYTE EQU #C13E
;;;;
.WIN_MAP_SC EQU #C140 .WIN_MAP_SC EQU #C140
.WIN_TAB_SC EQU #C142 .WIN_TAB_SC EQU #C142 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_HL EQU #C144 .WIN_SAV_HL EQU #C144 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_DE EQU #C146 .WIN_SAV_DE EQU #C146 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_SAV_BC EQU #C148 .WIN_SAV_BC EQU #C148 ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_ZG EQU #C14A .WIN_ZG EQU #C14A
.WIN_PLACE_WIN EQU #C14C .WIN_PLACE_WIN EQU #C14C ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
.WIN_GR_MAP EQU #C14E .WIN_GR_MAP EQU #C14E ;!FIXIT ­ ©â¨ £¤¥ ¨á¯®«ì§ãîâáï
;;;;
.SYS_WORK1 EQU #C150 .SYS_WORK1 EQU #C150
.SYS_WORK2 EQU #C152 .SYS_WORK2 EQU #C152
@ -525,8 +532,8 @@ SYS_PAGE EQU #FE
.SYS_WORK4 EQU #C156 .SYS_WORK4 EQU #C156
.WIN_MAP_LAB1 EQU #C158 .WIN_MAP_LAB1 EQU #C158
.WIN_MODE_SH EQU #C15C .WIN_MODE_SH EQU #C15C ; ¬¥áâ® ¯® ¢¥à⨪ «¨ á  ¤à¥á®¬
.WIN_MODE_SC EQU #C15E .WIN_MODE_SC EQU #C15E ; ¬¥áâ® ¯® £®à¨§®­â «¨ ¨ áâà ­¨æ  ¬®¤ë
.MSD_FAT_SEC EQU #C160 ; ­ ç «ì­ë© ᥪâ®à FAT .MSD_FAT_SEC EQU #C160 ; ­ ç «ì­ë© ᥪâ®à FAT
.MSD_FAT_SEC2 EQU #C162 ; ­ ç «ì­ë© ᥪâ®à FAT .MSD_FAT_SEC2 EQU #C162 ; ­ ç «ì­ë© ᥪâ®à FAT
@ -588,7 +595,7 @@ SYS_PAGE EQU #FE
.MS_FAT EQU #CC00 ; ¡ãä¥à FAT sector .MS_FAT EQU #CC00 ; ¡ãä¥à FAT sector
.MS_BUF EQU #D000 ; ¡ãä¥à DAT sector .MS_BUF EQU #D000 ; ¡ãä¥à DAT sector
.WIN_MAP_IX EQU #E000 ; ¤ ­­ë¥ ª àâ ®ª®­ .WIN_MAP_IX EQU #E000 ; ¤ ­­ë¥ ª àâ ®ª®­ (96 ®¯¨á â¥«¥© ¯® 32 ¡ ©â )
.TASK_DATA EQU #EC00 ; ¤ ­­ë¥ ¤«ï § ¤ ç .TASK_DATA EQU #EC00 ; ¤ ­­ë¥ ¤«ï § ¤ ç
@ -598,6 +605,7 @@ SYS_PAGE EQU #FE
.USER_VARS EQU #F018 ; ¯¥à¥¬¥­­ë¥ ¯®«ì§®¢ â¥«ï .USER_VARS EQU #F018 ; ¯¥à¥¬¥­­ë¥ ¯®«ì§®¢ â¥«ï
.SHARED_BUFFER_32b EQU #FEE0; - #FEFF
.CMOS_EMULATOR EQU #FF00 .CMOS_EMULATOR EQU #FF00
.USER_VARS_2 EQU .CMOS_EMULATOR + CMOS.MAX_ADDRESS + 1 .USER_VARS_2 EQU .CMOS_EMULATOR + CMOS.MAX_ADDRESS + 1
;------------[ OLD ]-------------; ;------------[ OLD ]-------------;
@ -816,32 +824,70 @@ SPECIAL_SECS EQU 28
FAT_ID EQU #36 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_SIZE_H EQU 0 ; £®à¨§®­â «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
WIN_PLACE_H EQU 2 ; ¯®«®¦¥­¨¥ ¯® £®à¨§®­à «¨, ¢ §­ ª®¬¥áâ å ; WIN_SIZE_V EQU 1 ; ¢¥à⨪ «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
WIN_PLACE_V EQU 3 ; ¯®«®¦¥­¨¥ ¯® ¢¥à⨪ «¨ ¢ §­ ª®¬¥áâ å ; WIN_PLACE_H EQU 2 ; ¯®«®¦¥­¨¥ ¯® £®à¨§®­à «¨, ¢ §­ ª®¬¥áâ å
WIN_MODE EQU 4 ; ०¨¬ §­ ª®¬¥áâ  ; WIN_PLACE_V EQU 3 ; ¯®«®¦¥­¨¥ ¯® ¢¥à⨪ «¨ ¢ §­ ª®¬¥áâ å
WIN_MODE_S EQU 5 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬ ; WIN_MODE EQU 4 ; ०¨¬ §­ ª®¬¥áâ 
; ¡¨â 0 - Sp-SCR, ; WIN_MODE_S EQU 5 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬
WIN_GR_X EQU 6 ; ¯®«®¦¥­¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ) ; ; ¡¨â 0 - Sp-SCR,
WIN_GR_Y EQU 7 ; ¯®«®¦¥­¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ) ; WIN_GR_X EQU 6 ; ¯®«®¦¥­¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
; WIN_GR_Y EQU 7 ; ¯®«®¦¥­¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
WIN_HL EQU 8 ; á®åà ­¥­¨¥ HL ; WIN_HL EQU 8 ; á®åà ­¥­¨¥ HL
WIN_BC EQU 10 ; á®åà ­¥­¨¥ BC ; WIN_BC EQU 10 ; á®åà ­¥­¨¥ BC
WIN_DE EQU 12 ; á®åà ­¥­¨¥ DE ; WIN_DE EQU 12 ; á®åà ­¥­¨¥ DE
WIN_V_BEG EQU 14 ; ­ ç «® ®ª­  ¯® ¢¥à⨪ «¨ ; WIN_V_BEG EQU 14 ; ­ ç «® ®ª­  ¯® ¢¥à⨪ «¨
WIN_V_END EQU 15 ; ª®­¥æ ®ª­  ¯® ¢¥à⨪ «¨ ; WIN_V_END EQU 15 ; ª®­¥æ ®ª­  ¯® ¢¥à⨪ «¨
WIN_H_BEG EQU 16 ; ­ ç «® ®ª­  ¯® £®à¨§®­â «¨ ; WIN_H_BEG EQU 16 ; ­ ç «® ®ª­  ¯® £®à¨§®­â «¨
WIN_H_END EQU 17 ; ª®­¥æ ®ª­  ¯® £®à¨§®­â «¨ ; WIN_H_END EQU 17 ; ª®­¥æ ®ª­  ¯® £®à¨§®­â «¨
WIN_SIZE_REL EQU 18 ; ॠ«ì­ë© à §¬¥à ¢ ᨬ¢®« å ; WIN_SIZE_REL EQU 18 ; ॠ«ì­ë© à §¬¥à ¢ ᨬ¢®« å
WIN_MODE_E EQU 19 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬ íªà ­  ; WIN_MODE_E EQU 19 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬ íªà ­ 
WIN_WORK_1 EQU 20 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 1 ; WIN_WORK_1 EQU 20 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 1
WIN_WORK_2 EQU 21 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 2 ; WIN_WORK_2 EQU 21 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 2
WIN_GRAF_X EQU 24 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® X ; WIN_GRAF_X EQU 24 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® X
WIN_GRAF_Y EQU 26 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® Y ; WIN_GRAF_Y EQU 26 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® Y
; ;
; ;
@ -1622,13 +1668,13 @@ ControlByte: ; Bits for HardDrive.Read.Status
.Busy EQU #80 ; BSY .Busy EQU #80 ; BSY
.Ready EQU #40 ; RDY .Ready EQU #40 ; RDY
.Fault EQU #20 .Fault EQU #20
.StreamErrror EQU .Fault
.DeferredWriteError EQU #10 .DeferredWriteError EQU #10
.DataRequest EQU #08 ; DRQ .DataRequest EQU #08 ; DRQ
.AlignmentError EQU #04 ; obsolete .AlignmentError EQU #04 ; obsolete
.SenseDataAvailable EQU #02 ; obsolete .SenseDataAvailable EQU #02 ; obsolete
.Error EQU #01 ; Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). .Error EQU #01 ; Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset).
.CheckCondition EQU .Error .CheckCondition EQU .Error
.StreamErrror EQU .Fault
/* /*
Bit Abbreviation Function Bit Abbreviation Function
0 ERR Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset). 0 ERR Indicates an error occurred. Send a new command to clear it (or nuke it with a Software Reset).
@ -1646,6 +1692,7 @@ Chanel:
.Set: EQU #BC ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. § á« âì '1' .Set: EQU #BC ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. § á« âì '1'
.Primary EQU #21 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  0 .Primary EQU #21 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  0
.Secondary EQU #01 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  1 .Secondary EQU #01 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  1
Device: Device:
.HDD EQU 1 .HDD EQU 1
.CDROM EQU 2 .CDROM EQU 2