From: Richard Cornwell Date: Sun, 2 Jun 2019 04:48:59 +0000 (-0400) Subject: Fixed typos in PDP6 dectape controller. X-Git-Url: http://git.sky-visions.com/cgi-bin/gitweb.cgi/retro-software/dec/tops10/v4.5.git/commitdiff_plain/e0fec1517dc67b791890a0016bc6ecb0c168485d Fixed typos in PDP6 dectape controller. --- diff --git a/src/dtcsrn.mac b/src/dtcsrn.mac index c665ac5..64eaa93 100644 --- a/src/dtcsrn.mac +++ b/src/dtcsrn.mac @@ -50,7 +50,7 @@ NOBUFC=737777 ;-NOBUF CPBIT=-1 ;CONDITIONAL ASSEMBLY PARAMETER FOR I/O DIRECTLY ;TO USER. IF -1 THE I/O IN DUMP MODE WITH ;BIT 29 ON IN INIT WILL DO IO DIRECTLY TO USER - ;WIUTHOUT DIRECT CONSIDERATION OF BLOCK BOUNDRIES + ;WITHOUT DIRECT CONSIDERATION OF BLOCK BOUNDRIES INTERN DTCINT,DTCDDB,DTCINI,DTCDDS @@ -298,7 +298,7 @@ ENTRA: SUBI UUO,2 ;NO. POINT TO NAME ;IS A SAVE FILE (UGETF DONE) MOVEI BLK,DIRBLK ;NO. GET 1ST BLOCK CLOSE TO TLO IOS,RVERSE ;DIRECTORY. GOING IN REVERSE - POPJ PDP,USLSTA + PUSHJ PDP,USLSTA CAILE BLK,TOPBLK ;BLOCK LEGAL? POPJ PDP, ;NO. ERROR RETURN ENTRC: MOVEM BLK,FSTBLK(DEVDAT) ;SAVE AS 1ST BLOCK @@ -527,7 +527,7 @@ UOUT: TLO IOS,IO JRST UOUT2 ;YES PUSHJ PDP,DIRCHK ;NO. MAKE SURE DIRECTORY IS IN CORE HRRZ BLK,OBLK(DEVDAT) - CAIN BLK,DIRBLKK ;CHECK IF WRITING DIRECTORY + CAIN BLK,DIRBLK ;CHECK IF WRITING DIRECTORY JRST COR2HM ;YES, WRITE CORE IMAGE JUMPE BLK,FAKADV ;DONT WRITE IF NO BLOCK GIVEN PUSHJ PDP,BLKCHK ;CHECK FOR LEGAL BLOCK @@ -547,7 +547,7 @@ DTOCHK: TLNE IOS,DMPMOD ;DUMP MODE? HLRE BLK,BUF ;IS IT? JUMPL BLK,LSTBLK ;YES, - LAST BLOCK OF FILE JUMPN BLK,OUTBLK ;IF NON-0 - YES - TLNE IOS,DMPCLS ;NO. LAST BLOCK OF A DUMPO FILE? + TLZE IOS,DMPCLS ;NO. LAST BLOCK OF A DUMPO FILE? JRST OUTBLK ;YES. LINK MUST STAY 0 OUCOMP: PUSHJ PDP,USRFRE ;COMPUTE NEXT BLOCK TLO IOS,NOLINK ;THIS BLOCK NOT LINKED @@ -564,7 +564,7 @@ OUTBL2: HRRZ BLK,OBLK(DEVDAT) WRTBLK: PUSHJ PDP,FNDBLK ;GO SEARCH FOR BLOCK - MOVE TAC1,[BLKO DTC,700] ;HERE WE ARE - GO WRITE + MOVE TAC1,[BLKO DC,700] ;HERE WE ARE - GO WRITE JRST RDWRT ;WRITE LAST BLOCK LSTBLK: MOVEI BLK,0 ;LINK=0 @@ -577,9 +577,9 @@ COR2HM: MOVEI TAC,@DEVOAD(DEVDAT) ;WHERE IT IS MOVEI TAC1,177(TAC) BLT TAC,(TAC1) TLO IOS,CHNGDR ;REMEMBER TO WRITE IT OUT - MOVSI TAC1,DVDIRI + MOVSI TAC1,400000 ORM TAC1,DEVMOD(DEVDAT) ;DIR. IS NOW IN CORE -FAKADV: TLZN IOS,DMPMOD ;DUMP MODE? +FAKADV: TLZN IOS,DMPMOD PUSHJ PDP,ADVBFE ;ADVANCE BUFFERS JFCL TLZ IOS,NOLINK ;DIRECTORY BLOCK IS NOT LINKED @@ -591,7 +591,7 @@ DMPSET: TLO IOS,DMPMOD ;LIGHT BIT HRLI UUO,PROG PUSHJ PDP,COMCHK ;CHECK VALIDITY OF LIST JRST SVADER ;NG. GIVE ADRESS ERROR - SKIPL TAC,@UUO ;OK. NULL LIST? + SKIPN TAC,@UUO ;OK. NULL LIST? JRST DMPTS1 ;YES. RETURN IFN CPBIT, < TRNE IOS,UDSD ;NO. NON-STD MODE? @@ -616,7 +616,7 @@ TOUSER: JUMPE AC2,NOBLK0 ;CANT READ BLK 0 IN NON-STD DUMP MODE MOVEM UUO,SVPNTR ADDI TAC,(PROG) ;RELOCATE ADDRESS OF 1ST IOWD MOVEM TAC,PNTR ;AND SAVE IT - MOVE TAC,[JSP DMPADV] ;SET UP LOC FOR WHEN + MOVE TAC,[JSR DMPADV] ;SET UP LOC FOR WHEN MOVEM TAC,DCLOC1 ;IOWD IS EXHAUSTED HRRZM PROG,ADRPRG ;SAVE JUST ADDRESS OF PROG TLO IOS,NOBUF ;INDICATE DIRECTLY TO USER @@ -694,7 +694,7 @@ READBF: TLNN IOS,DMPMOD ;HAVE CONTROL IF DUMP-MODE PUSHJ PDP,GETDT ;GET DT CONTROL READBC: PUSHJ PDP,FNDBLK ;SEARCH FOR RIGHT BLOCK - MOVE TAC1,[BLKI DTC,300] ;FOUND IT - START READING + MOVE TAC1,[BLKI DC,300] ;FOUND IT - START READING ;HERE WITH BLK=BLOCK NUMBER, TAC1=FUNCTION, START SEARCH RDWRT: PUSH PDP,TAC @@ -711,9 +711,9 @@ IOGO: IFN CPBIT, < OR TAC1,UNIT ;UNIT AND PI CHAN MOVEM TAC1,COMAND ;SAVE COMMAND FOR READ OR WRITE POP PDP,TAC ;RESTORE SEARCH COMMAND - CONO DC,DCIN ;SET DATA CONTROL TO REAF + CONO DC,DCIN ;SET DATA CONTROL TO READ CONO PI,DCON ;TURN ON DC PI CHANNEL - HLRI TAC,37 + HRLI TAC,37 CONO PI,PIOFF CONO DTC,(TAC) ;START TAPE MOVING HLRM TAC,DTCINT @@ -723,7 +723,7 @@ IOGO: IFN CPBIT, < ;HERE FOR ANY DATA WORD WITH TAPE IN REVERSE RVERS: 0 -IOWD: BLKI DTC,PNTR ;READ (WRITE) A WORD +IOWD: BLKI DC,PNTR ;READ (WRITE) A WORD JRST RVTHRU ;POINTER RAN OUT SOS PNTR ;POINTER HAS TO BACK UP SOS PNTR @@ -742,7 +742,7 @@ SHUTDN: 0 CONSZ DC,10000 ;DATA MISSED? SETOM ERRFLG ;YES. SET SWITCH CONSO DTC,400 ;READING? - CONO DC,0 ;YES. TERN OFF DC + CONO DC,0 ;YES. TURN OFF DC CONO PI,DCOFF ;TURN OFF DC PI JRST @SHUTDN ;COME HERE TO START READING BLOCK NUMBERS @@ -785,7 +785,7 @@ FNDBL4: CONSZ DTC,10000 ;GOING BACKWARDS? ;INTERRUPT HERE TO READ A BLOCK NUMBER SRCH: 0 MOVEM TAC,TEMP ;SAVE TAC - DATAI DTC,TAC ;NO. READ A BLOCK NUMBER + DATAI DC,TAC ;NO. READ A BLOCK NUMBER SUB TAC,BLOCK ;;PRESENT BLOCK - TARGET BLOCK IFN CPBIT, < SKIPE DIRCTN ;IF DIRECT IO @@ -842,7 +842,7 @@ IORVRS: MOVEI TAC,10000 ;SET IO FOR REVERSE ;INTERRUPT HERE FOR FLAG CHANNEL DTCINT: CONSO DTS,37 ;INTERRUPT FOR DECTAPE? JRST . ;NO, GO AWAY - CONSZ DTS,40000 ;YES. JOB DONE ENABLED? + CONSO DTC,40000 ;YES. JOB DONE ENABLED? JRST BLKNUM ;NO. READING BLOCK NUMBERS CONSZ DTC,4000 ;YES. TIME FLAG ENABLED? JRST TIMINT ;YES. CHECK IF THIS IS A TIME INTERRUPT @@ -883,8 +883,8 @@ DTCIN2: TLNE IOS,DMPMOD ;DUMP MODE? MOVEI TAC1,177(TAC) BLT TAC,(TAC1) ;TRANSFER IT HLRZ BLK,BUF ;NEXT BLOCK TO READ - TRNE IOS,UDSD ;IF NON-STD - AOSA BLK,IBLK(DEVDAT);READ SEQUENTIAL BLOCKS + TRNE IOS,UDSD + AOSA BLK,IBLK(DEVDAT) ;READ SEQUENTIAL BLOCKS HRRM BLK,IBLK(DEVDAT) ;SAVE IN DDB TRNE IOS,IODTER+IODERR+IOIMPM ;WAS THERE AN INPUT ERROR? JRST THRUIN ;YES. DONT ADVANCE BUFFERS @@ -901,18 +901,18 @@ DTCIN2: TLNE IOS,DMPMOD ;DUMP MODE? THRUIN: HRRZ TAC,OBLK(DEVDAT) ;TAPE ALSO BEING WRITTEN? JUMPN TAC,THRUTP ;YES. DONT CHANGE REVERSE BIT TLZ IOS,RVERSE ;NO. SET IOS BIT TO CORRECT DIRECTION - CONSZ DTC,100000 + CONSZ DTC,10000 TLO IOS,RVERSE ;HERE WHEN TAPE IS DONE -THRUTP: CONSO DTC,200000 ;ON INTERRUPT LEVEL? +THRUTP: CONSO DTC,20000 ;ON INTERRUPT LEVEL? JRST THRUTD ;NO. TAPE IS NOT MOVING MOVE TAC,UNIT ;SET TO STOP TAPE CONSZ DTC,10000 ;GOING REVERSE? TRO TAC,10000 ;YES CONO DTC,245000(TAC) ;STOP TAPE, WITH TIME FLAG INTERRUPT ON ;ENABLE JOB DONE AS A FLAG FOR DTCINT -THRUTA: SOSL DTREQ ;GIVE UP DATA CONTROL (DECTAPE CONTROL - SETOM DTAVAL ;WILL BE GIVEN UP AT NEXT INTERRUPT +THRUTA: SOSL DCREQ ;GIVE UP DATA CONTROL (DECTAPE CONTROL + SETOM DCAVAL ;WILL BE GIVEN UP AT NEXT INTERRUPT TLZ IOS,DMPMOD+NOBUF ;RESET DUMP-MODE BIT JRST CLRACT ;RESET IOACT AND RETURN @@ -940,10 +940,10 @@ OUTHRU: PUSHJ PDP,ADVBFE ;GET NEXT BUFFER ;TURN TAPE AROUND AFTER END-ZONE INTERUPT -TURN: MOVEM TAC,TEMPA ;SAVE TAC +TURN: MOVEM TAC,TEMPA ;SAVE TAC MOVE TAC,UNIT ;UNIT AND CHANNEL - CONSO DTC,10000 ;IN REVERSE? - TRO TAC,10000 ;NO. NO WILL BE + CONSO DTC,10000 ;IN REVERSE? + TRO TAC,10000 ;NO. NO WILL BE CONO DTC,322200(TAC);READ BLOCK NOS IN OPPOSITE DIRECTION MOVE TAC,TEMPA ;RESTORE TAC JEN @DTCCHL ;AND EXIT THE INTERRUPT @@ -1087,9 +1087,9 @@ NOBLK0: TRO IOS,IOIMPM ;ILLEGAL OP TLZN IOS,RWDIR+SINGL ;DIRECTORY OPERATION? JRST THRUTP ;NO. RETURN TO USER PUSHJ PDP,THRUTP ;YES. STOP TAPE - MOVSI TAC,DVDIRIN ;CLEAR DIRECTORY IN CORE BIT + MOVSI TAC,400000 ;CLEAR DIRECTORY IN CORE BIT ANDCAM TAC,DEVMOD(DEVDAT) -BDDIR: LDB ITEM,PJOBN ;NUMBER OF OFFENDING JOB +BDDIR: LDB BLK,PJOBN ;NUMBER OF OFFENDING JOB JRST BADDIR ;GO PRINT ERROR MESSAGE BFPNTR: IOWD 200,BUF+1 ONEONE: XWD 1,1 @@ -1107,8 +1107,8 @@ COMAND: 0 ERRFLG: 0 IFN CPBIT, < BLKCNT: 0 -SVPNTR: 0 USPNTR: 0 +SVPNTR: 0 ADRPRG: 0 DIRCTN: 0 > diff --git a/src/mtcsr6.mac b/src/mtcsr6.mac index 019128a..6eeeaf3 100644 --- a/src/mtcsr6.mac +++ b/src/mtcsr6.mac @@ -396,7 +396,7 @@ REW0: PUSHJ PDP,STOIOS ;RESET HUNG COUNT IF STILL REWINDING REW1: AOS MTREWN ;INCREMENT COUNT OF REW WAIT UNITS REW2: HLRZ DEVDAT,DEVSER(DEVDAT) ;DEVDAT TO NEXT DDB JUMPE DEVDAT,REW3 ;LAST ONE? - HRLZ DAT,DEVNAM(DEVDAT) ;NO,GET LH OF NAME + HLRZ DAT,DEVNAM(DEVDAT) ;NO,GET LH OF NAME CAIN DAT,(SIXBIT /MTA/) ;STILL A MAGTAPE? JRST REWLP ;YES, CONTINUE REW3: POP PDP,DEVDAT diff --git a/src/sysini.mac b/src/sysini.mac index 3fdfbf0..060894e 100644 --- a/src/sysini.mac +++ b/src/sysini.mac @@ -76,6 +76,10 @@ IFN FTDISK,< PUSHJ PDP,ACCINI ;AT ONCE ONLY TIME) USED BY DISK DEVICE DATA BLOCKS ; (IF THIS IS RESTART) > +IFN FTSWAP,< + EXTERN SWPINI + PUSHJ PDP,SWPINI ;INIT SWAPPING SPACE ALLOCATION +> MOVEI 1,IOGO HRRM 1,SYSDSP ;FALL INTO IOGO ;INITIALIZE ALL IODEVICES