DISKLISTASM;
; PSEUDODRUCKER ZUM UMLENKEN ALLER
; BILDSCHIRMAUSABEN AUF DATEI
; K.-D. KIRVES
; 29.12. 1988
;
CAOS	EQU	0F003H
KASPUF	EQU	0B700H
;
	ORG	0BA00H
;
	DEFW	7F7FH
	DEFM	'DISKLIST'
	DEFB	1
	CALL	CAOS
	DEFB	23H
	DEFM	'NAME :'
	DEFB	0
	CALL	CAOS
	DEFB	17H	;INLINE NAME
	LD	HL,6
	ADD	HL,DE
	LD	E,12
	LD	BC,82F3H
PS1:	LD	A,M
	OUT	(C),A
	INC	HL
	INC	B
	DEC	E
	JR	NZ,PS1
	LD	HL,HCOP
	LD	(0B799H),HL
	LD	HL,OUT
	LD	(0B7BEH),HL ;USEROUT1/#2
	LD	A,0BH
	LD	(STBT),A
	LD	HL,80F2H
	LD	(PUFF),HL
	RET
;
HCOP:	LD	HL,(0B7B9H)
	LD	A,M
	AND	A
	JR	Z,EIN
	LD	HL,NULL
	LD	BC,OUT
HCX:	LD	(0B7B9H),HL
	LD	(0B7BEH),BC
	RET
;
EIN:	LD	HL,ZWEI
	LD	BC,OUT0
	JR	HCX
;
NULL:	DEFB	0
ZWEI:	DEFB	2
;
OUT0:	PUSH	AF
	CALL	CAOS
	DEFB	0
	POP	AF
OUT:	LD	BC,(PUFF)
	LD	HL,0B7A2H
	BIT	3,M
	JR	Z,OUT01
	CP	20H
	JR	NC,OUT01
	LD	A,'.'
OUT01:	AND	A
	JR	NZ,OUT02
	LD	A,' '
OUT02:	OUT	(C),A
	CP	3
	JR	Z,CLOSE
	INC	B
	LD	(PUFF),BC
	RET	NZ ;PUFFER VOLL?
	LD	HL,80F2H
	LD	(PUFF),HL
HCOP4: 	LD	A,(STBT)
WAIT0:	LD	BC,80F3H
	OUT	(C),A
	LD	A,3
	LD	(STBT),A
WAIT:	LD	BC,80F3H
	IN	A,(C)
	RRA
	JR	NC,HCOP2
	LD	A,1
	CALL	CAOS
	DEFB	14H
	JR	WAIT
;
HCOP2:	BIT	6,A
	RET	Z
	INC	B
	IN	A,(C)
	CALL	CAOS
	DEFB	1CH
	CALL	CAOS
	DEFB	19H
PSOFF:	LD	HL,DRET
	LD	(0B799H),HL
	SCF
	LD	HL,NULL
	LD	(0B7B9H),HL
DRET:	RET
;
	DEFW	7F7FH
	DEFM	'LISTOFF'
	DEFB	1
CLOSE:	LD	BC,(PUFF)
	LD	A,1AH
	OUT	(C),A
	CALL	HCOP4
	RET	C
	LD	A,43H
	CALL	WAIT0
	JR	PSOFF
;
STBT:	DEFB	0
PUFF:	DEFW	0
;
ÿÿÿ