DataMuseum.dk

Presents historical artifacts from the history of:

Intel ISIS Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Intel ISIS Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a3001af73⟧ TextFile

    Length: 3170 (0xc62)
    Types: TextFile
    Names: »T2TEST.SRC«

Derivation

└─⟦519079be6⟧ Bits:30005500 8" CR80 Floppy CR80FD_0029 ( WBOOTL.SYS W.D bootload program 81 10 01 ??? )
└─⟦519079be6⟧ Intel_ISIS_II
    └─ ⟦this⟧ »T2TEST.SRC« 

TextFile

	PUBLIC	START,OK,ERROR,T1RAM,T2RAM\r
	PUBLIC	RAM1,RAM2\r
;:*****************************************************************************\r
;*******        MULTI RAM TEST      *******************************************\r
;******************************************************************************\r
START	LD	SP,400H\r
	LD	DE,RAM1			;BEGIN\r
	LD	HL,RAM1+RAMSIZE-1\r
	LD	A,55H\r
	CALL	T1RAM\r
	JR	NZ,ERROR		;   RAM1 TEST\r
	NOP				;END\r
	LD	DE,RAM2			;BEGIN\r
	LD	HL,RAM2+RAMSIZE-1\r
	LD	A,33H\r
	CALL	T1RAM\r
	AND	A			;  RAM2 TEST\r
	JR	NZ,ERROR		;END\r
	NOP				;BEGIN\r
	LD	DE,RAM1\r
	LD	HL,RAM1+RAMSIZE-1\r
	LD	A,55H\r
	CALL	T2RAM			;  RAM1/RAM2 REFLECTION ERROR TEST\r
	AND	A\r
	JR	NZ,ERROR		;END\r
	NOP\r
OK	JP	START\r
ERROR	NOP\r
	JP	START\r
;\r
;-------RAM WRITE READ TEST-------------------------------T1RAM----------\r
		;DESCRIP: THE ROUTINE CHECK THE RAM FOR WRITE/READ\r
		;	AND REFLECTION ERROR.\r
		;	THE RAM IS LEFT WITH THE COMPLEMENTED TEST PATTERN\r
		;	INTO THE FIRST RAM ADDRESS,THE TEST PATTERN INTO\r
		;	SECOND AND SO ON.\r
		;ENTRY:	A - TEST PATTERN\r
		;	DE - FIRST RAM ADDRESS\r
		;	HL - LAST RAM ADDRESS\r
		;EXIT:	A = 0 TEST COMPLETED\r
		;	A <> 0 : HL - ERROR ADDRESS.\r
		;DESTROY: F,DE,HL,(RAM)\r
		;TIME: 154+104+BYTE COUNT TCYCLES\r
T1RAM	PUSH	AF		;SAVE ENTRY DATA\r
	PUSH	DE\r
	PUSH	HL\r
	AND	A\r
	SBC	HL,DE		;BYTE COUNT = START ADDR. - END ADDR.\r
	EX	DE,HL		;FOR ADDR. = START TO END\r
	INC	E\r
	INC	D\r
	DEC	HL\r
T11LOOP	INC	HL\r
	LD	(HL),A		;  WRITE TEST PATTERN\r
	CP	(HL)\r
	JR	NZ,T11ERROR	;  JUMP IF WRITE/READ ERROR\r
	CPL			;  COMPLEMENT TEST PATTERN\r
	DEC	E\r
	JP	NZ,T11LOOP\r
	DEC	D\r
	JP	NZ,T11LOOP	;NEXT ADDR.\r
T11NEXT	POP	HL		;RESTORE ENTRY DATA\r
	POP	DE\r
	POP	AF\r
	AND	A\r
	SBC	HL,DE		;BYTE COUNT = START ADDR. - END ADDR.\r
	EX	DE,HL		;FOR ADR. = START TO END\r
	INC	E\r
	INC	D\r
	DEC	HL\r
T12LOOP	INC	HL\r
	CP	(HL)		;  JUMP IF REFLECTION ERROR\r
	JR	NZ,T12ERROR\r
	CPL			;  COMPLEMENT TEST PATTERN\r
	LD	(HL),A		;  WRITE TEST PATTERN\r
	CP	(HL)\r
	JR	NZ,T12ERROR	;  JUMP IF WRITE/READ ERROR\r
	DEC	E\r
	JP	NZ,T12LOOP\r
	DEC	D\r
	JP	NZ,T12LOOP	;NEXT ADR.\r
T12NEXT	LD	A,0		;TEST COMPLET\r
	RET			;RETURN\r
T11ERROR POP	DE		;ADJUST STACK POINTER\r
	POP	DE\r
	POP	DE\r
T12ERROR LD	A,0FFH		;ERROR EXIT\r
	RET\r
;\r
;\r
;-------RAM READ TEST-------------------------------------T2RAM----------\r
		;DESCRIP: THE ROUTINE CHECK THE RAM FOR REFLECTION ERROR.\r
		;	THE ROUTINE IS USED IN CONJUNCTION WITH\r
		;	THE T1RAM ROUTINE FOR MULTI RAM TEST\r
		;ENTRY:	(FIRST RAM ADDR.) - COMPLEMENTED TEST PATTERN\r
		;	(SECOND RAM ADDRESS) - TEST PATTERN\r
		;	..\r
		;	.\r
		;	A - TEST PATTERN\r
		;	DE - FIRST RAM ADDRESS\r
		;	HL - LAST RAM ADDRESS\r
		;EXIT:	A = 0 TEST COMPLETED\r
		;	A <> 0 : HL - ERROR ADDRESS.\r
		;DESTROY: F,C,DE,HL\r
		;TIME: 58+38*BYTE COUNT TCYCLES\r
T2RAM	CPL\r
	AND	A\r
	SBC	HL,DE		;BYTE COUNT = START ADDR. - END ADDR.\r
	EX	DE,HL		;FOR ADR. = START TO END\r
	INC	E\r
	INC	D\r
	DEC	HL\r
T22LOOP	INC	HL\r
	CP	(HL)		;  JUMP IF REFLECTION ERROR\r
	JR	NZ,T22ERROR\r
	CPL			;  COMPLEMENT TEST PATTERN\r
	DEC	E\r
	JP	NZ,T22LOOP\r
	DEC	D\r
	JP	NZ,T22LOOP		;NEXT ADR.\r
T22NEXT	LD	A,0		;TEST COMPLET\r
	RET			;RETURN\r
T22ERROR LD	A,0FFH		;ERROR EXIT\r
	RET\r
;\r
RAMSIZE	EQU	20H\r
;\r
	DSEG\r
RAM1	DS	20H\r
	DS	20H\r
RAM2	DS	20H\r