mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
201 lines
3.2 KiB
Plaintext
201 lines
3.2 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
|
|
;
|
|
|
|
;
|
|
MACRO _CALC_DEVICE_ENTRY tbl_addr
|
|
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
|
|
IF SAVE_PATH_MACRO
|
|
PUSH HL
|
|
LD HL,BACK_CUR_PATH
|
|
EX (SP),HL
|
|
CALL SAVE_CUR_PATH
|
|
ENDIF
|
|
ENDM
|
|
MACRO _mRestorePath
|
|
IF SAVE_PATH_MACRO
|
|
CALL BACK_CUR_PATH
|
|
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
|
|
; |