DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3532 (0xdcc) Types: TextFile Names: »INIT.S«
└─⟦31b8a9b6a⟧ Bits:30005199 8" Zilog MCZ/1 Floppy CR80FD_0025 ( TC 500 SEC. PROTOCOL BB V2 830407 NCJ ) └─ ⟦this⟧ »INIT.S« └─⟦cf416a62a⟧ Bits:30005201 8" Zilog MCZ/1 Floppy CR80FD_0027 ( TC 500 SEC. PROTOCOL BACK UP! (V2) BB SEC 821119 NCJ ) └─ ⟦this⟧ »INIT.S«
;***************************************************************************** ;* ;* INIT MODULE ;* ;***************************************************************************** *INCLUDE CONSTANT.S FILLRAM MACRO *M OFF ;DESCRIP: RAM IS FILLED WITH SPECIFIED ; PATTERN ;ENTRY: PATTERN IN REG C ; LOWER ADD IN REG HL ; UPPER ADD IN REG DE ;EXIT: PATTERN IN REG C ; UPPER ADD IN REG DE,HL ;DESTR: REG A,F F1#$YM LD (HL),C ;FILL PATTERN IN RAM INC HL ;INC CURRENT ADD LD A,D CP H ;IF CURRENT ADD EQU. JR NZ,F1#$YM ;MAX ADD THEN LD A,E ;JUMP OUT CP L ;ELSE JR NZ,F1#$YM ;GOTO F#$YM *M ON ENDM *L ON ; ; GLOBAL EXBEGIN EXTERNAL START,SYSRAM,EXSCHED,PRO_CREATE EXTERNAL EMP1QUE,EMP2QUE,SUBENQ ; EXTERNAL EMP3QUE,EMP4QUE,BEGIN ; EXBEGIN DI LD SP,INISP LD HL,BEGIN LD DE,07FFFH LD BC,00H FILLRAM ; ; **** INITIALIZE HARDWARE **** ; CALL START ; ; **** 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