.lm 0 .rm 60 .sp 1 .ts 5 .r;May 19, 1983 .sk 1 .i5;The patches and programs in this submission are for running the KMC-11 debugging tools designed for the PDP-11. By modifying compatibility mode programs to include resident common program sections and installing global sections in the VAX/VMS system it is possible for these programs to map to the I/O pages (UNIBUS address space). The two Digital Equipment Corporation proprietary programs KMCLDR and KMCDA are patched to include these sections and address them as if they are the I/O pages. .sk 2 ^&BUSCOM\& .sk 1 .i5;BUSCOM is used to create or delete two permanent group global sections in memory. The two sections UBUS0 and UBUS1 are located at the UNIBUS zero and UNIBUS one address space on an 11/780. The program should be run before the KMC loader or debugger is run. All members in the same group can then run the loader or debugger. The sections that BUSCOM creates will stay resident until the system is booted or until the sections are deleted. Two privileges are required to run this program, map to specific physical pages (PFNMAP) and create permanent global sections (PRMGBL). These will be enabled by the program for the duration of its execution. .i5;To verify that the global sections have been created, issue the command "MCR INSTALL /GLOBAL". The two sections will appear as "UBUS0__001" and "UBUS1__001" under the listing of "Group Global Sections" with the group number from which the program BUSCOM was run. Change mode to kernal (CMKRNL) privilege is required for this command. .i5;BUSCOM asks a single question, whether you wish to create, delete or exit. Either case single character answers will suffice and no acknowledgement is made if the operation is successful. If an error occurs then a status message will be printed. .sk 2 ^&UBUS0 and UBUS1\& .sk 1 .i5;The files UBUS0.* and UBUS1.* are used when the compatibility mode loader and debugger are built so that the task builder (TKB) can use the symbol tables for reference. Both the tasks (UBUS0.TSK and UBUS1.TSK) and the symbol tables (UBUS0.STB and UBUS1.STB) must be present in the directory when building the loader and debugger. The symbol tables and tasks are necessary because the loader and debugger are built so that they reference a resident common data area. .i5;If it becomes necessary to rebuild either of these tasks command files UBUS0BLD.COM and UBUS1BLD.COM are provided. .sk 2 ^&PROPRIETARY SOURCE\& .sk 1 .i5;The loader and debugger are named KMCLDR and KMCDA respectively. The two programs are proprietary to DEC and therefore they could not be included in this submission. The patches that are described here were applied to the following distribution from DEC, an RK05 pack dated 5/30/78 with the label: .sk 1 .i25;AN-C914A-SC .i25;KMC-11 TOOLS V1 RK05 .sk 1 .i5;The loader has the ".ident" of /X01/ and the last change is from "J OLAPURATH 8/25/76". The debugger has an ".ident" of /V0001A/ and last modification of 23-SEPTEMBER-77 by DAVID J. MITTON. I believe the current product number is QJ633 "KMC11 TOOLS". .i5;Also included in this distribution was a macro file (KMCMAC.MAC) which defines all the KMC-11 mnemonics and a file which is used to set up break points in the KMC-11 code (BRKPNT.MAC). .sk 2 ^&APPLYING PATCHES\& .sk 1 .i5;The two source language patch files are KMCLDR.SLP and KMCDA.SLP. They should be invoked as DCL command files ("@KMCLDR.SLP" and "@KMCDA.SLP"). They include checksums, and expect the PDP-11 versions of the loader and debugger to be in the current directory. A differences comparison listing was generated and these are in the files KMCLDR.DIF and KMCDA.DIF. .i5;Two files KMCLDRBLD.COM and KMCDABLD.COM are provided for assembling and linking the loader and debugger. .sk 2 ^&RUNNING KMCLDR AND KMCDA\& .sk 1 .i5;The only additional input to the programs beyond asking for the CSR of the KMC is that both will ask for a UNIBUS number. This should be answered with either a "0" or a "1". The CSR question should be answered as normally with a 16 bit value. .sk 2 ^&EXAMPLE PROGRAM\& .SK 1 .i5;The files DRECHO.* contain an example KMC-11 program that will take input from a DR-11K and echo it back out. It will continue until an interrupt and then it will perform an internal loop. It must be stopped manually. .i5;The program can be loaded using KMCLDR, and then after invoking KMCDA, a "G"o command will start it. .sk 2 ^&ASSEMBLING AND LINKING\& .sk 1 .i5;To assemble and link KMC-11 source files a command file is provided with the name KMCBLD.COM. It expects the KMCMAC.MAC (supplied with the debugging tools) macros to be in the current directory. .sk 2 ^&CLN TECO MACRO\& .sk 1 .i5;The CLN.TEC file is used to clean up assembly listing files. The programs should be assembled with the KMCMAC.MAC file provided and with a ".LIST MEB" directive. The clean macro will remove all the expansions and leave the addresses and machine code. This is extremely helpful for debugging. To invoke the TECO macro you must already be TECO'ing the listing file and invoke the command "EICLN$$". .sk 2 ^&COMMENTS AND SUGGESTIONS\& .SK 1 .i5;I welcome any comments or suggestions: .lm25 .nj .nf .sk 2 Thomas J. Linscomb Computation Center The University of Texas at Austin Austin, TX 78712 .sk 1 PHONE:##(512) 471-3241