|
XXDP Diagnostics
Knowing I was able to
run code on the
PDP-11 without any storage devices, I got to thinking if it would
be possible to boot up XXDP from a virtual tape drive in order to run
some diagnostics. Being unfamiliar with the XXDP system itself, I first
tried out a couple of disk images (available
here Originally I thought I'd use SIMH to create a tape image to use with VTServer, but this was not an option as VTServer is made for running stand-alone programs, not full operating systems. Although it is possible to create stand-alone XXDP programs, this would involve a lot of extra work as each diagnostic program would have to de individually built. It's also handy to have the actual XXDP monitor running to tie things together.
In any case, the XXDP disk images would not be of any use until the
RL02s were working, so I'd need another way to boot the system. A web
search for "XXDP tape image" turned up the
XXDP Mini User Guide Having downloaded the emulation software and the tools required to manipulate virtual tape images from the links provided in the guide, I got to building a custom XXDP tape image containing the basic XXDP system and a few diagnostics for the processor and MXV11-B module. Not a lot more would fit as TU58 tapes only hold about 256K of data. For this I used the DIAGDIR program to create a new tape image using the data on one of the XXDP disk images as below (lines in bold indicate my input). >diagdir xxdp25.dsk -itest.tap Will's Works PDP-11 XXDP Image Viewer Version: 1.01 image supports 20460 blocks, 203 are pre-allocated XXDP format, monitor starts at block 170 22 blocks in bitmap 17531 device blocks in use source appears to be VERSION 2 system, supported devs: DD: DL: DY: which of supported devices do you want? : dd 4 directory blocks, ending in block 6 Assume DOSBATCH device with 512 blocks DOSBATCH format, assume monitor starts at block 8 1 blocks in bitmap 39 device blocks in use enter files to be copied, or empty string to terminate: *.sys copy XXDPXM.SYS ....................................... copy XXDPSM.SYS ............................. copy DRSXM .SYS ................................................ copy DRSSM .SYS ........................ copy DIR .SYS ....... copy DB .SYS .. copy DD .SYS ... copy DL .SYS .... copy DM .SYS .... copy DR .SYS ... copy DU .SYS .... copy DY .SYS ... copy LP .SYS . copy MM .SYS ... copy MS .SYS .... copy MU .SYS .... copy DATE .SYS .. copy DUSZ .SYS .. zkd*.* copy ZKDJB2.BIC ..................................... copy ZKDKB0.BIC ................... copy ZKDLB0.BIC ................................. copy ZKDMB0.BIC ............ vmxb*.* copy VMXBA0.BIN ....................... [enter to finish]
The names of the diagnostic programs for the devices I wanted to test
were lookup up in
these XXDP notes >diagdir test.tap Will's Works PDP-11 XXDP Image Viewer Version: 1.01 4 directory blocks, ending in block 6 Assume DOSBATCH device with 512 blocks DOSBATCH format, assume monitor starts at block 8 1 blocks in bitmap 349 device blocks in use Attempting dir starting at block 3 LIST ALL 1: XXDPXM.SYS 1-MAR-89 39 blocks start 39 end 77 2: XXDPSM.SYS 1-MAR-89 29 blocks start 78 end 106 3: DRSXM .SYS 1-MAR-89 48 blocks start 107 end 154 4: DRSSM .SYS 1-MAR-89 24 blocks start 155 end 178 5: DIR .SYS 1-MAR-89 7 blocks start 179 end 185 6: DB .SYS 1-MAR-89 2 blocks start 186 end 187 7: DD .SYS 1-MAR-89 3 blocks start 188 end 190 8: DL .SYS 1-MAR-89 4 blocks start 191 end 194 9: DM .SYS 1-MAR-89 4 blocks start 195 end 198 10: DR .SYS 1-MAR-89 3 blocks start 199 end 201 11: DU .SYS 1-MAR-89 4 blocks start 202 end 205 12: DY .SYS 1-MAR-89 3 blocks start 206 end 208 13: LP .SYS 1-MAR-89 1 blocks start 209 end 209 14: MM .SYS 1-MAR-89 3 blocks start 210 end 212 15: MS .SYS 1-MAR-89 4 blocks start 213 end 216 16: MU .SYS 1-MAR-89 4 blocks start 217 end 220 17: DATE .SYS 1-MAR-89 2 blocks start 221 end 222 18: DUSZ .SYS 1-MAR-89 2 blocks start 223 end 224 19: ZKDJB2.BIC 1-MAR-89 37 blocks start 225 end 261 20: ZKDKB0.BIC 1-MAR-89 19 blocks start 262 end 280 21: ZKDLB0.BIC 1-MAR-89 33 blocks start 281 end 313 22: ZKDMB0.BIC 1-MAR-89 12 blocks start 314 end 325 23: VMXBA0.BIN 1-MAR-89 23 blocks start 326 end 348 Connecting everything up was simple. It would have been nice to have used the VT220 as a console, but I only had two 9-pin null modem cables and a couple of 25-pin adapters. I therefore ended up using two PC's: one as a terminal emulator on SLU-1 and one to emulate the TU58 via SLU-0. I started up the TU58 emulator with my custom tape image and typed "DD" at the PDP-11's BOOT> prompt to boot from tape. Unfortunately, the thing didn't want to co-operate, so I tested the TU58 emulator by connecting both PCs with a serial cable. Typing characters at one end had the TU58 emulator producing output at the other, which hadn't been the case when the PDP-11 was supposedly accessing the port. Assuming the TU58 emulator was therefore working, I went back to the MXV11-B manual to see if that was set up right. Surely enough, another jumper was required to get SLU-0 running at 9600 bps (300 being the default for some reason) so this was fitted and the cables were returned to their original configuration. Bingo! Typing "DD" now had the TU58 emulator chatting away like there was no tomorrow as data was pumped over the line. Shortly after: BOOTING UP XXDP-XM EXTENDED MONITOR appeared on the screen... and, shortly after that, the tape emulator went quiet and the PDP hung. Hmm. A couple more tries got XXDP booted properly: XXDP-XM EXTENDED MONITOR - XXDP V2.5 REVISION: F0 BOOTED FROM DD0 124KW OF MEMORY NON-UNIBUS SYSTEM RESTART ADDRESS: 152000 TYPE "H" FOR HELP ! . Things were working, but only booting on one attempt in three wasn't really what you'd call reliable. Rerouting the serial cables away from noisy power cables and using the TU58 emulator's IRQ setting made seemed to clear this up and even got things loading quicker. During one of the reboots required to get things running, I was also able to verify that the system would automatically boot from the TU58 when left to its own devices. Running the diagnostics themselves was quite cool, in a cryptic kind of way. Some of them require input and are quite verbose; others just start up and loop until you stop them. I've yet to figure out how to stop them properly so that you're returned to the monitor, but you always have the option of dropping into ODT and restarting from there. Next: More XXDP and ODT Testing >> |
||||||||||||||||||||||||