;!TODO исправить SLOT2 на SLOT3 и затестить 
;!TODO добавить описание
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_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)
	 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
	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,#40
	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
;