TestLib.com is a library of short binary routines that can be entered on a PDP 11 via ODT and executed. A few are test routines, but the majority are boostraps I've seen one place or another. The are intended to be uploaded via my ODT interface, PDPDB.exe, but can be entered by hand using ODT directly. TestLib.com is a self extracting LHarc archive. You can view the contents with the freely available LHarc program, or execute the program to dump all files to the current directory: Listing of archive : 'E:TESTLIB.COM' Name Original Packed Ratio Date Time Attr Type CRC -------------- -------- -------- ------ -------- -------- ---- ----- ---- LTC.DMP 262 217 82.8% 0-03-07 18:57:00 a--w -lh1- 91B8 RXV11.DMP 262 186 71.0% 0-03-10 11:56:24 a--w -lh1- 9666 TESTLIB.TXT 3716 1944 52.3% 0-09-09 9:19:20 a--w -lh1- 253B TSTCHR.DMP 1011 558 55.2% 0-03-07 12:04:44 a--w -lh1- 6D02 TSTINT.DMP 961 572 59.5% 0-03-07 12:42:42 a--w -lh1- E6E1 TU58A.DMP 396 279 70.5% 0-03-07 16:23:12 a--w -lh1- 438E -------------- -------- -------- ------ -------- -------- 6 files 6608 3756 56.8% 0-09-09 9:20:50 There are a number of these in the handbooks and various web sites. I found the TU58 code in my handbook had an error in it, and have seen a similar comment in one of the other code fragments. If I have personally tested the routine I'll indicate this, however I don't have the hardware for a number of these. The format I use is an ascii text file where lines starting with ';' are comments and completely ignored. The ';' can also be used anywhere on a line to start a comment. In truth, the program looks for lines starting with a number which may optionally be followed by a '/' and a second number. Other stuff on the line is ignored. I found I needed to block the remainer of the line from view when I had embeded a date in it, my scan for '/' would find the date and use it as an address. Look at one of the files, you'll get the idea. I more or less follow the ODT format, "address/value" opens a location = address and deposits value. By default I leave the next address open, ie I send ODT an . A lot of bootstraps are at contiguous addresses, so the rest of the lines just have a single value. TstInt.dmp is an example where there are several different contiguous blocks so several occurances of address/value pairs. I think these a pretty readable if you are loading by hand, and they make the upload logic simple. As of 3/10/2000 my library contains the following routines I've verified: tstchr.dmp - simple SLU test, sends the '!' char out the console and printer SLU (or any other CSR of your choice) until you reply with a character at either. The intent is to let you search you RS232 lines to find which one is connected to which SLU if you can't or don't want to figure out the wire wraps on the boards. tstint.dmp - An interrupt test from handbook. Suggested as a debug aid. tu58a.dmp - this is a tu58 bootstrap routine, it boots unit 0 with my TU58.exe emulation. I have yet to verify: RXV11.dmp - RX02 bootstrap for DY0 (There is a much longer one for any unit, maybe later) LTC.dmp - line clock test routine from handbook 03/05/2009 added some routines from: RL01/RL02 Technical manual EK-RL122-TM-001_techAug82.pdf downloaded 2005 from http://computer-refuge.org/bitsavers/dec/disc/ see toggle in routines in appendix C rl_ctls.dmp - C4 Get Status on an RL11/RLV11/RLV12 subsystem system will halt after this runs, status is contents of loc 1032 rl_heads.dmp - C1 Head Selection Program for RL11/RLV11/RLV12 don't really get code, looks like it runs forever...? rl_rseek.dmp - C5 Oscillating Seek for RL11/RLV11/RLV12 As time allows I'll put more here from the various sources after converting to my upload format. However I only own four boot devices, so if its not a TU58, an RX02, an RL02, or an RX50 I can't verify it. The RX50 is in a Pro, and I haven't actually done any testing on one of these yet....