Google
 

Trailing-Edge - PDP-10 Archives - dec-10-omona-u-mc9 - dtboot.rno
There are no other files named dtboot.rno in the archive.
.SPACING 1
.TITLE ^^DTBOOT\\
^^SPECIFICATIONS\\
.BLANK 5
.CENTER
^^DTBOOT\\
.BLANK 1
.CENTER
^^DEC\\SYSTEM-10 ^^DECTAPE BOOTSTRAP\\
.BLANK 15
.LEFT MARGIN 20
.NOFILL
.NOJUSTIFY
^DATE:##11-^NOV-71
^FILE:##^^DTBOOT.RNO\\
^EDITION:##4
.BLANK 10
.FILL
.JUSTIFY
.LEFT MARGIN 8
.RIGHT MARGIN 55
^THIS DOCUMENT DESCRIBES THE SOFTWARE AS OF ^VERSION#3.
.BLANK 1
^THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ^DIGITAL
^EQUIPMENT ^CORPORATION.
.BLANK 1
^ACTUAL DISTRIBUTION OF THE SOFTWARE DESCRIBED IN THIS SPECIFICATION
WILL BE SUBJECT TO TERMS AND CONDITIONS TO BE ANNOUNCED AT SOME
FUTURE DATE BY ^DIGITAL ^EQUIPMENT ^CORPORATION.
.LEFT MARGIN 0
.RIGHT MARGIN 60
.PAGE
.FIGURE 15
.CENTER
^^TABLE OF CONTENTS\\
.BLANK 2
.LEFT MARGIN 10
.NOFILL
.NOJUSTIFY
.TAB STOPS 16
1.0	^PURPOSE OF ^^DTBOOT\\
2.0	^COMMANDS TO ^^DTBOOT\\
3.0	^TAPE ^FORMAT
4.0	^COMPARISON WITH ^^TENDMP\\
5.0	^COMPATIBILITY WITH ^^DEC\\SYSTEM-10\\ ^MONITOR
6.0	^ASSEMBLY AND ^^READIN\\ OF ^^DTBOOT\\
.BLANK 1
^APPENDIX - ^^DTBOOT\\ ^SUMMARY FOR ^OPERATORS
.FILL
.JUSTIFY
.LEFT MARGIN 0
.PAGE
1.0##^^PURPOSE OF DTBOOT\\
.BLANK 1
^^DTBOOT\\ IS A BOOTSTRAP PROGRAM INTENDED TO TRANSFER PROGRAMS BETWEEN
^^PDP-10\\ CORE STORAGE AND STANDARD FORMAT ^^DEC\\SYSTEM-10 ^^DEC\\TAPE FILES,
AND TO PERFORM OTHER UTILITY FUNCTIONS WITH SUCH ^D^E^CTAPES.
.BLANK 1
^^DTBOOT\\ REQUIRES A ^^PDP\\-10 CENTRAL PROCESSOR AND CORE MEMORY,
THE ^^PDP-10\\'S CONSOLE TYPEWRITER, A ^^TD10 DEC\\TAPE CONTROL, AND
AT LEAST ONE ^^DEC\\TAPE TRANSPORT.  ^^DTBOOT\\ CAN BE ASSEMBLED FOR
ANY MEMORY SIZE.
.BLANK 1
^^DTBOOT\\ IS  INTENDED TO LOAD AND RUN EXECUTIVE MODE PROGRAMS
(MONITORS, DIAGNOSTICS, ETC.) FROM ^^DEC\\TAPE.
.BLANK 1
^THE FOLLOWING FUNCTIONS
ARE AVAILABLE:
.BLANK 1
.LEFT MARGIN 9
.INDENT -4
1.##^CLEAR CORE, LOAD A PROGRAM, AND START IT.
.BLANK 1
.INDENT -4
2.##^LOAD A PROGRAM WITHOUT CLEARING OTHER CORE AREAS.
.BLANK 1
.INDENT -4
3.##^CLEAR CORE, LOAD A PROGRAM, BUT DO NOT START IT.
.BLANK 1
.INDENT -4
4.##^TYPE OUT A SHORT FORM OF THE ^^DEC\\TAPE'S DIRECTORY.
.BLANK 1
.INDENT -4
5.##^DELETE A FILE FROM THE ^^DEC\\TAPE.
.BLANK 1
.INDENT -4
6.##^INITIALIZE AN EMPTY TAPE DIRECTORY, EITHER RETAINING ITS EXISTING
TAPE IDENTIFIER WORD OR SUPPLYING A NEW ONE.
.BLANK 1
.INDENT -4
7.##^DECLARE A STARTING ADDRESS TO BE ASSOCIATED WITH A PROGRAM TO BE
DUMPED OR STARTED.
.BLANK 1
.INDENT -4
8.##^DUMP CORE ONTO A ^^DEC\\TAPE FILE.
.BLANK 1
.INDENT -4
9.##^GO TO THE CURRENT STARTING ADDRESS.
.LEFT MARGIN 0
.BLANK 1
.LEFT MARGIN 0
^A SIMPLE COMMAND STRING, WITH HANDY DEFAULTS, IS TYPED BY THE OPERATOR
TO CONTROL ^^DTBOOT\\.
.BLANK 3
2.0##^^COMMANDS TO DTBOOT\\
.BLANK 1
^THE COMMANDS FOR ^^DTBOOT\\ ARE BEST DESCRIBED BY SHOWING THE LONGEST
FORM AND THEN SHOWING THE SIMPLIFICATIONS PROVIDED.
.BLANK 1
^THE FULL COMMAND TO LOAD THE FILE ^^TOPS10.SAV\\ FROM ^^DEC\\TAPE
UNIT ^^DTA3\\ IS:
.BLANK 1
.INDENT 10
^^DTA3:TOPS10.SAV/L\\
.BLANK 1
^THE COMMAND TERMINATOR MAY BE CARRIAGE RETURN, OR ANY OTHER CONTROL
CHARACTER OR ^^ALTMODE.\\
.BLANK 1
^THE UNIT SPECIFIER ^^DTA3:\\ IS ACTUALLY EXAMINED ONLY FOR NUMERIC
CHARACTERS, SO IT CAN BE ABBREVIATED TO SIMPLY 3:.  ^IF A SERIES OF
COMMANDS IS PERFORMED ADDRESSING THE SAME UNIT, THE UNIT SPECIFIER
CAN BE OMITTED ON SUCCESSIVE COMMANDS (UNLESS AN ERROR HAS OCCURRED,
CAUSING A ^^BELL\\ TYPEOUT).
.BLANK 1
^THE FILE EXTENSION IS ASSUMED TO BE .^^SAV\\ UNLESS SPECIFIED
OTHERWISE, AND CAN THEREFORE BE OMITTED IN THE USUAL CASE.  ^A BLANK
EXTENSION CAN BE SPECIFIED BY TYPING JUST THE PERIOD; E.G.,
"3:^^NAME./L"\\.
.BLANK 1
^THE FILENAME CAN BE OMITTED, AND IS THEN DEFAULTED ACCORDING TO
THE FOLLOWING RULES:
.BLANK 1
.LEFT MARGIN 9
.INDENT -4
1.##^FOR THE TAPE-WRITING COMMAND, THE FILE NAME ^^CRASH\\
IS ASSUMED.
.BLANK 1
.INDENT -4
2.##^FOR TAPE READING, IF EXACTLY ONE FILE EXISTS ON THE TAPE WITH
THE EXTENSION .^S^A^V, THAT FILE'S NAME IS ASSUMED.  ^OTHERWISE,
THE FILE NAME ^^SYSTEM\\ IS ASSUMED.
.LEFT MARGIN 0
.BLANK 1
^THE PARTICULAR ACTION TO BE PERFORMED BY ^^DTBOOT\\ IS SELECTED BY
A SWITCH, WHICH IS AN OCTAL NUMBER OR SINGLE LETTER THAT FOLLOWS A
SLASH (/) AT THE END OF THE COMMAND.  ^IN THE FIRST EXAMPLE ABOVE,
THE ^L IS THE COMMAND SWITCH, MEANING ^LOAD THE PROGRAM INTO CORE
FROM TAPE.
.BLANK 1
^THE MOST COMMON FUNCTION OF ^^DTBOOT\\ IS TO LOAD AND START A PROGRAM
(E.G., THE TIMESHARING SYSTEM), AND THIS ACTION IS THE DEFAULT IF NO
SWITCH IS TYPED AT ALL.
.BLANK 1
^THE NON-BLANK SWITCHES, AND THE ACTIONS THEY CAUSE, ARE AS FOLLOWS:
.BLANK 1
.LEFT MARGIN 9
.INDENT -4
/NUMBER##^SET THE STARTING ADDRESS TO THE OCTAL NUMBER.
.BLANK 1
.INDENT -4
/^D##^DUMP CORE ON TAPE WITH THE CURRENT STARTING ADDRESS.
.BLANK 1
.INDENT -4
/^F##^TYPE THE FILE DIRECTORY.
.BLANK 1
.INDENT -4
/^G##^GO TO STARTING ADDRESS.
.BLANK 1
.INDENT -4
/^K##^KILL (DELETE) THE SPECIFIED FILE FROM THE TAPE.
.BLANK 1
.INDENT -4
/^L##^CLEAR CORE, LOAD THE PROGRAM FROM TAPE, AND SET THE STARTING
ADDRESS FROM THE TAPE.
.BLANK 1
.INDENT -4
/^M##^SAME AS /^L, BUT DO NOT CLEAR CORE FIRST, I.E..MERGE THE FILE
INTO CORE.
.BLANK 1
.INDENT -4
/^Z##^ZERO THE DIRECTORY OF THE TAPE.  ^TO SET THE TAPE
IDENTIFIER TO ^^TAPE99\\, FOR INSTANCE, TYPE 3:_^^^TAPE99/Z\\.
^THE UPARROW PRECEDES THE TAPE IDENTIFIER, AS IN ^^FILEX\\.
.BLANK 1
.LEFT MARGIN 0
^OBVIOUSLY, NOT ALL OF THESE COMMANDS REQUIRE ALL ARGUMENTS.  ^FOR
EXAMPLE, A FILENAME WOULD BE IGNORED WITH THE /^Z COMMAND.
.BLANK 3
3.0##^^TAPE FORMAT
.BLANK 1
^^DEC\\TAPES READ AND WRITTEN BY ^^DTBOOT\\ ARE ENTIRELY COMPATIBLE
WITH THE ^^DEC\\SYSTEM-10 MONITOR, AND ARE FULLY DESCRIBED IN THE
^^DEC\\SYSTEM-10 ^SOFTWARE ^NOTEBOOKS. ^THIS SECTION IS PROVIDED AS A SUMMARY
OF THAT MATERIAL.
.BLANK 1
^^DEC\\TAPE DIRECTORY INFORMATION OCCUPIES BLOCK 144 (OCTAL) OF THE
TAPE. ^WORDS 0 THROUGH 122 CONTAIN 1105 BYTES DESCRIBING THE ALLOCATION
OF BLOCKS 1 THROUGH 1101 OF THE TAPE. ^BLOCKS 1, 2, AND 144 ARE
ALLOCATED AS OVERHEAD, BLOCKS 1102 THROUGH 1105 ARE ALLOCATED AS
NON-EXISTENT. ^THE REMAINING BLOCKS CONTAIN FILE INFORMATION (OR ARE
FREE). ^WORDS 123 THROUGH 150 OF THE DIRECTORY CONTAIN FILENAMES.
^WORDS 151 THROUGH 176 CONTAIN THE CORRESPONDING FILE EXTENSIONS
AND DATES. (^DATE FIELDS OF FILES WRITTEN BY ^^DTBOOT\\ ARE ZERO.)
^WORD 177 CONTAINS THE (OPTIONAL) TAPE IDENTIFIER.
.BLANK 1
^IN EACH DATA BLOCK, WORD ZERO IS THE LINK WORD, ALLOCATED AS
FOLLOWS: BITS 00-17 ARE THE LINK TO THE NEXT DATA BLOCK OF THE FILE
(ZERO DENOTING NO NEXT BLOCK); BITS 18-27 CONTAIN THE BLOCK NUMBER OF
THE FIRST DATA BLOCK OF THIS FILE, AND BITS 29-35 CONTAIN A WORD
COUNT OF THE DATA WORDS IN THE REMAINDER OF THIS BLOCK.
.BLANK 1
^A SAVED CORE IMAGE, AS WRITTEN BY ^^DTBOOT\\ (OR ^^TOPS\\10),
CONSISTS OF BLOCKS OF DATA PRECEDED BY A POINTER WORD (MINUS-COUNT
IN THE LEFT HALF, ADDRESS-1 IN THE RIGHT HALF). ^A POSITIVE WORD IN
THE PLACE OF A POINTER WORD SIGNIFIES THE END OF THE CORE-IMAGE.
^THE RIGHT HALF OF THIS WORD IS THE STARTING ADDRESS OF THE SAVED
PROGRAM. ^THE LEFT HALF USUALLY CONTAINS THE MACHINE INSTRUCTION
^^JRST\\ WHICH IS, IN FACT, A POSITIVE NUMBER. ^THIS IS THE METHOD
^^DTBOOT\\ USES.
.BLANK 1
^BLOCKS OF A GIVEN FILE MAY BE IN ANY ORDER ON THE TAPE. ^WHEN
WRITTEN BY ^^DTBOOT\\ (AND THE ^^SAVE\\ COMMAND OF ^^TOPS10\\), THE
ALLOCATION IS AS FOLLOWS: ^THE LOWEST NUMBERED BLOCK AVAILABLE FOR
USE IS ALLOCATED FIRST. (^THIS WAS A REQUIREMENT OF ^^TENDMP,\\ BUT
IS OPTIONAL FOR ^^DTBOOT\\.)
.BLANK 1
^SUCCEEDING BLOCKS ARE ALLOCATED WITH AT LEAST ONE INTERVENING BLOCK
(WHETHER FREE OR OTHERWISE USED) BETWEEN SUCCESSIVE BLOCKS OF A FILE.
^IF REQUIRED, THE SAME PROCEDURE IS USED TO ALLOCATE BLOCKS IN THE
REVERSE DIRECTION, STARTING AT BLOCK 1101, SHOULD THE FILE BE LONG
ENOUGH TO REACH THAT END OF THE TAPE, AND ANY SKIPPED BLOCKS BECOME
USED ON THE REVERSE PASS. ^^DTBOOT\\ IS CAPABLE OF EFFICIENTLY READING
AND WRITING FILES ALLOCATED IN THIS MANNER.

.BLANK 3
4.0##^^COMPARISON WITH TENDMP\\
.BLANK 1
^IT IS INTENDED THAT ^^DTBOOT\\ SUPERSEDE ^^TENDMP\\. ^THE ONLY
ADVANTAGES ^^TENDMP\\ HOLDS OVER ^^DTBOOT\\ ARE THAT ^^TENDMP\\ IS
SMALLER THAN ^^DTBOOT\\, AND THAT ^^TENDMP\\ MAY BE CALLED AS A
SUBROUTINE, WITHOUT TYPED COMMANDS. ^^DTBOOT\\ LACKS THIS FACILITY.
^^TENDMP\\ WILL REMAIN AVAILABLE FOR THE RARE CASES WHERE THESE
ADVANTAGES REQUIRE ITS USE.
.BLANK 1
^THE ADVANTAGES ^^DTBOOT\\ HOLDS OVER ^^TENDMP\\ INCLUDE THE FOLLOWING:
.BLANK 1
.LEFT MARGIN 9
.INDENT -4
1.##^FIRST AND MOST IMPORTANTLY, THE ABILITY TO READ .^^SAV\\ FILES
WRITTEN BY ^^TOPS\\10 WHICH ARE LONG ENOUGH TO "TURN AROUND",
I.E., WHICH HAVE ALLOCATION IN BOTH FORWARD AND BACKWARD DIRECTION.
.BLANK 1
.INDENT -4
2.##^WRITING FILES WHICH CAN BE READ EFFICIENTLY BY ^^TOPS10\\,
WITHOUT FREQUENT TAPE ROCKING DUE TO ALLOCATION OF CONSECUTIVE BLOCKS
BY ^^TENDMP\\. (^IN FACT, ^^DTBOOT\\ HAS THE SAME DIFFICULTY READING
^^TENDMP\\ FILES AS ^^TOPS10\\ DOES.)
.BLANK 1
.INDENT -4
3.##^MORE COMPLETE ^^DEC\\TAPE CONTROL HANDLING; THE ABILITY TO TURN
AROUND FROM END-ZONE FLAGS.
.BLANK 1
.INDENT -4
4.##^MORE NEARLY STANDARD COMMAND STRINGS.
.BLANK 1
.INDENT -4
5.##^USEFUL DEFAULTS.
.BLANK 1
.INDENT -4
6.##^ABILITY TO SET TAPE-IDENTIFIER WORDS.
.BLANK 3
.LEFT MARGIN 0
5.0##^^COMPATIBILITY WITH DEC\\SYSTEM10 ^^MONITOR\\
.BLANK 1
^THERE ARE NO KNOWN INCOMPATIBILITIES WITH ^^TOPS10\\, ASIDE
FROM THE FAILURE OF ^^DTBOOT\\ TO PROVIDE DATES ON OUTPUT FILES.
.BLANK 3
6.0##^^ASSEMBLY AND READIN OF DTBOOT\\
.BLANK 1
^AS WITH ^^TENDMP\\ AND ^^BOOTS, DTBOOT\\ IS ASSEMBLED BY ^^MACRO-10\\
FROM A SINGLE SOURCE FILE ONTO A PAPER TAPE.
.BLANK 1
^^DTBOOT\\ RESIDES AT THE TOP OF USER CORE, AND THUS MUST BE ASSEMBLED
FOR THE PROPER MEMORY SIZE. ^THE DEFAULT IS FOR A 64^K SYSTEM. ^THE
PARAMETER ^^CORE\\ CAN BE SET TO THE NUMBER OF WORDS OF MEMORY
TO PRODUCE ANOTHER SIZE OF ^^DTBOOT\\.
.BLANK 1
^TO ASSEMBLE 64^K ^^DTBOOT\\, TYPE THE ^^MACRO\\ COMMAND STRING:
.BLANK 1
.INDENT 10
*^^PTP:__\\DEV:^^DTBOOT\\
.BLANK 1
WHERE DEV IS THE DEVICE CONTAINING THE SOURCE FILE OF ^^DTBOOT\\.
.BLANK 1
^TO ASSEMBLE 48^K ^^DTBOOT\\, FOR EXAMPLE, TYPE:
.NOFILL
.NOJUSTIFY
.BLANK 1
.LEFT MARGIN 10
*^^PTP:__TTY:,\\DEV:^^DTBOOT\\
^^CORE\\=140000#####;^^ASSEMBLE FOR 48K
_^Z
_^Z\\
.LEFT MARGIN 0
.BLANK 1
.FILL
.JUSTIFY
^^DTBOOT\\ IS IN ^^RIM10B\\ FORMAT WHEN ON PAPER TAPE, AND IS LOADED
VIA ^^READIN\\ AT THE ^^PDP-10\\ CONSOLE.
.BLANK 1
^THE STARTING ADDRESS OF ^^DTBOOT\\ IS 1000 OCTAL LESS THAN ^^CORE\\.
^THUS, 64^K ^^DTBOOT\\ STARTS AT 177000.
.BLANK 1
^THERE ARE THREE BLOCKS (0, 1, 2) AVAILABLE FOR A BOOTSTRAP AT THE BEGINNING
OF A ^^PDP-10\\ ^^DEC\\TAPE. ^THESE 600 OCTAL WORDS, MINUS A ^^READIN\\
POINTER AND A START WORD, LEAVE 576 OCTAL FOR THE BOOTSTRAP. ^AT
PRESENT ^^DTBOOT\\ IS 575 WORDS LONG, AND
IS INTENDED TO BE STORED ON ^^DEC\\TAPE IN THIS AREA.
^INSTRUCTIONS FOR PUTTING ^^DTBOOT\\ ON THE FRONT OF ^^DEC\\TAPE
ARE AS FOLLOWS: (^REFER TO FILES ^^COPY.OPR\\ AND ^^COPY.DOC\\ FOR
ADDITIONAL INFORMATION.)
.BLANK 1
.LEFT MARGIN 10
.NOFILL
.NOJUSTIFY
.TAB STOPS 30
^^_.ASSIGN DSK PTR
_.RENAME BSLDR.REL=DTBOOT.REL
_.R COPY
*/L	\\;LOAD BOOTSTRAP LOADER
^^*_^C
_.SAVE DSK COPY\\	;SAVE ON DISK
^^START
*DTA\N:/T\\	;WRITE ON FRONT OF ^^DEC\\TAPE
^^TYPE CORE BANK OR OFFSET FOR DTBOOT\\
64^K	;ANSWER SIZE OF CORE BANK
	OR ^^OFFSET\\, EX., 64^K=1770000

.PAGE
.FILL
.JUSTIFY
.LEFT MARGIN 0
^^APPENDIX:##DTBOOT SUMMARY FOR OPERATORS\\
.BLANK 1
^^DTBOOT\\ IS LOADED FROM PAPER TAPE VIA THE ^^READIN\\ SWITCH ON
THE ^^PDP-10\\. ^^DTBOOT\\ STARTS AT 77000(32^K), 137000(48^K),
177000(64^K), 237000(80^K), ETC.
.BLANK 1
^^COMMANDS\\
.BLANK 1
.INDENT 10
^^DTA3\\:NAME.EXT/^L OR 3:NAME.EXT/^L
.BLANK 1
^^SWITCHES\\
.BLANK 1
.NOFILL
.NOJUSTIFY
.TAB STOPS 10
NONE	= LOAD AND START PROGRAM
/NUMBER	= SET STARTING ADDRESS TO NUMBER (OCTAL)
/^D	= DUMP CORE AND STARTING ADDRESS ON TAPE
/^F	= TYPE FILE DIRECTORY
/^G	= GO TO STARTING ADDRESS
/^K	= KILL (DELETE) FILE
/^L	= LOAD, SET STARTING ADDRESS, DO ^^NOT\\ START
/^M	= MERGE (LOAD WITHOUT CLEARING CORE FIRST)
/^Z	= ZERO THE TAPE DIRECTORY (3:TAPEID/_^^Z SETS ^^ID\\)
.BLANK 1
^^DEFAULTS\\
.BLANK 1
DEV:, INITIALLY ^^DTA0\\:. ^OTHERWISE, SAME AS ON PREVIOUS
COMMAND (UNLESS THE BELL WAS RUNG).
.BLANK 1
NAME=^^CRASH\\ FOR /^D. ^OTHERWISE, IF ONLY ONE .^^SAV\\ FILE ON
TAPE, USE ITS NAME. ^IF MORE THAN ONE .^^SAV\\ FILE, USE
^^SYSTEM\\, UNLESS SPECIFIED.
.BLANK 1
EXT = .^^SAV\\ UNLESS SPECIFIED.
.BLANK 1
^^ERRORS\\
.FILL
.JUSTIFY
.BLANK 1
^IF AN ERROR OCCURS, THE BELL RINGS.  ^THE POSSIBLE ERRORS INCLUDE:
.BLANK 1
.LEFT MARGIN 9
.INDENT -4
1.##^TAPE UNIT NOT IN REMOTE.
.BLANK 1
.INDENT -4
2.##^NOT EXACTLY ONE UNIT DIALED AS DEV:
.BLANK 1
.INDENT -4
3.##^PARITY ERROR ON TAPE.
.BLANK 1
.INDENT -4
4.##^REQUESTED FILE NOT IN DIRECTORY.  (^TYPE /^F TO LIST DIRECTORY)
.BLANK 1
.INDENT -4
5.##^TAPE FILLED UP BEFORE WRITING IS COMPLETED.
.BLANK 1
.INDENT -4
6.##^INVALID COMMAND STRING.