Estex-DSS/DSS/DSS_MACROSES.Z80
2023-09-28 05:08:25 +10:00

223 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;
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
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
;