Compucolor.org – Virtual Media

Listing of file='TESTB.SRC;01' on disk='vmedia/chip_129-sector.ccvf'

				;TEST 4
				;26 MARCH 1981

	ORG	0B000H

	FCS	EQU	0A95H
	OSTR	EQU	182AH

START:	LXI	H,MESS
	CALL	OSTR

	LXI	H,0C000H

FILL:	MVI	A,2EH	;'.' CHARACTER
	MOV	M,A
	INX	H
	MVI	A,7	;ATTRIBUTE
	MOV	M,A
	INX	H
	MOV	A,H
	CPI	0D0H
	JNZ	FILL

	LXI	H,MESS4
	CALL	OSTR	;WRITING

	LXI	H,COMM	;WRITE TO DISK
	CALL	FCS
	JNZ	ERROR

	MVI	D,30H	;TEST NUMBER

TEST:	PUSH	D
	MOV	A,D
	STA	7070H	;DISPLAY TEST NUMBER
	LXI	H,MESS3
	CALL	OSTR	;READING

	CALL	CLEAN

	LXI	H,COMM1	;READ FROM DISC
	CALL	FCS
	JNZ	ERROR

	LXI	H,MESS4
	CALL	OSTR	;WRITING

	LXI	H,COMM2	;PUT SCREEN TO DISK
	CALL	FCS
	JNZ	ERROR

	POP	D
	INR	D
	MOV	A,D
	CPI	3AH
	JNZ	TEST

	LXI	H,MESS2
	CALL	OSTR

JUMP:	JMP	JUMP	;LOOP


ERROR:	PUSH	H
	PUSH	PSW
	LXI	H,MESS1
	CALL	OSTR
	POP	PSW
	POP	H
	JMP	JUMP

CLEAN:	LXI	H,7080H

CLOTH:	XRA	A
	MOV	M,A
	INX	H
	MOV	A,H
	CPI	80H
	JNZ	CLOTH
	RET



	MESS:	DB	15,12,6,3,'DISC TEST :',6,2,3,50,0
		DB	'TEST        ',27,24,3,65,0,0EFH
	MESS1:	DB	6,1,3,40,0,31,'ERROR',15,3,65,0,0EFH
	MESS2:	DB	6,2,3,30,15,14,'DONE',15,3,65,0,0EFH
	MESS3:	DB	6,4,3,13,0,'READING',3,65,0,0EFH
	MESS4:	DB	6,5,3,13,0,'WRITING',3,65,0,0EFH

	COMM:	DB	'WRI 150 C000,F80',0
	COMM1:	DB	'REA 150 7080,F80',0
	COMM2:	DB	'WRI 150 7080,F80',0


	END	STAR