Digital PDFs
Documents
Guest
Register
Log In
DEC-08-SBAB-D
December 1967
18 pages
Original
0.8MB
view
download
Document:
dec-08-sbab-d
Order Number:
DEC-08-SBAB-D
Revision:
Pages:
18
Original Filename:
https://svn.so-much-stuff.com/svn/trunk/pdp8/src/dec/dec-08-sba/dec-08-sbab-d.pdf
OCR Text
IDENTIFICATION Product Code: DEC-OS-SBAB-D Product Name: PDP-8 Disc System Builder Date Created: October 27, 1967 Maintainer: Software Services Group LIIHARV DEC-08-SBAB—D ABSTRACT 1 This document describes a fast convenient keyboard oriented monitor which will enable the user to efficiently control the flow of programs through his PDP-8. The system is modular and open- ended allowing the user to build the software components required in his environment. The user may specify the system device (disc or DECtape), the amount of core, number of disc units available and the number, name and size of his resident system programs. This is a basic package to which DEC will add FORTRAN, Assembler, Editor, Peripheral Interchange Program, DDT, and perhaps other programs, as they become available. The system described here includes all features of the monitor and allows the user full access to the disc as a program storage medium. The System Monitor is designed to facilitate user/system communication. By typing appro- priate commands to the monitor the user may call the loader from the systems device, save a core image on the systems device, 2 or call a saved file into core from the systems device. PRELIMINARY REQUIREMENTS PDP-8 (4K) 3 cycle Data Break DF32 Disc (or TCOl DECtape) 3 SYSTEM GENERATION 3.1 Building the Monitor To load a monitor system on an empty disc or DECtape, perform the following sequence of operations. to fit your a. Load RIM Loader b. Load Binary Loader c. Load BUILD using the Binary Loader d. Disable write protect on the desired device; DISC or DTA8 e. Start at f. Answer the questions (underlined) asked by the BUILD Program, 2008 hardware system. *TYPE SIZE OF CORE (IN K) ; *4; *HIGH SPEED PAPER TAPE? *YES) . )- as shown below, DEC-O8-SBAB-D :DISC OR TAPE? ) :DISC) :TYPE NUMBER OF DISC UNITS ) 1‘] g 9. z A (MAXIMUM I MINUTE DELAY) Yo: will get either: I . 2. Q» meaning the monitor and loader are correct or WRITE ERROR. If in a disc environment, you get the latter; start over at step a hardware problems). (you may have If you have DECtape, try a new DECtape at step d or try writing timing and mark tracks on the DECtape and start over. The builder will ask other questions as necessary allowing you to tailor your system to the hardware. 3.2 Building the System Library (section 4.1) and CALL/SAVE description (section 4.2). a. Read the LOADER description b. Type in appropriate commands as indicated in Loader description. By using the starting address of 76008 ("ST= 7600"), control is returned to the monitor after load and each program may be saved. An example of loader use follows. .LOADA A *IN-R: t T READ ONE TAPE FROM READER *OPT-2 LOAD IN 2 PASS MODE (PROGRAM REQUIRES *ST= 7600; JUMP TO 7600 AFTER LOAD IS FINISHED LOADER FOUND DEVICE R: IS VALID USE OF CORE ABOVE 70008) lTll LAT/TYPE < CONTROL > P TO JUMP TO START ADDRESS. LOAD TAPE FOR PASS 2, TYPE < CONTROL > P. ’ ND OF PASS I TYPE <CONTROL > P LOADER IS WAITING FOR YOU TO LOAD A TAPE AND TYPE < CONTROL > P c. Save the core image as described under SAVE/CALL in this document. exclamation point ('.) after the name. a user program save. d. Note the This means system program as opposed to the normal colon (z) of (See Appendix A). Repeat process From step b until you have stored all the desired systems programs. DEC-08- SBAB- D 4. OPERATION OF THE DISC SYSTEM 4.1 Loader 4.] .I General - The loader is a disappearing program allowing paper tape or disc input. It loads in one or two passes and makes all of core available to the user, except the page reserved for the monitor head a (7600-7777). The user specifies a command list to the loader and the entry point. After successful load the loader disappears and enters at the specified starting address. 4.] .2 Operations - From the monitor, type LOAD and wait for *IN —-. The loader uses either high or low speed paper tape as specified at build time by the answer to HIGH SPEED PAPER TAPE? . If you specified high speed paper tape either T: or R: is forced to the high speed reader; if you said no, both devices are forced to low speed. This applies only to the loader. The loader will load up to five separate tapes. command string in response to *IN —. “*IN causes — R:,R:,R:) This is done by typing the appropriate For example, " the loader to expect three separate tapes to be loaded. each of the three tapes must be read in twice. "<cr><LF>l" If the two pass option is specified, The loader acknowledges each valid input with a . The next typeout is "*OPT —" which expects a l-character answer I is the number of passes required. or 2. This argument The one pass loader will not load programs in field 0 above 7000. The loader disturbs core from 6000 to 7577. The two pass loader will load programs in all of field 0 except the cells described below. Cells Excepted Core Size 4K 7600-7777 8-32K 7574-7777 The two pass loader requires the input tapes be passed through the reader twice. case higher fields will be loaded. In either In the command string, each field, delimited by commas, contains device of one binary program and this command string will be identical for one pass or two pass load of the same program. The loader asks "*ST= " and expects a one to five digit answer describing, in octal, the starting address. The highest digit of a five digit number describes the memory extension involved; a four digit or less string implies field 0. " means jump to ST: 30200) ” field 3, address 200. For example, DEC-O8- SBAB-D The loader then types ” T“ and waits for a tape to be inserted in the reader. positioned, type <CONTROL>P. The tape is read-in and the loader again types "1 " When the tape is and waits. The low speed reader version of the loader halts; press Continue to resume the requested operation. Continue the above operation until you have matched the number of tapes loaded with the input request. one more <CONTROL>P causes the loader to enter at the specified starting address. <CONTROL>P's are required at the end of pass 1 of a two pass load. in the following order: Tape 1, Tape 2, Tape 3. Errors 4.2 CALL/SAVE 4.2.l SAVE - ., then Tape 1, Note that two In two pass mode, tapes are loaded Tape 2, Tape 3. . . . An illegal checksum causes the loader to type "?" and return to the monitor. 4.l .3 - . The typing of Core may be saved on the disc in blocks of 12810 words. From 1 to 31 (decimal) blocks may be placed on the disc and the blocks may be contiguous or non-contiguous as specified by the user. The syntax is as follows: . SAVE u xxxx{ '. }YYYYY -zzzzz, wwwww;uuuuu) l—ENTRY POINT ONE PAGE SAVE L————MULTIPLE PAGE SAVE : USER PROGRAM .' SYSTEM PROGRAM PROGRAM NAME Any combination of multiple page SAVE and/or single page SAVE requests may be requested, up to 32 (decimal) requests. Beginning address of a multiple page request must be smaller than the ending address. All addresses must be in the same field. All addresses are in octal and are one through five digits where the most significant digit of five is the memory extension. .SAVE saves a core of 20. CORE: 0 , 400-6l77; For example, 20) image called CORE, as page 0, and all cells from 400 through 6T 77 with an entry point Extended memory may be saved through the use of a five digit number. This most significant digit describes the field to be accessed and no check is made for validity in your system. in field 7 you must have memory to match the request. is remembered. The last non-zero extended field digit entered The following three examples perform in exactly the same way. . . . SAVE FOO:10000 SAVE FOO:30000 SAVE FOO:10000 - - - If you save 17777; 10200 67777; 10200 7777; 200 DEC—OB-SBAB- D Only one Field may be saved at a time, and an entry point oF zero causes a return to monitor at call time. 4.2.2 SALE - Core may be loaded From the disc by name in the Following ways: .CALL XXXXA 1 or .xxxx The Former is used iF a user program is desired. sired (see " '. " and " " : in At the successful completion oF the "call", control is transFerred to SAVE). Only the core specified at save time is disturbed. the entry point specified at save time. 5. DETAILS OF OPERATION AND 5.1 Core ConFiguration STORAGE The system resides in the top page oF Field 0. 7642. The latter is used iF a system program is de- The entry point to the system I/O routine is The loader, SAVE and CALL can access extended memory. monitor mode, and user mode. when the monitor is started. Two modes are used in the system; Monitor mode is present when 1C is typed at system program time or The " ." means monitor mode; the "*" means user User Time Monitor Time System IO + System IO + Monitor Head Monitor Head I Monitor Body I l USER 1 hi (i Figure 1 Core Storage ConFiguration mode. (See Figure l). DEC-08—SBAB-D The operation of the system after it is built and stored on the disc is described below. Appendix B shows the bootstrap which must be toggled in to start the system, if‘ the machine core is cleared or destroyed. At monitor and SP time the keyboard listens to a TC and returns to the head of the monitor (top page of field 0). The system is completely open ended, the user installation. The system is built easily on the user's machine from a tutorial system builder allowing flexibility in system content at program. Monitor start is at location 7600 of field 0. At monitor start the code from 7200 to 7577 is saved in the first two scratch blocks on the systems device, and the monitor (block 1 and 2) is read into these cells. " A Control is transferred to the monitor which types a carriage return, line feed and a ." at the start of any line informs the user that he is communicating with the monitor. " ." . A <CONTROL> C(lC), when typed to either the monitor or loader causes an immediate transfer of control to 7600. A rubout typed to the monitor causes a monitor restart without destroying the contents of the scratch blocks on the systems device. Core images may be saved by typing: one to four character program name. SAVE NAME: The dash between n1 and n1 -n2, n3; n4 1 n2 , where NAME is any indicates a contiguous save from the through the page containing n2. Address n3 is comma delimited and indicates a single page save. The entry point is delineated by a semicolon. n4 page containing address n1 A list showing the required pages is constructed from the information typed by the operator and a block requirement count is kept. a When the carriage return is typed (allowing the save to begin) directory name (DN) search is initiated. the present file; if not, a new If a file of the name specified is found, it is replaced by file is created. A storage availability search finds sufficient available blocks to satisfy the requirement count generated as the page list was built. on a corresponding block list. Their numbers are stored These blocks are then filled with the contents of the pages to be saved until the typed request has been satisfied. When the save is completed control returns to the start of the monitor (7600). A save file may be recovered by typing "CALL NAME A" . and control is transferred to the entry point specified during the save. The file is loaded back into core If the file was designated a systems program at save time it will be recovered by typing only NAME 2 a DN search is initiated to find the name specified. . When a program is called, Associated with the name is the entry point, and file protection and extension information. If the DN entry is found to be a save file of the proper mode (systems or non-systems), calling proceeds. If not, the call is terminated and control is returned to the monitor. to the When the call is completed (i .e., all of the saved code is back in core) control is transferred entry point specified at save time. time to type the request. The time for a program to be saved or called is less then the DEC -08- SBAB- D 5 2 Mass Storage Configuration 5.2.1 File Structure . - A relatively sophisticated file structure is implemented to allow for automatic retrieval of storage for use by the system and a requirement for a single DECtape system. Two types of blocks are present — directory name (DN), and storage allocation map (SAM) blocks. former are described in Figure 3, the latter in Figure 4. line - 0. unused. The SAM block is the item Each DN entry has a SAM number between A SAM block has a record of The All blocks are linked with the end of chain The top of the SAM block chain is addressed in all DN blocks. which allows automatic storage retrieval. means (See Figure 2.) 25610 pages of mass storage (Figure 4). 1-778. A zero The first page of any numbered program is found by searching SAM blocks until an entry with matching number is found. To add to a file, find a SAM block entry equal to 0, insert the correct SAM number and adjust the storage block linking. To delete a block, the DN entry is cleared and the SAM block entries (equal to the DN number) are zeroed out. DIRECTORY (BAC K-UP) MONITOR LOA DER FORTRAN EDITOR DDT OTS PIP ASSEMBLER 16K DIRECTORY (NORMAL) USER SC RATC H Figure 2 256 Mass Storage Configuration DEC—O8-SBAB-D FIRST SAM BLOCK = # = NUMBER N A <—4 CHARACTER NAME M E NAME BLOCK ENTRY START ADDRESS ENTRY POINT ”—1—“ Extended Memory Bits PROG. TYPE 00 Source ‘T‘ “—r—' 25 ENTRYS/BLOC K 01 Binary 10 Fort. Binary ii Save 1 = System Program LINK Figure 3 Directory Name Block (SIXBIT) DEC-OB-SBAB-D SAM BLOCK IMAGE SAM BLOCK LAYOUT Block 200 Block 0 Block 201 Block I Block 202 Block 2 Block 203 Block 3 Block 4 I I I I I I I | I I | I I I I I I I I | I I I ' | ' I I | I | I I I I I Block 377 Block I77 ‘——-> LINK LINK Link to SAM Block 2 w/ Block 400 - 577 Figure 4 Storage Allocation Mop DEC-O8-SBAB-D 5.2.2 Disc Configuration - The Disc configuration is shown in system overlay is located in the last two pages of disc storage. Figure 5B. The scratch area for Additional DN and SAM blocks are added, one each per 32K of disc. 5.2.3 DECtape Configuration - The DECtape configuration (Figure 5A) is logically equivalent to the disc system but has the SAM and DN blocks ordered differently for efficiency. BLOC K HEAD OF MONITOR 0 HEAD OF MONITOR MONITOR l MONITOR MONITOR 2 MONITOR DN 3 DN DN 4 SAM SCRATCH 5 SYSTEMS SCRATCH 6 SCRATCH 7 SAM l0 SAM l l SAM 12 SAM 13 ”F ,L 16K SYSTEMS SAM DN USER 2 SAM2 USER SCRATCH SCRATCH LAST SCRATCH DEC TAPE DISC (A) (3) Figure 5 Mass Storage Configuration lO l per 32K additional disc DEC-O8-SBAB-D 5 3 . Error Messages a. The monitor protects the user from himself to the extent that it recognizes incorrect syntax in input command strings. a Any errors discovered are remembered and at the time the user types carriage return the monitor signals them with a ”?" b. . The command decoder notifies the user of the following errors, by typing the key letter shown opposite the offending condition. No such inputs - Illegal input characters I or miscellaneous error condition - Directory full System I/O failure Excessive inputs or outputs means a - - - m U-o c. The local errors are described in the write-ups for each system program. d. Monitor time read/write errors cause a halt to occur. hardware failure, as Persistence of this condition the system I/O routine tries to read and write three times before it gives up. 6 SPECIAL REQUIREMENTS INSTRUCTIONS OR FORMATS 6.l Command Strings The command string structure for the PDP-8 Disc communicate with the system. System software enables the user to easily The punctuation of the input is as described below. monitor mode system program mode ‘ more , ll 1C <CONTROL> C Request to return to monitor = carriage return ‘lP = <CONTROL> P. = <RO> Go back to start of input string. Proceed with next operation. Device Names DX S * separator between device and file name R Rubout 6.2 devices in list - - R - T - DECtape if disc and DECtape are on system [ X= unit number 0-7] System (disc or DECtape) High-speed paper tape Teletype (low-speed paper tape) Not implemented ll * DEC—08-SBAB-D The command decoder used by all system programs asks one to three questions: a. OUTPUT in the Form "*OUT-" b. INPUT in the form "*IN-", c. OPTIONS or SWITCHES in the form "*OPT-" . . Each system program may chose to use any or all of these options when it enters the command decoder. The user may type in one output device, one option (any character, which is transmitted in ASCII to the using program) and a string of one or more input devices. Each system program using the command decoder must tell it the type of file being dealt with, i.e., Binary, Fort. Bin., or ASCII. Some examples of command strings are shown below. *IN *IN — — *OUT *OPT S:SAM A S:FOOZ,R:) D7:BAR R — — M 3 *TYPE SIZE OF CORE (IN K) *4 *HIGH SPEED PAPER TAPE? *YES *DISC OR TAPE? *DISC *TYPE NUMBER OF DISC UNITS * *l . LOAD *IN-R: Typical System Builder Output 1 *OPT-Z Figure 6 ST= 7600 Hi? . . SAVE FORT10-7577;45ll LOAD *IN-R: l *OPT-l ST= 7600 H . . SAVE PAL.l 0-3400;24l LOAD *IN-R: i *OPT-Z ST= 7600 NH . SAVE DDT! 5000—7577;5400 12 DEC-08— SBAB- D APPENDIXA SAVE SYNTAX FOR STANDARD .SAVE FORT.l 0 SAVE PAL.‘ . . SAVE DDT'. 0 — - PDP-8 7577; 4511 3400; 241 5000 .SAVE LODT.‘ 1000 . . SAVE HODT.I 7000 SAVE MAC8'. 0 .SAVE FOTS! * 0 - - LOAD 200, SET SWITCHES+ RUN. 13 SYSTEM - - - 7577; 5400 1577,- 1000 7577; 7000 7577; 2041* 6200; 200 PROGRAMS DEC-08-SBAB-D APPENDIXB BOOTSTRAP DISC BOOTSTRAP 0200 0201 0202 0203 0204 0205 0206 0207 021 0 021 I 021 2 0213 021 4 021 5 / 7600 /661 5 /1 21 5 /361 3 /1 21 2 /3614 /6603 /6622 / 5207 / 5600 / 7576 / 7750 /7751 / 7577 /CLA /DEAL /TAD 215 /DCA I 213 /TAD 212 /DCA 1 214 /DMAR /DFSC /JMP 207 /JMP I 200 /WC /CA DECTAPE BOOTSTRAP (See TCOI System Bootstrap) 14 LOADERS DEC-OB—SBAB-D APPENDIX C CALLING SEQUENCE (SYSTEM ROUTINE) CALLING SEQUENCE JMS I SYSIO / CELL "SYSIO" POINTS TO I/O FUNCT / SEE PARA. II BLOCK / BLOCK TO BE ACCESSED CORE / LOW ORDER CORE ADDRESS LINK / FILLED BY WRITE, USED BY READ ERROR / ERROR RETURNS HERE / NORMAL RETURN HERE FUNCTION CELL BITS O-I UNUSED BITS 2 =0, NORMAL,- =1, RETURN AT END OF READ/WRITE TO (ADDRESS + I IN ERROR RETURN. BITS 3-5 UNIT NO. BITS 6-8 MEMORY FIELD BITS 9-H FUNCTION; READ 15 (IF DECTAPE) = 3, WRITE = 5.
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies