Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0132/dumpr.rnd
There are 2 other files named dumpr.rnd in the archive. Click here to see a list.
.FLAG CAPITALIZE.LOWER CASE.RIGHT MARGIN 72
.TITLE ^^DUMPR -- UTILITY FILE DUMPER %5\\
.FIRST TITLE
.PARAGRAPH
<DUMPR IS A UTILITY PROGRAM TO DUMP ARBITRARY FILES IN A HUMAN-READABLE
FORMAT. ^INPUT TO <DUMPR IS A FILE ON ANY SUPPORTED DEVICE: DISK, MAGNETIC
TAPE, ^^DEC\\TAPE. ^OUTPUT IS IN ASCII MODE TO THE SPECIFIED OUTPUT DEVICE.
.PARAGRAP
^GENERAL COMMAND FORMAT:
.BREAK.BLANK 1
##########^^ODEV:OFILE.EXT[P,PN]/SWITCHS=IDEV:IFILE.EXT[P,PN]/SWITCHS\\
.PARAGRAPH
^ALLOWABLE SWITCHES ARE:
.LIST
.LE;/<BACKSP:F:R
.BREAK
^BACKSPACES MAGTAPES F FILES AND R RECORDS. /<BACKSP:R BACKSPACES R RECORDS
OR BLOCKS ON A DIRECTORY DEVICE OR MAGTAPE.
.LE;</BLOCK:N
.BREAK
^SET THE RECORD SIZE (CHARACTERS/RECORD) TO N FOR <EBCDIC DUMPS.
.LE;/<BUFSIZ:N
.BREAK
^SET THE INPUT BUFFER SIZE TO N WORDS. ^THE DEFAULT BUFFER SIZE IS
1024(10) WORDS FOR MAGTAPE AND DISK FILES READ WITH /<FORTRAN OR /<IREAD.
.LE;/<DENSITY:ARG
.BREAK
^SETS THE MAGTAPE DENSITY TO ONE OF: 200, 556, 800, OR 1600 BPI.
(^DEFAULTS ARE: 7 TRACK-800 BPI, 9 TRACK-1600 BPI.)
.LE;/<DUMP:F:R
.BREAK
^DUMPS F FILES AND R RECORDS FROM MAGTAPE OR R BLOCKS OR RECORDS FROM
A DIRECTORY DEVICE OR MAGTAPE. /<DUMP IS AN INPUT-ONLY SWITCH.
.LE;/<FORTRAN
.BREAK
^THE INPUT FILE IS IN <FORTRAN BINARY MODE. ^THIS IS CREATED BY
USING <FORTRAN BINARY WRITE STATEMENTS. ^THIS WILL NOT DUMP
<FORTRAN RANDOM BINARY FILES.
.LE;/<ERROR:ARG
.BREAK
^SPECIFY THE ACTION TO TAKE WHEN AN INPUT ERROR OCCURS:
.LIST
.LE;<CONTIN
.BREAK
^CONTINUE PROCESSING AFTER REPORTING THE ERROR.
.LE;<IGNORE
.BREAK
^DO NOT REPORT THE ERROR.
.LE;<QUERY
.BREAK
^REPORT THE ERROR AND ASK FOR AN OPTION FROM THE USER. ^LEGAL RESPONSES
ARE:
.LIST
.LE;^C - CONTINUE
.LE;^H - ^GIVE SOME HELP.
.LE;^I - MAKE /<ERROR:QUERY INTO /<ERROR:IGNORE.
.LE;^Q - QUIT DUMPING AND RETURN TO COMMAND MODE.
.LE;^S - ^SKIP THIS RECORD AND PROCEED.
.END LIST
.END LIST
.LE;/<HELP
.BREAK
^GIVE SOME HELP.
.LE;/<IFTYP
.BREAK
^ENABLE FOR COMMAND TYPE-IN WHILE THE DUMP IS RUNNING. ^ALLOWABLE COMMANDS
ARE:
.LIST
.LE;^I - ^IGNORE ALL FURTHER TYPEIN (DISABLE /<IFTYP).
.LE;^K - ^KILL THE DUMP. ^OUTPUT FILES ARE CLOSED AND <DUMPR PROMPTS FOR
ANOTHER COMMAND.
.LE;^P - ^PAUSE. ^PROCESSING WILL CONTINUE WHEN ANY CHARACTER IS
TYPED ON THE TELETYPE.
.END LIST
.LE;/<INDUSTRY
.BREAK
^READ THE MAGNETIC TAPE IN INDUSTRY-COMPATIBLE MODE. ^THIS CONSISTS OF
FOUR (4) EIGHT-BIT BYTES PACKED IN THE HIGH ORDER 32 BITS OF A <DEC-10
WORD. ^THE LOW ORDER 4 BITS ARE ZERO. ^WHEN THIS MODE IS USED, THE
DUMP WILL DUMP THE HIGH ORDER 32 BITS OF DATA AS IF IT WAS A 32-BIT
WORD.
.LE;/<IREAD
.BREAK
^DUMP THE FILE IN <IREAD MODE. ^ON MAGTAPE, <IREAD MODE IMPLIES EACH
LOGICAL RECORD IS A PHYSICAL RECORD. ^ON DISK, THE FIRST WORD IS A WORD
COUNT, FOLLOWED BY THAT MANY WORDS. ^THIS SWITCH DEPENDS ON <FT$PHX
BEING ON AT ASSEMBLY TIME (DEFAULT).
.LE;/<LINRDX:ARG
.BREAK
^PRINT LINE NUMBERS (WORD COUNTS) IN RADIX SPECIFIED BY <ARG. ^ALLOWABLE
VALUES FOR <ARG ARE:
.LIST
.LE;<DECIMAL
.BREAK
^BASE 10. (DEFAULT) ^LINE NUMBERS WILL START AT ONE.
.LE;<HEX
.BREAK
^BASE 16. ^LINE NUMBERS WILL START AT ZERO.
.LE;<OCTAL
.BREAK
^BASE 8. ^LINE NUMBERS WILL START AT ZERO.
.END LIST
.LE;/<MODE:ARG
.BREAK
^OUTPUT THE DUMP IN THE FORMAT SPECIFIED BY <ARG. ^THIS SWITCH MAY
APPEAR ON THE OUTPUT SIDE ONLY. ^LEGAL VALUES FOR <ARG ARE:
.LIST
.LE;<ASCII
.BREAK
^DUMP THE FILE IN <ASCII MODE. ^IF /<INDUSTRY IS USED, THE FILE IS
DUMPED IN EIGHT-BIT <ASCII MODE.
.LE;<BYTE:N
.BREAK
DUMP THE FILE AS BYTES OF SIZE N (1 LE N LE 36).
.LE;<EBCDIC
.BREAK
^DUMP THE FILE IN EBCDIC FORMAT. (USE ONLY WITH /<INDUSTRY)
.LE;<FLOAT
.BREAK
^DUMP THE FILE AS FLOATING POINT NUMBERS. ^THE FILE IS DUMPED AS
<DEC10 FLOATING POINT NUMBERS UNLESS /<INDUSTRY IS USED, IN WHICH
CASE THE NUMBERS ARE DUMPED AS <IBM 360/370 FLOATING POINT NUMBERS.
.LE;<HALF
.BREAK
^DUMP THE FILE IN HALFWORD FORMAT. ^THIS CONSISTS OF 18-BIT BYTES
IN NORMAL MODE, AND 16-BIT BYTES IN ^INDUSTRY MODE.
.LE;<HEX
.BREAK
^DUMP THE FILE IN HEXADECIMAL (BASE 16).
.LE;<INTEGER
.BREAK
^DUMP THE FILE AS INTEGERS (BASE 10).
.LE;<OCTAL
.BREAK
^DUMP THE FILE IN OCTAL (DEFAULT).
.LE;<SIXBIT
.BREAK
^DUMP THE FILE IN SIXBIT MODE. (UNUSABLE WITH /<INDUSTRY)
.LE;<SYMBOL
.BREAK
^DUMP THE FILE IN <PDP-10 INSTRUCTION FORMAT.
.END LIST
.LE;/<MTBUF:N
.BREAK
^SPECIFY THE NUMBER OF BUFFERS TO USE FOR MAGTAPE INPUT (DEFAULT=2).
.LE;/<NORETRY
.BREAK
^SET NO READ RETRIES ON ERRORS (MAGTAPE ONLY).
.LE;/<OMIT
.BREAK
^OMIT THE LINE NUMBERS.
.LE;/<ONLY:L:H
.BREAK
^ONLY DUMP FROM WORDS L TO H OF EACH RECORD. TO DUMP WORDS 1 TO N
USE /<ONLY:N. ^THIS SWITCH IS INPUT-ONLY.
.LE;/<PARITY:ARG
.BREAK
^SETS THE PARITY FOR MAGTAPE TO <EVEN OR <ODD.
.LE;/<POSITION
.BREAK
^USE OF THIS SWITCH ALLOWS YOU TO DO MAGTAPE POSITIONING ONLY IN
A <DUMPR COMMAND. ^FOR INSTANCE, THE COMMAND:
.BLANK 1
##########^^MTA3:/P/REW/SKIP:3:20\\
.BLANK 1
WOULD REWIND <MTA3: AND THEN SKIP 3 FILES AND 20 RECORDS. ^THIS SWITCH
MAY ONLY BE USED WITH MAGTAPE, AND THE ONLY LEGAL POSITIONING SWITCHES
ARE /<BACKSP, /<REWIND, AND /<SKIP.
.LE;/<RADIX:N
.BREAK
^OUTPUT DUMP IN RADIX N. (^EFFECTIVE ONLY IF NO /<MODE SWITCH SPECIFIED)
^LEGAL VALUES FOR ^N ARE 2-16.
.LE;/<REWIND
.BREAK
^REWINDS THE MAGTAPE BEFORE DUMPING.
.LE;/<RIB
.BREAK
^ON DISK FILE DUMPS WITHOUT /<IREAD OR /<FORTRAN, POSITION THE
FILE TO DUMP THE RIB (RETRIEVAL INFORMATION BLOCK). ^ILLEGAL ON
<MTA AND <DTA.
.LE;/<SKIP:F:R
.BREAK
^SKIP FORWARD F FILES AND R RECORDS ON SIDE THAT SWITCH APPEARS ON.
/<SKIP:R SKIPS R RECORDS OR BLOCKS ON A DIRECTORY DEVICE.
.LE;/<SUMMARY
.BREAK
^PRINT ONLY ONE LINE PER RECORD (OR BLOCK) WITH A FINAL SUMMARY AT THE END.
.LE;/<TITLE:"STRING-NO-DOUBLE-QUOTES"
.BREAK
^PLACES THE STRING IN QUOTES AT THE TOP OF THE DUMP.
.LE;/<TOTALS
.BREAK
^LIST ONLY THE TOTALS FOR EACH FILE; DO NOT OUTPUT ANY RECORD SUMMARIES.
.LE;/<WIDTH:N
.BREAK
^SET THE WIDTH OF THE DUMP TO ^N. ^DEFAULT IS 132. FOR ALL DEVICES
EXCEPT THE TERMINAL (DEFAULT=80.). ^IF THE DUMP IS TO THE TERMINAL
AND NO /<WIDTH IS SPECIFIED, <DUMPR WILL ATTEMPT TO READ THE TERMINAL
WIDTH SETTING FROM THE MONITOR AND USE THAT, OR WILL USE THE DEFAULT
IF UNABLE TO READ IT.
.END LIST
.PAGE
.CENTER;^^COMMAND NOTES\\
.LIST
.LE;^THE DEFAULT INPUT SPECIFICATION IS <DSK:DUMPIT.DAT. ^THE DEFAULT
OUTPUT SPECIFICATION IS <LPT:DUMPED.LPT.
.LE;^IF /<NORETRY IS SPECIFIED AND THERE ARE INPUT ERRORS, THE RECORD
IS DUMPED AND PROCESSING CONTINUES.
.LE;^IF /<NORETRY IS NOT SPECIFIED AND INPUT ERRORS ARE ENCOUNTERED,
THE ERROR IS REPORTED, THE RECORD IS DUMPED, AND PROCESSING CONTINUES.
.LE;^IF /<OMIT IS SPECIFIED, THERE IS NO FORMATTING DONE FOR <ASCII
OR <EBCDIC DUMPS.
.LE;^SOME SWITCHES ARE EXECUTED IN THE ORDER THEY ARE SEEN IN THE INPUT
COMMAND STRING: /<BACKSP, /<DUMP,/<REWIND, AND /<SKIP.
.LE;/<MODE SETS THE MODE FOR THE NEXT /<DUMP SWITCH. /<ONLY SETS THE
LIMITS FOR THE NEXT /<DUMP SWITCH. ^TO TURN OFF /<ONLY ONCE IT HAS
BEEN SET IN A DUMP, USE /<ONLY WITH NO ARGUMENTS.
.LE;^IT IS POSSIBLE TO DO MULTIPLE DUMPS WITH ONE COMMAND:
.BREAK.BLANK 1
##########^^LPT:=DEV:FILE.EXT/ONLY:5/DUMP:6/SKIP:4/ONLY/DUMP:10\\
.PARAGRAPH
^THIS COMMAND WILL DUMP THE FIRST FIVE WORDS OF RECORDS (BLOCKS)
1-6, SKIP THE NEXT 4 RECORDS (BLOCKS), AND COMPLETELY DUMP THE
NEXT 10 RECORDS (BLOCKS).
.LE;^IF NO /<DUMP SWITCH IS SPECIFIED THE WHOLE INPUT FILE
(OR WHOLE MAGTAPE) IS DUMPED.
.LE;<DUMPR WILL SCAN <SWITCH.INI FOR APPLICABLE SWITCHES. ^ALLOWABLE
SWITCHES ARE: /<BUFSIZ, /<ERROR, /<IFTYP, /<LINRDX, /<MTBUF, AND /<WIDTH.
^SEE <DOC:COPYMT.DOC FOR A COMPLETE DESCRIPTION OF <SWITCH.INI.
.LE;^IF THE FEATURE TEST SWITCH <FT$WLD IS SET NON-ZERO AT ASSEMBLY
TIME (DEFAULT), THE INPUT FILE SPECIFICATION MAY CONTAIN WILD-CARDING.
^THE LIMIT OF ONE SPECIFICATION IS STILL ENFORCED. ^IF THE DUMP IS TO
A SPOOLED DEVICE (<LPT) THERE WILL BE A SEPARATE OUTPUT FILE FOR EACH
INPUT FILE PROCESSED. ^SWITCHES GIVEN WILL BE APPLIED TO EACH FILE
WHICH MATCHES THE INPUT SPECIFICATIONS.
.END LIST
.PAGE
.CENTER;<DUMPR MESSAGES
.PARAGRAPH
<DUMPR ISSUES THREE CLASSES OF MESSAGES. ^THESE ARE ERROR, WARNING, AND
INFORMATIVE MESSAGES. ^FOLLOWING IS A LIST OF THE MESSAGES AND A SHORT
DESCRIPTION OF EACH.
.BLANK 1
^^ERROR MESSAGES\\ (USUALLY FATAL):
.LIST
.LE;^^?DMPBRB /BYTE REQUIRES BYTESIZE\\
.BREAK
^THE /<MODE:BYTE SWITCH REQUIRES A BYTE SIZE. ^RETYPE THE COMMAND PROPERLY.
.LE;^^?DMPBSO CANT BACKSPACE DISK OUTPUT\\
.BREAK
^YOU HAVE TRIED TO POSITION THE DISK OUTPUT FILE WITH A /<BACKSP SWITCH.
.LE;^^?DMPCDM CANT DUMP MULTIPLE FILES ON DIRECTORY DEVICE\\
.BREAK
^YOU HAVE SPECIFED /<DUMP:F:R WITH A DISK INPUT FILE. ^YOU MAY ONLY
SPECIFY /<DUMP:R ON A DISK DEVICE.
.LE;^^?DMPCGH CAN'T GET HIGH SEGMENT, CODE = N\\
.BREAK
^THIS MESSAGE IS NOT EXPECTED TO OCCUR. ^IF IT DOES, SEE THE MAINTAINER.
.LE;^^?DMPCOD CAN'T OPEN DEVICE, FILE DEV:FILE.EXT\\
.BREAK
<DUMPR WAS UNABLE TO OPEN THE SPECIFIED DEVICE.
.LE;^^?DMPCRD CANNOT REWIND DISK OUTPUT\\
.BREAK
^YOU HAVE SPECIFIED /<REWIND ON THE OUTPUT SIDE AND THE OUTPUT DEVICE IS
A DISK.
.LE;^^?DMPCUS CANT USE SAME MAGTAPE FOR INPUT AND OUTPUT - MTAX\\
.BREAK
^YOU HAVE TRIED TO USE THE SAME MAGTAPE FOR INPUT AND OUTPUT. ^THIS DOES
NOT WORK.
.LE;^^?DMPEIW EBCDIC ILLEGAL WITHOUT /INDUSTRY\\
.BREAK
^YOU HAVE SPECIFIED /<MODE:EBCDIC WITHOUT /<INDUSTRY. ^THIS IS ILLEGAL.
.LE;^^?DMPEBE EOF BEFORE END OF IREAD RECORD\\
.BREAK
^THIS MEANS THAT EITHER THE FILE WAS NOT IN <IREAD FORMAT, OR THE <IREAD
FORMAT FOR THE FILE IS INCORRECT.
.LE;^^?DMPIAR ILLEGAL ARGUMENT FOR /RADIX - N
.BREAK
^THE RANGE OF ARGUMENTS FOR /<RADIX IS 2-16.
.LE;^^?DMPIBS ILLEGAL BYTE SIZE - N\\
.BREAK
^THE LEGAL RANGE OF BYTE SIZES IS 2-36. ^ANY NUMBER OUT OF THIS RANGE IS ILLEGAL.
.LE;^^?DMPID7 ILLEGAL DENSITY FOR 7-TRACK\\
.BREAK
^YOU HAVE SPECIFIED /<DENSITY:1600 OR /<DENSITY:6250 ON A 7-TRACK TAPE
UNIT. ^THE ONLY LEGAL 7-TRACK DENSITIES ARE 200, 556, AND 800 BPI.
.LE;^^?DMPID9 ILLEGAL DENSITY FOR 9-TRACK\\
.BREAK
^YOU HAVE SPECIFIED AN ILLEGAL DENSITY FOR 9-TRACK TAPES (200, OR 556 BPI).
.LE;^^?DMPIDV ILLEGAL DEVICE DEV\\
.BREAK
^YOU HAVE SPECIFIED EITHER AN UNKNOWN DEVICE OR A DEVICE THAT <DUMPR WAS
NOT DESIGNED TO HANDLE.
.LE;^^DMPIOE I/O ERROR - STATUS=N (XXX), FILE DEV:FILE.EXT\\
.BREAK
^AN ^I/^O ERROR HAS OCCURRED ON THE DEVICE.
.LE;^^?DMPIFF INCORRECTLY FORMATTED FORTRAN FILE\\
.BREAK
^THE INPUT FILE IS NOT REALLY IN <FORTRAN BINARY MODE.
.LE;^^?DMPIFU IREAD FILE MESSED UP\\
.BREAK
<DUMPR HAS ENCOUNTERED AN <IREAD WORD COUNT WHICH WAS NON-ZERO IN THE LEFT
HALF (DISK ONLY). ^THIS USUALLY MEANS THE FILE WAS IMPROPERLY WRITTEN, OR
IT IS NOT AN <IREAD FILE.
.LE;^^?DMPISO INPUT SWITCH ILLEGAL ON OUTPUT - SWITCHNAME\\
.BREAK
^YOU HAVE SPECIFIED AN INPUT-ONLY SWITCH ON THE OUTPUT SIDE OF THE COMMAND.
.LE;^^?DMPLER LOOKUP/ENTER ERROR(N) FILE DEV:FILE.EXT[P,PN]\\
.BREAK
^THE SPECIFIED LOOKUP/ENTER ERROR HAS OCCURRED. ^SEE THE MONITOR CALLS
MANUAL FOR A DESCRIPTION OF THE ERROR CODES.
.LE;^^?DMPMIS MULTIPLE INPUT SPECIFICATIONS ILLEGAL\\
.BREAK
<DUMPR ONLY HANDLES ONE INPUT FILE SPECIFICATION.
.LE;^^?DMPMOF MULTIPLE OUTPUT FILES ILLEGAL\\
.BREAK
^YOU MAY ONLY SPECIFY ONE OUTPUT FILE.
.LE;^^?DMPMSE MODE SPECIFICATION ERROR - /IREAD + /FORTRAN\\
.BREAK
^AN INPUT FILE MAY NOT BE IN <IREAD AND <FORTRAN FORM AT THE SAME TIME.
.LE;^^?DMPODF OUTPUT DEVICE FULL\\
.BREAK
^YOU HAVE EXCEEDED YOUR DISK QUOTA, OR THE OUTPUT <DECTAPE OR MAGTAPE IS FULL.
.LE;^^?DMPOIS /ONLY INCORRECTLY SPECIFIED\\
.BREAK
^EITHER ONE OR THE OTHER ARGUMENTS WAS NEGATIVE, OR THE SECOND ARGUMENT
WAS GREATER THAN THE FIRST ARGUMENT.
.LE;^^?DMPOSI OUTPUT SWITCH ILLEGAL ON INPUT - SWITCHNAME\\
.BREAK
^THE NAMED SWITCH IS AN OUTPUT-ONLY SWITCH AND WAS FOUND ON THE INPUT SPECIFICATION.
.LE;^^?DMPRIB /RIB ILLEGAL ON OUTPUT OR ILLEGAL DEVICE FOR /RIB\\
.BREAK
/<RIB IS LEGAL ONLY ON DISK INPUT FILES.
.LE;^^?DMPSFI SKIP/BACKSPACE FILES ILLEGAL ON DIRECTORY DEVICE\\
.BREAK
^NEED ^I SAY MORE?
.LE;^^?DMPSFM CANNOT BACKSPACE MTA WITH /FORTRA\\
.BREAK
^SINCE THIS IS SO RARELY DONE, IT WAS NOT CODED. ^SEE THE MAINTAINER IF
THIS IS A PROBLEM.
.LE;^^?DMPSWE SWITCH ERROR - /SUMMARY + /TOTALS\\
.BREAK
^YOU MAY NOT SPECIFY /<SUMMARY AND /<TOTALS IN THE SAME COMMAND.
.LE;^^?DMPSWI SIXBIT WITH /INDUSTRY ILLEGAL\\
.BREAK
^THIS MAKES NO SENSE.
.LE;^^?DMPWFI WILDCARD FILESPEC ILLEGAL, FILE DEV:FILE.EXT\\
.BREAK
<DUMPR DOES NOT SUPPORT WILD-CARDING. (HOWEVER, <DUMPR DOES SUPPORT
INPUT WILD-CARDING. SEE COMMAND NOTES)
.END LIST
.BLANK 1
^^WARNING MESSAGES (PROCESSING CONTINUES):
.LIST
.LE;^^%DMPIND /INDUSTRY NO-OP ON NON-MTA DEVICE\\
.BREAK
^YOU HAVE SPECIFIED /<INDUSTRY ON A DEVICE THAT IS NOT A MAGTAPE.
^THE SWITCH IS IGNORED.
.LE;^^%DMPRTL RECORD TOO LARGE - N - FILE F RECORD R\\
.BREAK
<DUMPR HAS ENCOUNTERED A RECORD OF SIZE N IN FILE F, RECORD R. ^THIS
MESSAGE WILL ONLY OCCUR ON DISK FILES READ WITH /<IREAD OR /<FORTRA. ^THE
PROBLEM MAY BE ALLEVIATED BY USING A LARGER /<BUFSIZ.
.LE;^^%DMPTUF TAPOP. UUO FAILURE--CODE = N\\
.BREAK
^A TAPOP. MONITOR CALL HAS FAILED. ^THIS IS NOT EXPECTED TO OCCUR. ^SEE THE
MAINTAINER.
.END LIST
.BLANK 1
^^INFORMATIVE MESSAGES:
.LIST
.LE;^^[DMPPTC PAUSING--TYPE ANY CHARACTER TO CONTINUE]\\
.BREAK
<DUMPR IS PAUSING IN RESPONSE TO A "P" TYPED IN WHILE RUNNING AND /<IFTYP
SPECIFIED IN THE COMMAND. ^ANY CHARACTER TYPED WILL RESUME OPERATION.
.LE;^^[DMPIPT INITIAL POSITION OF TAPE IS FILE N RECORD M]\\
.BREAK
^THIS MESSAGE WILL ONLY APPEAR AT THE TOP OF DUMPS DONE FROM MAGNETIC
TAPES. <DUMPR IS SHOWING YOU THE POSITION OF THE TAPE AS IT WAS OBTAINED
FROM THE ^MONITOR.
.END LIST