155 lines
1.7 KiB
NASM
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
|
||
; |