Estex-DSS/DSS/DSS_MACROSES.Z80
Tolik b38d6ccd48 removed #55aa for GenIOCTL
new subfunction GetMoreParams for GenIOCTL
2026-03-27 00:16:01 +10:00

240 lines
3.9 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.

;
; ‚•Ž„: L - «®£¨ç¥áª¨© ­®¬¥à ¢ â ¡«¨æ¥
; ‚›•Ž„: IY - ­ ç «® § ¯¨á¨
; <20>Ž<EFBFBD>ˆ: HL, DE, IY.
MACRO LOGDRV_ENTRY
LD H,0
ADD HL,HL
ADD HL,HL
ADD HL,HL
ADD HL,HL
EX DE,HL
ADD IY,DE
ENDM
MACRO LOGDRV_ENTRY_FIND tbl_addr
LD IY,tbl_addr
LOGDRV_ENTRY
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 SET_PAGE_X new_page
LD C,new_page
CALL SET_PAGE_X
ENDM
;
;
; 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 _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
;