Files
Sprinter-BIOS/bios/exp/FUNC_FOR_TRDOS.ASM
T

155 lines
1.7 KiB
NASM

;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
GET_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
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì, ­® ­¥ ¯®«ì§®¢ âìáï á⥪®¬ ⮣¤ 
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
SET_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 (HL),E
;
;LD L,(HL)
LD L,E
;
EX AF,AF'
OUT (SLOT2),A
LD A,L
POP HL
RET
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; 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
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; 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
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; HDD A, DRV - B
HDD_TO_DRV:
AND #0F
OR #40
LD C,A
LD A,B
CP 4
CCF
RET C
;
LD H,high (SYS_PAGE.DISK_TYPE-#4000)
LD L,B
;
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
LD (HL),A
LD A,B
OUT (SLOT2),A
;
AND A
RET
;
; ­¥ 㡨¢ ¥â DE ¨ BC
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
;