Directory of image this file is from
This file as a plain text file
/******* MULTI8 VIRTUAL DISK TASK ******* /LAST EDIT: 19-AUG-75, ELC (DEVICE NAME ADDED) /LAST EDIT: 6-AUGUST-75, JV /AUTHOR E.LOPES CARDOZO, PHYSIOLOGY UTRECHT, APRIL 75 / /THIS TASK PERFORMS THE CONVERSION BETWEEN A VIRTUAL DISK /REQUEST AND A TRUE PHYSICAL DISK REQUEST. IT MAY BE CALLED /AS AN ORDINARY BLOCKTRANSFER MODULE (WITHOUT QUEING) /AND WILL TRANSFORM THE CALLERS REQUEST ACCORDING TO THE /DEFINITIONS FOUND IN 'DSKTAB', WHICH SHOULD BE IN MONFLD AND /MUST BE SETUP BY THE POWERUP SEQUENCE. DSKTAB SHOULD CONTAIN /EIGHT ENTRIES OF THREE WORDS EACH DESCRIBING A VIRTUAL DISK /LAYOUT OF EACH ENTRY: / /WORD 0: NAME OF HANDLER TASK /WORD 1: BITS 9-11=PHYSICAL UNIT NUMBER /WORD 2: RELATIVE BLOCK # 0 /WORD 3: LAST BLOCK+1 (PHYSICAL) / /IF THE TRANSFER GOES ACROSS THE BOUNDS OF THE VIRTUAL DISK, /THE TRANSFER IS NOT DONE AND A HARDERR STATUS IS RETURNED. / DKUDTV=ZTEM1 DKUNIT=ZTEM3
"D^100+"K&3777 /TASK NAME IS "DK" 200 /ONE PAGE MODULE /PAGE HEADER: IDKDTV, DKDTV /RELOCATED POINTER TO TRANSFER VECTOR 0 /END OF PAGE HEADER DK, DCA DKUDTV /POINTER TO USERS DTV TAD I ZMYCDF /CDF TO USERS DTV, USED TO INITIALIZE DCA DKCDF /CDF-USER ROUTINE TAD I DKUDTV /FETCH FUNCTION WORD AND C7 /EXTRACT UNIT NUMBER DCA DKUNIT TAD DKUNIT CLL RTL /MULTIPLY BY 4 TAD (DSKTAB /INDEX IN DISK DESCRIPTOR TABLE CDF MONFLD /DSKTAB IS IN MONFLD JMS DEFER /FIRST WORD CONTAINS PHYSICAL UNIT NUMBER SNA /IS THIS UNIT DEFINED ? JMP DKERR /NO, ZERO NAME IS ILLEGAL DCA DKNAME /NAME OF HANDLER TASK ISZ X TAD I X /GET WORD 1 DCA DKDTV /BUILD A NEW DTV, THIS IS THE TRUE UNIT # DKCDF, HLT /CDF TO CALLERS FIELD TAD I DKUDTV /GET REST OF USERS FUNCTION WORD AND C7770 /MASK OF UNIT # TAD DKDTV /GET TRUE UNIT # DCA DKDTV /THIS IS THE FINAL FUNCTION WORD ISZ DKUDTV /BUMP POINTER TO USERS DTV TAD I DKUDTV /GET USERS BUFFER ADDRESS DCA DKDTV-'8?Ga%fU>OpI;^o3m7~c o1/V"HVGA(?n(b$`nlj5.B`=\