FIX.SV - OS/8 FILE BLOCK FIXUP PROGRAM PROGRAM TO ALLOW ODT-LIKE EXAMINATION AND MODIFICATION OF DATA STORED ON AN OS-8 DEVICE. THE FOLLOWING COMMANDS ARE AVAILABLE: D XXXX (CR) WORK ON DEVICE XXXX. THE HANDLER IS FETCHED AND THE PROGRAM IS SET UP TO READ AND WRITE THAT DEVICE. L XXXXXX (CR) LOOK UP FILE NAMED XXXXXX ON THE CURRENT DEVICE. FIX RESPONDS WITH "NNNN, MMMM" WHERE NNNN IS THE STARTING BLOCK NUMBER OF THE FILE AND MMMM IS ITS LENGTH. E XXXXXX=NNN (CR) ENTER TENTATIVE FILE XXXXXX ON THE CURRENT DEVICE. NNN SPECIFIES THE REQUESTED SIZE OF THE FILE, AND MAY BE 377 OR LESS. IF NNN IS GREATER THAN 377 OR IS NOT SPECIFIED, THE FILE WILL BE ENTERED IN THE LARGEST AVAILABLE SPACE. ENTER RESPONDS WITH THE STARTING BLOCK NUMBER AND ACTUAL LENGTH IN THE SAME MANNER AS LOOKUP. C XXXXXX=NNNN (CR) CLOSE A FILE ON THE CURRENT DEVICE. THE ACTIVE TENTATIVE FILE IS MADE PERMANENT WITH THE LENGTH SPECIFIED BY NNNN AND THE OLD FILE NAMED XXXXXX IS SEARCHED FOR AND DELETED. R NNNN (CR) READ BLOCK NUMBER NNNN FROM THE SELECTED DEVICE INTO THE BUFFER. IF THE BLOCK NUMBER IS NOT SPECIFIED, THE LAST ONE TYPED IS USED. W NNNN (CR) WRITE THE CONTENTS OF THE BUFFER ONTO BLOCK NNNN OF THE SELECTED DEVICE. IF THE BLOCK NUMBER IS NOT SPECIFIED, THE LAST ONE TYPED IS USED. PX DEV:FILE (CR) PRINT THE CONTENTS OF THE BUFFER ONTO THE SPECIFIED FILE. DEFAULT IS LINE PRINTER. X SPECIFIES ONE OF THE FOLLOWING FORMATS: PO PRINT IN OCTAL P8 PRINT 8 BIT BYTES (IN OCTAL) PA PRINT IN ASCII P6 PRINT SIX BIT ASCII NNN/ EXAMINE AND OPEN RELATIVE LOCATION NNN OF THE BUFFER. WORKS JUST LIKE ODT. (CR) CLOSE THE OPENED LOCATION NNNN (CR) MODIFY AND CLOSE THE OPENED LOCATION (LF) CLOSE THE OPENED LOCATION AND OPEN THE NEXT NNNN (LF) MODIFY AND CLOSE THE OPENED LOCATION AND OPEN THE NEXT IN ADDITION TO TYPING OCTAL VALUES INTO LOCATIONS, IT IS POSSIBLE TO INPUT PACKED SIXBIT WITH THE CONSTRUCTION "'XX". FIX WILL ACCEPT TWO CHARACTERS FOLLOWING THE SINGLE QUOTE, TRIM THEM TO SIXBIT, AND ADD THEM TO ANY OCTAL VALUE TYPED SO FAR. VPIP.SV VPIP IS A SYSTEM PROGRAM WHICH COMPLEMENTS THE OPERATIONS OF OS/8-PIP, BY INCLUDING VERIFICATION OF ALL BLOCK STRUCTURED TRANSFERS. IT PERFORMS SLASH "S" SQUISHES, PARTIAL SQUISHES, NON-DESTRUCTIVE SQUISHES AND MULTIPLE TRANSFERS. BASIC THEORY OF OPERATION: VPIP HAS TWO PASSES OR PHASES: THE FIRST IS OPTIONAL AND IS INVOKED WITH A /S (OR /N) TO PERFORM A DESTRUCTIVE (OR NON-DESTRUCTIVE) IMAGE MODE TRANSFER OF FILES. THE SECOND IS A VERIFICATION PHASE WHICH MAY BE INHIBITED WITH A /H. THE FILES TO BE TRANSFERED AND/OR VERIFIED ARE SPECIFIED TO THE C.D. * OUTDEV: < INDEV:[FILENAME] [ ,INDEV:FILENAME ... ] ALL DEVICES MUST BE BLOCK STRUCTURED. FOR EACH COMMAND DECODER INPUT-ENTRY, IF A FILENAME IS SPECIFIED, ALL FILES FROM SAID FILE ON ARE TAKEN (UNLESS "/O" OPTION IS SPECIFIED, IN WHICH CASE ONLY THE "ONE" FILE PER C.D. ENTRY IS TAKEN). IF NO FILENAME IS SPECIFIED, ALL FILES (OR ONLY THE FIRST) ON THE DEVICE ARE TAKEN. PROGRAM OPTIONS: /H INHIBIT PASS-II (VERIFICATION) /C DON'T PRINT "CANT FIND" MESSAGES DURING PASS-II INPUT OPTION: /O MOVE OR VERIFY ONLY THE SINGLE FILENAMES SPECIFIED (NOT FROM FILENAME ON) TRANSFER OPTIONS: /N NON:DESTRUCTIVE SQUISH. WILL TRANSFER SPECIFIED FILES TO THE OUTPUT-DEVICE WITHOUT FIRST ZEROING THE OUT-DEVICE DIRECTORY. (CREATION DATES ARE NOT UPDATED) (WARNING: MONITOR ERROR 6 LEAVES BAD SYS DATE). /D DELETE OLD COPY BEFORE EACH FILE MOVE (DURING /N ONLY) AND INSERT FILES IN THE BEST FIT HOLE (RATHER THAN THE LRGST). /S DESTRUCTIVE SQUISH SIMILAR TO OS/8-PIP. WILL SQUISH FILES ONTO OUTDEV, AFTER ZEROING THE OUT-DIRECTORY. (/S IS IGNORED IF /N IS SPECIFIED.) =# CREATE # "ADDITIONAL-INFORMATION-WORDS" DURING /S SQUISH. (DEFAULT=1) /T VERIFY DURING PASS-I TRANSFERS (READ/RE-READ AND WRITE/READ COMPARES IMPLOYED) ON ANY SQUISH WHICH RUNS OUT OF OUTPUT-ROOM, THE OUT-DEVICE IS CLOSED BEFORE THE SQUISH IS ABORTED . A SELF SQUISH (A /S WITH INPUT DEVICE SAME AS OUTPUT DEVICE) CANNOT BE PASS-II VERIFIED, THEREFORE SHOULD ONLY BE DONE USING "/T/H" WITH A SINGLE INPUT-DEVICE. MULTIPLE INPUT DEVICES OR FILE SPECIFICATIONS ON A SELF SQUISH MAY RESULT IN MULTIPLE FILES OF THE SAME NAME IN THE OUTPUT DIRECTORY OR IN INCORRECT TRANFERS (IF BLOCKS OF THE DEVICE ARE WRITTEN ON (AS OUTPUT AREA) BEFORE FILES IN SAME LOCATIONS COULD BE READ (AS INPUT)). HELPFUL EXAMPLES: TO SQUISH A DISK * DISK: < DISK:(STH) TO ZERO A DEVICE * DEV: < /S/H TO PUT ALL FILES OF A DECTAPE ON A DISK (LEAVING OTHER STUFF STILL ON DISK): (NOTE: NO /D WOULD PUT ALL IN BIGGEST HOLE, IE: USUALLY TOGETHER) * DISK: < DTAPE: /N/D TO BACKUP A LARGE DEVICE (DISK?) ON SMALLER DEVICES (DTAPES?) * DTAPE1: < DISK: /S THEN: * DTAPE2: < DISK: (FIRST-FILE-NOT-TRANSFERED ABOVE) /S TO GO THE OTHERWAY: * DISK: < DTAPE1:, DTAPE2: /S TO WORK WITH TOP PORTIONS OF DEVICE: * DTAPE1: < DISK:FRST-FILE /N TO TRANSFER SPECIFIED FILES WHEREVERE THEY'LL FIT, VERYIFY DURING TRANSFER ONLY: * DEVICE: < DEV1:FILE1, FILE2, DEV2:FILE3, FILE4, DEV3:FILE5 (NODTH)
Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with. I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation.
PDP-8 Home Page  PDP-8 Site Map  PDP-8 Site Search