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
.MEM_ADDR EQU #00
SLOT1 EQU #A2 ; ­®¬¥à ¡ ­ª¨ 1
.MEM_ADDR EQU #4000
SLOT2 EQU #C2 ; ­®¬¥à ¡ ­ª¨ 2
.MEM_ADDR EQU #8000
SLOT3 EQU #E2 ; ­®¬¥à ¡ ­ª¨ 3
.MEM_ADDR EQU #C000
PORT_Y EQU #89 ; ¢¥à⨪ «ì­ ï ª®®à¤¨­ â  â®çª¨ ­  £à ä¨ç¥áª®¬ íªà ­
RGADR EQU #89 ; áâà ­¨æ  VIDEO-RAM ¤«ï ᯥªâà㬮¢áª®£® ०¨¬ 
@ -434,7 +438,8 @@ PAL_SCP EQU #1E ;?????
DCP_PAGE EQU #40
; áâà ­¨æ  ¨á¯®«ì§ã¥¬ ï DSS
DSS_PAGE EQU #FF
;DSS_PAGE EQU #FF
SHARED_PAGE EQU #FF
ZERO_PAGE EQU 0
; áâà ­¨æ  ¤«ï ¯¥à¥å¢ â  à¥á¥â  ¨ ¥éñ 祣®-â®
Spec_Page EQU #41
@ -510,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
@ -525,8 +532,8 @@ SYS_PAGE EQU #FE
.SYS_WORK4 EQU #C156
.WIN_MAP_LAB1 EQU #C158
.WIN_MODE_SH EQU #C15C
.WIN_MODE_SC EQU #C15E
.WIN_MODE_SH EQU #C15C ; ¬¥áâ® ¯® ¢¥à⨪ «¨ á  ¤à¥á®¬
.WIN_MODE_SC EQU #C15E ; ¬¥áâ® ¯® £®à¨§®­â «¨ ¨ áâà ­¨æ  ¬®¤ë
.MSD_FAT_SEC EQU #C160 ; ­ ç «ì­ë© ᥪâ®à FAT
.MSD_FAT_SEC2 EQU #C162 ; ­ ç «ì­ë© ᥪâ®à FAT
@ -588,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 ; ¤ ­­ë¥ ¤«ï § ¤ ç
@ -598,6 +605,7 @@ SYS_PAGE EQU #FE
.USER_VARS EQU #F018 ; ¯¥à¥¬¥­­ë¥ ¯®«ì§®¢ â¥«ï
.SHARED_BUFFER_32b EQU #FEE0; - #FEFF
.CMOS_EMULATOR EQU #FF00
.USER_VARS_2 EQU .CMOS_EMULATOR + CMOS.MAX_ADDRESS + 1
;------------[ OLD ]-------------;
@ -816,32 +824,70 @@ SPECIAL_SECS EQU 28
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 ; ¯®«®¦¥­¨¥ ¯® £®à¨§®­à «¨, ¢ §­ ª®¬¥áâ å
WIN_PLACE_V EQU 3 ; ¯®«®¦¥­¨¥ ¯® ¢¥à⨪ «¨ ¢ §­ ª®¬¥áâ å
WIN_MODE EQU 4 ; ०¨¬ §­ ª®¬¥áâ 
WIN_MODE_S EQU 5 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬
; ¡¨â 0 - Sp-SCR,
WIN_GR_X EQU 6 ; ¯®«®¦¥­¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
WIN_GR_Y EQU 7 ; ¯®«®¦¥­¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
; ; ***** - Žª®­­ë¥ ¯¥à¥¬¥­­ë¥ - *****
; WIN_SIZE_H EQU 0 ; £®à¨§®­â «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
; WIN_SIZE_V EQU 1 ; ¢¥à⨪ «ì­ë© à §¬¥à ¢ §­ ª®¬¥áâ å
; WIN_PLACE_H EQU 2 ; ¯®«®¦¥­¨¥ ¯® £®à¨§®­à «¨, ¢ §­ ª®¬¥áâ å
; WIN_PLACE_V EQU 3 ; ¯®«®¦¥­¨¥ ¯® ¢¥à⨪ «¨ ¢ §­ ª®¬¥áâ å
; WIN_MODE EQU 4 ; ०¨¬ §­ ª®¬¥áâ 
; WIN_MODE_S EQU 5 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬
; ; ¡¨â 0 - Sp-SCR,
; WIN_GR_X EQU 6 ; ¯®«®¦¥­¨¥ ¯® X ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
; WIN_GR_Y EQU 7 ; ¯®«®¦¥­¨¥ ¯® Y ¢ ¯®«¥ £à ä¨ª¨ (¯® §­ ª®¬¥áâ)
WIN_HL EQU 8 ; á®åà ­¥­¨¥ HL
WIN_BC EQU 10 ; á®åà ­¥­¨¥ BC
WIN_DE EQU 12 ; á®åà ­¥­¨¥ DE
WIN_V_BEG EQU 14 ; ­ ç «® ®ª­  ¯® ¢¥à⨪ «¨
WIN_V_END EQU 15 ; ª®­¥æ ®ª­  ¯® ¢¥à⨪ «¨
WIN_H_BEG EQU 16 ; ­ ç «® ®ª­  ¯® £®à¨§®­â «¨
WIN_H_END EQU 17 ; ª®­¥æ ®ª­  ¯® £®à¨§®­â «¨
WIN_SIZE_REL EQU 18 ; ॠ«ì­ë© à §¬¥à ¢ ᨬ¢®« å
WIN_MODE_E EQU 19 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬ íªà ­ 
WIN_WORK_1 EQU 20 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 1
WIN_WORK_2 EQU 21 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 2
WIN_GRAF_X EQU 24 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® X
WIN_GRAF_Y EQU 26 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® Y
; WIN_HL EQU 8 ; á®åà ­¥­¨¥ HL
; WIN_BC EQU 10 ; á®åà ­¥­¨¥ BC
; WIN_DE EQU 12 ; á®åà ­¥­¨¥ DE
; WIN_V_BEG EQU 14 ; ­ ç «® ®ª­  ¯® ¢¥à⨪ «¨
; WIN_V_END EQU 15 ; ª®­¥æ ®ª­  ¯® ¢¥à⨪ «¨
; WIN_H_BEG EQU 16 ; ­ ç «® ®ª­  ¯® £®à¨§®­â «¨
; WIN_H_END EQU 17 ; ª®­¥æ ®ª­  ¯® £®à¨§®­â «¨
; WIN_SIZE_REL EQU 18 ; ॠ«ì­ë© à §¬¥à ¢ ᨬ¢®« å
; WIN_MODE_E EQU 19 ; ¤®¯®«­¨â¥«ì­ë© ०¨¬ íªà ­ 
; WIN_WORK_1 EQU 20 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 1
; WIN_WORK_2 EQU 21 ; à ¡®ç ï ¯¥à¥¬¥­­ ï 2
; WIN_GRAF_X EQU 24 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® X
; WIN_GRAF_Y EQU 26 ; ­ ç «ì­ ï ª®®à¤¨­ â  ¯® Y
;
;
@ -1622,13 +1668,13 @@ ControlByte: ; Bits for HardDrive.Read.Status
.Busy EQU #80 ; BSY
.Ready EQU #40 ; RDY
.Fault EQU #20
.StreamErrror EQU .Fault
.DeferredWriteError EQU #10
.DataRequest EQU #08 ; DRQ
.AlignmentError EQU #04 ; 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).
.CheckCondition EQU .Error
.StreamErrror EQU .Fault
/*
Bit Abbreviation Function
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'
.Primary EQU #21 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  0
.Secondary EQU #01 ; ¤«ï ¨á¯®«ì§®¢ ­¨ï á ­¥¯®«­®©  ¤à¥á æ¨¥© out (#bc),a. ‚ë¡®à ª ­ «  1
Device:
.HDD EQU 1
.CDROM EQU 2