Crazy-Blaster/Crazy Estex DSS/DSS/DSS_MACROSES.Z80
Anatoliy Belyanskiy ace6b0904b First init
2024-07-29 01:59:31 +10:00

220 lines
3.8 KiB
Plaintext
Raw Permalink Blame History

;
; 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
;
;
; <20><><EFBFBD><EFBFBD>: L - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><E2A0A1><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD>: IY - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: HL, DE, IY.
MACRO LOGDRV_ENTRY_FIND tbl_addr
LD H,0
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,HL
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
LD A,(BANKTBL+new_page)
LD B,A
LD C,SLOT3
IN A,(SLOT3)
OUT (C),B
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
;
////////////////////////////////////////////////////////////////////////
;
; 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
;