Page Numbers: Yes X: 527 Y: 10.5" First Page: 55
Columns: 1 Edge Margin: .4" Between Columns: .4"
Margins: Top: 1.3" Bottom: 1"
Line Numbers: No Modulus: 5 Page-relative
Odd Heading:
Maxc OperationsDMPLD
Even Heading:
DMPLDMaxc Operations
15. DMPLD
Maxc1 only. (The "load" function of DMPLD is implemented by the AltIO "Load" command on Maxc2.)
DMPLD is a Nova program1 which can transfer stand-alone PDP-10 programs between Nova files and Maxc’s memory. At the present time, it is used only for loading PDP-10 diagnostics to assist in microcode debugging.
15.1.DMPLD Operation
To load a PDP-10 .SAV program when you are in Nova DOS type
DMPLD<cr>
and answer the LOAD FROM FILE question. Type rubout and try again if you make a mistake. This zeroes the first 32K of main memory before loading.
If you are in Midas, type
6,DMPLD;T
Normally you will have to prepare locations 3, 4, and 7 before running the program. To make these changes, proceed as follows:
DMPLD<cr>
LOAD FROM FILE: AUXD<cr>
NVIO/H<cr>
3/ 0 nnnnn<lf>
4/ 0 nnnnn<cr>
7/ 0 nnnnn<cr>
M...OK.
DEB DMPLD<cr>
DMPLD%
DUMP$R
DUMP TO FILE: AUXX<cr>
The file will typically grow by a substantial amount when this is done because DMPLD does not compress out zeroes when dumping.
DELETE AUXD<cr>
RENAME AUXX AUXD<cr>
------------------------------
1At present, the only way to create such a file on the Nova disk is to dump it from Maxc memory using DMPLD. When Maxc was originally being bootstrapped, such files were created using a program called Mtape, which read Tenex "Mini-Dumper" tapes mounted on a 7-track drive which no longer exists.
If you want to dump a PDP-10 program you have created in core, you must exit back to DOS (by control-A or ;X to Midas). Then dump the first 32K of main memory by typing
DEB DMPLD
DMPLD%
DUMP$R
The program will then ask DUMP TO FILE: and you should type a file name. If you make a mistake type rubout and try again.
15.2.Required Format for Standalone PDP-10 Programs
DMPLD requires the program to be a .SAV file which resides in the low 32K of main memory. DMPLD currently zeroes the low 32K of core before loading the program.
The interprocessor communication locations must be set up with pointers as follows:
3/MTBSMagtape, IMP, MCA, etc. 300-word block (octal; may grow later)
4/DLSBSData line scanner 104-word block
7/STADRProgram starting address
Note that these are absolute main memory locations in the "shadow" of the accumulators, so they must be initialized in one of three ways:
(1)By hand from Midas or ODT
(2)By mapping page 0 to a different virtual address
(3)By using the JMC’s for addressing absolute main memory addresses.
The program must perform an I/O reset (CONO APR,200000) before carrying out input/output to any Nova related peripherals and after initializing MTBS and DLSBS as described above.