DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

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

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f74267a74⟧ TextFile

    Length: 2940 (0xb7c)
    Types: TextFile
    Names: »INIT.S«

Derivation

└─⟦f2a3f19b6⟧ Bits:30005203 8" Zilog MCZ/1 Floppy CR80FD_0030 ( BB LTU TEST BACK UP! BB VD1 821220 )
    └─ ⟦this⟧ »INIT.S« 

TextFile

*P 42
*INCLUDE CONST.S

*L ON
;
;
	GLOBAL		EXBEGIN
	EXTERNAL	EXSCHED,PRO_CREATE
	EXTERNAL	EMP1QUE,EMP2QUE,SUBENQ
;
	EXTERNAL	EMP3QUE,EMP4QUE
;




EXBEGIN
 
;		**** CLEAR Z80 RAM MEMORY ****
 
	LD	HL,RAMSTA+2
	LD	DE,SRAMB
	LD	C,0
EXB1	LD	(HL),C
	INC	HL
	LD	A,D
	CP	H
	JR	NZ,EXB1
 
;		**** CREATE PROCESSES ****
;
	CALL PRO_CREATE
;
;             ****  CREATE BUFFERS ****
;
	LD	HL,EMP1QUE	;ADDRESS OF EMPTY BUFFER QUEUE		10
	LD	DE,STA1BUF	;ADDRESS OF FIRST BUFFER AT CHANNEL 1	10
	LD	BC,NUM1BUF	;NUMBER OF BUFFERS TO BE EVALUATED	10
	LD	IY,BUFFSIZE	;BUFFER SIZE AT CHANNEL 1		10
	CALL	BUFEVA		;CALL EVALUATION MODULE
 
	LD	HL,EMP2QUE	;ADDRESS OF EMPTY BUFFER QUEUE		10
	LD	DE,STA2BUF	;ADDRESS OF FIRST BUFFER AT CHANNEL 2	10
	LD	BC,NUM2BUF	;NUMBER OF BUFFERS TO BE EVALUATED	10
	LD	IY,BUFFSIZE	;BUFFER SIZE AT CHANNEL 2		10
	CALL	BUFEVA		;CALL EVALUATION MODULE
;
 
	LD	HL,EMP3QUE	;ADDRESS OF EMPTY BUFFER QUEUE		10
	LD	DE,STA3BUF	;ADDRESS OF FIRST BUFFER AT CHANNEL 3	10
	LD	BC,NUM3BUF	;NUMBER OF BUFFERS TO BE EVALUATED	10
	LD	IY,BUFFSIZE	;BUFFER SIZE AT CHANNEL 3		10
	CALL	BUFEVA		;CALL EVALUATION MODULE
 
	LD	HL,EMP4QUE	;ADDRESS OF EMPTY BUFFER QUEUE		10
	LD	DE,STA4BUF	;ADDRESS OF FIRST BUFFER AT CHANNEL 4	10
	LD	BC,NUM4BUF	;NUMBER OF BUFFERS TO BE EVALUATED	10
	LD	IY,BUFFSIZE	;BUFFER SIZE AT CHANNEL 4		10
	CALL	BUFEVA		;CALL EVALUATION MODULE
;
	JP	EXSCHED
*E
;ECHO \f


*P 43
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;BUFEVA:GENERAL PROCESS FOR BUFFER EVALUATION.
;
;ENTRY POINT: REG HL: BUFFER QUEUE ADDRESS
;	      REG DE: ADDRESS OF FIRST BUFFER
;	      REG BC: NUMBER OF BUFFERS
;	      REG IY: BUFFER SIZE
;
;EXIT POINT:  NONE
;REGISTERS:   ALL DESTROYED.
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;EKS:		LD	HL,EMP1QUE	ADDRESS OF EMPTY BUFFER QUEUE CHANNEL 1
;		LD	DE,STA1BUF	ADDRESS OF FIRST BUFFER AT CHANNEL 1
;		LD	BC,NUM1BUF	NUMBER OF BUFFERS TO BE EVALUATED
;		LD	IY,BUFF1SIZE	BUFFER SIZE AT CHANNEL 1
;		CALL	BUFEVA		ACTIVATE EVALUATION MODULE
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
*E
BUFEVA	PUSH	HL		;SAVE BUFFER QUEUE ADDRESS		11
	PUSH	IY		;SAVE BUFFER SIZE			15
	PUSH	DE		;SAVE ADDRESS OF FIRST BUFFER		11
	PUSH	BC		;SAVE NUMBER OF BUFFERS TO EVALUATE	11
	DI			;					04
	CALL	SUBENQ		;CREATE BUFFER MODULE		       157
	EI			;					04
	POP	BC		;RESTORE NUMBER OF BUFFERS TO EVALUATE	10
	POP	DE		;RESTORE START ADDRESS OF LAST BUFFER	10
	POP	HL		;RESTORE BUFFER SIZE			10
	PUSH	HL		;SAVE BUFFER SIZE			11
	POP	IY		;RESTORE BUFFER SIZE			14
	ADD	HL,DE		;CALCULATE ADDRESS OF NEXT BUFFER	11
	EX	DE,HL		;					04
	POP	HL		;RESTORE ADDRESS OF BUFFER QUEUE	11
	DEC	BC		;DECREMENT NUMBER OF BUFFERS TO BE	06
				;EVALUATED				  
	LD	A,B		;					04
	OR	C		;					04
	JP	NZ,BUFEVA	;END					10
	RET			;RETURN					14
*E
	END
;ECHO \f