File: BLOV43.PA of Tape: Various/System-Tapes/s5
(Source file text)
/BUILD MODS FOR S/I DISKS /SYSTEM INDUSTRIES, INC. /535 DEL REY AVENUE /SUNNYVALE, CALIFORNIA 94086 /THIS IS AN OVERLAY TO DEC'S BUILD PROGRAM /FOR OS/8 VERSION II, ALLOWING IT TO BE USED WITH /SYSTEM INDUSTRIES MODEL 3400/3500 STORAGE SYSTEMS. /HANDLER MODIFIED TO EXIT WITH NO ERRORS AND NO DATA XFER ON ZERO PAGE COUNT 8/73 /DEFINITIONS: /PORT0: FOR 128 WORD/SECTOR DISKS, PORT0=1; FOR 256 WORD/SECTOR / DISKS, PORT0=0. PORT0=0 DOFF0=146 /QUARTER SIZE MOVING-HEAD DISK DCODE=50 /DEVICE CODE OF CONTROLLER SISD=3640 /ASSEMBLY LOC FOR BUILD DSDD=10^DCODE+6001 DLCR=10^DCODE+6002 DCSR=10^DCODE+6004 DRSR=10^DCODE+6005 DSDE=10^DCODE+6011 DLSR=10^DCODE+6012 DSRR=10^DCODE+6013 DLTR=10^DCODE+6014 DWCA=10^DCODE+6017 *SISD 6 /SIXTH DEVICE IN BUILD 4370 /DCB (DEVICE # ONE LESS THAN ACTUAL!!) -6502 /CORE COMPARISON WORD (-[CONTENTS OF 7636]) NOPUNC *7607 ENPUNC EJECT /INITIALIZATION CODE SHNDLR, 0 /ENTRY/EXIT POINT CLL CLA /NEVER TRUST THE USER TO PASS A CLEAR AC DCA SYSDSK /CLEAR TRACK OFFSET TAD I SHNDLR DCA WRD1 /GET FUNCTION CONTROL WORD TO LOCAL STORAGE ISZ SHNDLR TAD I SHNDLR DCA CORADR /GET DATA BUFFER ADDRESS ISZ SHNDLR TAD I SHNDLR DCA DADR /GET DISK BLOCK-ADDRESS ISZ SHNDLR /PARTIALLY FIX EXIT RDF TAD KCDIF DCA SHNXIT+1 /SET UP FIELD CHANGER FOR EXITING TAD WRD1 /CONVERT PAGE COUNT TO WORD COUNT AND M3700 /CLEAN OUT JUNK BITS SNA JMP SHNXIT-1 /TAKE NORMAL EXIT ON ZERO WORD COUNT CLL RAL DCA WDCNT TAD KM20 DCA ERRCNT /INITIALIZE RETRY COUNTER /ALL INITIALIZATION CODE IS NOW DONE, PROCEED WITH REAL WORK EJECT SHNDLP, DLCR /INSURE INTERFACE DATA FIELD=0 DCSR /CLEAR STATUS REGISTER TAD WCCALC DWCA /TELL INTERFACE WHERE TO FIND CONTROL WORDS TAD KIONS DCA SHNIOU /SET UP ACTUAL I/O READ TAD WRD1 SPA ISZ SHNIOU /SET UP FOR WRITE RTL ; RTL ; RTL AND M7000 DLCR /LOAD DATA BUFFER FIELD TAD DADR IFNZRO PORT0 <CLL RAL> /FOR 128 WD/SECTOR DISKS IFZERO PORT0 <AND M17> /FOR 256 WD/SECTOR DISKS DLSR /LOAD SECTOR ADDRESS REGISTER CLL CLA TAD DADR RTR ; RTR AND M377 /DEVELOP TRACK ADDRESS TAD SYSDSK SHNIOU, HLT /A REAL TRACK LOAD AND GO IS PLACED HERE JMP DWAIT DADR, 0 /-DSK- DRIVER FOR SI DISK DSKDRV, 0 /ENTRY-EXIT POINT CLL CLA TAD DSKDRV DCA SHNDLR /FOOL -SHNDLR- INTO THINKING IT WAS CALLED TAD KOFSET /SET -DSK- OFFSET ON UNIT 0 JMP SHNDLR+2 /GO ENTER NORMAL SHNDLR EJECT WRD1, 0 M7000, 7000 ERRCNT, 0 IFNZRO 7701-. <NZERR> HLT /CATCH USER LOOKING FOR-USR-IN WRONG FIELD KCDIF, CDF CIF 0 KIONS, DLTR-WDCNT KOFSET, DOFF0^2 M17, 17 M377, 377 M3700, 3700 SYSDSK, 0 WCCALC, .+1 WDCNT, 0 CORADR, 0 KM20, -20 DWAIT, CLL CLA DSDD JMP .-1 /WAIT FOR OPERATION TO FINISH DSDE /WAS THERE AN ERROR? JMP SHNXIT-1 /NO, GO EXIT ISZ ERRCNT /BUMP ERROR COUNTER JMP SHNDLP /RETRY UNTIL COUNT EXPIRES CLL CML SKP ISZ SHNDLR /BUMP EXIT ADDRESS TO TAKE NORMAL EXIT SHNXIT, CLA RAR HLT /RESET FIELDS TO THOSE OF CALLER JMP I SHNDLR /EXIT /BLOCK ZERO BOOTSTRAP *SISD+140 NOPUNC *0 ENPUNC NOP /PAD TO GET TO TOGGLE IN BOOT NOP NOP NOP DSDD JMP .-1 DSDE /CHECK FOR ERRORS JMP BOOT DRSR /QUIT NOW WITH STATUS IN AC HLT JMP .-1 BOOTX1, 177 BOOTX2, 7577 BOOTX3, 46 BOOTX4, 7646 BOOT, TAD I BOOTX1 DCA I BOOTX2 TAD I BOOTX3 CDF 10 DCA I BOOTX4 CDF 0 TAD BOOTX2 SZA CLA JMP BOOT JMP I RESTRT RESTRT, 7605 /BOOTSTRAP PROCEDURE: /TOGGLE IN FOLLOWING INSTRUCTIONS /LOC OCTAL INST /0 6502 DLCR /ASSURE DATA FIELD 0 (ALSO WORD COUNT) /1 0000 /START CORE ADDRESS /2 6517 DWCA /SET WC, CA FROM 0 AND 1 /3 6512 DLSR /SECTOR 0 /4 6514 DLTR /READ FROM TRACK ZERO /5 5005 JMP . /WAIT FOR RESULT /START THE BOOT AT ADDRESS ZERO /NOTE: / THE -AC- MUST BE ZERO. /MISCELLANEOUS CHANGES TO BUILD: ENPUNC *2611;4210 /CHANGE TD8E DCB TO DEVICE #22 *7401;4210 /ROM TD8E DCB ALSO #22 *6041;DSKDRV /DSK ENTRY POINT (RESIDENT) *6170;DSKDRV&177 /TEST FOR DSK ENTRY POINT *7334;-6240 /BLOCKS AVAILABLE ON SYS: *7336;0413;2311 /MAKE DEVICE GENERIC NAME SIDK (WAS RK8) /THE FOLLOWING CHANGES MAKE BUILD WORK PROPERLY /FOR DUAL ENTRY POINT DISKS: *4053; 1750 *4056; 2350 ; 5750 *4063; 3350 *4065; 2350 *4150; 0000;4777;6240;5235;5256 *5557; 4150 *6172; 4150 $$$$