Sprinter-Core/src/bios/exp/FUNK_FOR_TRDOS.ASM
Anatoliy Belyanskiy 0271ac3713 Creation
2023-06-12 05:56:21 +10:00

148 lines
1.4 KiB
NASM

;
DISK_REDIR:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,(ZX_VARS.OPER_DISK)
AND 3
ADD A,L
LD L,A
LD L,(HL)
EX AF,AF'
OUT (SLOT2),A
LD A,L
POP HL
RET
;
;
SET_DISK_TYPE:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,(ZX_VARS.OPER_DISK)
AND 3
ADD A,L
LD L,A
LD (HL),E
LD L,(HL)
EX AF,AF'
OUT (SLOT2),A
LD A,L
POP HL
RET
;
; Disk A, DRV - B
FDD_TO_DRV:
CP 4
CCF
RET C
LD C,A
LD A,B
CP 4
CCF
RET C
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD (HL),C
LD A,B
OUT (SLOT2),A
AND A
RET
;
;
; RAM-Disk A, DRV - B
RAMD_TO_DRV:
CP SYS_PAGE.RAMD_KEYS.NUM
CCF
RET C
LD C,A
LD A,B
CP 4
CCF
RET C
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
ADD A,4
LD (HL),A
LD A,B
OUT (SLOT2),A
AND A
RET
;
;
; HDD A, DRV - B
HDD_TO_DRV:
AND 0FH
LD C,A
LD A,B
CP 4
CCF
RET C
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
ADD A,40H
LD (HL),A
LD A,B
OUT (SLOT2),A
AND A
RET
;
;
GET_DRV_ST:
CP 4
CCF
RET C
PUSH BC
LD HL,SYS_PAGE.DISK_TYPE-#4000
ADD A,L
LD L,A
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD C,(HL)
LD A,B
OUT (SLOT2),A
LD A,C
POP BC
AND A
RET
;