mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
227 lines
3.6 KiB
Plaintext
227 lines
3.6 KiB
Plaintext
;
|
||
MACRO BUFFER_KEYINTER
|
||
_mInfoALIGN 256,0
|
||
;KEYBOARD BUFFER
|
||
SBUF: BLOCK 64,0
|
||
|
||
|
||
HEAD DB #00
|
||
HOST DB #00
|
||
|
||
K_LOCK EQU $-KEYFLAG
|
||
LANG_L EQU 7
|
||
PAUSE_L EQU 6
|
||
RES5_L EQU 5
|
||
RES4_L EQU 4
|
||
NUM_L EQU 3
|
||
SCRL_L EQU 2
|
||
INS_L EQU 1
|
||
CAPS_L EQU 0
|
||
KEYFLAG DB #02 ;D0-Key Pressed
|
||
|
||
K_SHIFT EQU $-KEYFLAG
|
||
L_SHIFT EQU 7
|
||
R_SHIFT EQU 6
|
||
X_CTRL EQU 5
|
||
X_ALT EQU 4
|
||
L_CTRL EQU 3
|
||
L_ALT EQU 2
|
||
R_CTRL EQU 1
|
||
R_ALT EQU 0
|
||
KEYCTRL DB #00
|
||
|
||
KEYFLG EQU $-KEYFLAG
|
||
FLAG_E0 EQU 7
|
||
FLAG_F0 EQU 6
|
||
FLAG_E1 EQU 5
|
||
FLAG_04 EQU 4
|
||
FLAG_03 EQU 3
|
||
FLAG_02 EQU 2
|
||
FLAG_01 EQU 1
|
||
FLAG_00 EQU 0
|
||
DB #00
|
||
|
||
SOUND_K EQU $-KEYFLAG
|
||
FLAG_S7 EQU 7
|
||
FLAG_S6 EQU 6
|
||
FLAG_S5 EQU 5
|
||
FLAG_S4 EQU 4
|
||
FLAG_S3 EQU 3
|
||
FLAG_S2 EQU 2
|
||
SF_ALT EQU 1
|
||
SF_BUFF EQU 0
|
||
DB #03
|
||
;
|
||
; D15 - LShift
|
||
; D14 - RShift
|
||
; D13 - CTRL
|
||
; D12 - ALT
|
||
; D11 - LCTRL
|
||
; D10 - LALT
|
||
; D9 - RCTRL
|
||
; D8 - RALT
|
||
; D7 - Language Lock
|
||
; D6 - Reserved
|
||
; D5 - Reserved
|
||
; D4 - Reserved
|
||
; D3 - Num Lock
|
||
; D2 - Scroll Lock
|
||
; D1 - Insert Lock
|
||
; D0 - Caps Lock
|
||
;
|
||
; D15 - Keystroke
|
||
; D14
|
||
; D13 \
|
||
; D12 \
|
||
; D11 -- Position code (0...5Ah)
|
||
; D10 /
|
||
; D9 /
|
||
; D8
|
||
; D7..D0 - ASCII code
|
||
;
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO TABLE_XLAT_T
|
||
_mInfoALIGN 256,0
|
||
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||
XLAT_T: DB #00,#43,#00,#3F,#3D,#3B,#3C,#46,#00,#44,#42,#40,#3E,#0F,#00,#00 ;00
|
||
DB #00,#37,#29,#00,#36,#10,#02,#00,#00,#00,#2A,#1E,#1D,#11,#03,#00 ;10
|
||
DB #00,#2C,#2B,#1F,#12,#05,#04,#00,#00,#38,#2D,#20,#14,#13,#06,#00 ;20
|
||
DB #00,#2F,#2E,#22,#21,#15,#07,#00,#00,#00,#30,#23,#16,#08,#09,#00 ;30
|
||
DB #00,#31,#24,#17,#18,#0B,#0A,#00,#00,#32,#33,#25,#26,#19,#0C,#00 ;40
|
||
DB #00,#00,#27,#00,#1A,#0D,#00,#00,#1C,#34,#28,#1B,#00,#35,#00,#00 ;50
|
||
DB #00,#00,#00,#00,#00,#00,#0E,#00,#00,#51,#00,#54,#57,#00,#00,#00 ;60
|
||
DB #50,#4F,#52,#55,#56,#58,#01,#49,#45,#4D,#53,#4C,#4B,#59,#48,#00 ;70
|
||
DB #00,#00,#00,#41,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00 ;80
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
; ‚•Ž„: L - «®£¨ç¥áª¨© ®¬¥à ¢ â ¡«¨æ¥
|
||
; ‚›•Ž„: IY - ç «® § ¯¨á¨
|
||
; <20>Ž<EFBFBD>’ˆ’: HL, IY. HL<-->DE
|
||
MACRO LOGDRV_ENTRY_FIND tbl_addr
|
||
LD H,0
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
;LD B,H
|
||
;LD C,L
|
||
EX DE,HL
|
||
LD IY,tbl_addr
|
||
ADD IY,DE
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO _CALC_DEVICE_ENTRY tbl_addr
|
||
CP DSS_MAX_DRIVES_AMOUNT+1
|
||
JR C,.norm
|
||
; Error!
|
||
LD A,DSS_MAX_DRIVES_AMOUNT
|
||
.norm: LD C,A
|
||
ADD A,A
|
||
ADD A,C
|
||
LD C,A
|
||
LD B,0
|
||
LD HL,tbl_addr
|
||
ADD HL,BC
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO SET_PAGE_X new_page
|
||
; IF OLD_SET_BANK
|
||
; LD A,new_page
|
||
; CALL BANK
|
||
|
||
; ELSE
|
||
LD A,(BANKTBL+new_page)
|
||
LD B,A
|
||
LD C,SLOT3
|
||
IN A,(SLOT3)
|
||
OUT (C),B
|
||
; ENDIF
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO _mSavePath force
|
||
IF SAVE_PATH_MACRO
|
||
PUSH HL
|
||
IF force==1
|
||
LD HL,BACK_CUR_PATH.force
|
||
ELSE
|
||
LD HL,BACK_CUR_PATH
|
||
ENDIF
|
||
EX (SP),HL
|
||
CALL SAVE_CUR_PATH
|
||
ENDIF
|
||
ENDM
|
||
MACRO _mRestorePath
|
||
IF SAVE_PATH_MACRO
|
||
CALL BACK_CUR_PATH.force
|
||
ENDIF
|
||
ENDM
|
||
MACRO _mRestorStackAfterRestorePath
|
||
IF SAVE_PATH_MACRO
|
||
POP HL ;CLEAR STACK "BACK_CUR_PATH"
|
||
ENDIF
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO _mDSS_Version
|
||
DB 'DSS_'
|
||
db '0'+VERS
|
||
db '.'
|
||
db MODF/10+'0'
|
||
db MODF-(MODF/10)*10+'0'
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO C_OSTYPE
|
||
IF OSTYPE = DP
|
||
|
||
C_OSNAME
|
||
DB "-DP [",#30+REVISION,']',0
|
||
|
||
ELSEIF OSTYPE = BETA
|
||
|
||
C_OSNAME
|
||
DB '-BETA [',#30+REVISION,']',0
|
||
|
||
ELSEIF OSTYPE = RC
|
||
|
||
C_OSNAME
|
||
DB '-RC [',#30+REVISION,']',0
|
||
|
||
ELSEIF OSTYPE = RELEASE
|
||
|
||
C_OSRELEASE
|
||
;DB "-RELEASE",0
|
||
|
||
ELSE
|
||
|
||
C_OSNAME
|
||
DB "-UNKNOWN",0
|
||
|
||
ENDIF
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO C_OSNAME
|
||
DB "ESTEX",0
|
||
ENDM
|
||
;
|
||
|
||
;
|
||
MACRO C_OSRELEASE
|
||
DB "Estex DSS",0
|
||
ENDM
|
||
; |