So, yesterday and today Kyle R. and I did a deep dive on debugging our problem with the machine.
I punched in a bunch of the low level diagnostics (not the official DEC ones). Everything that I tried, worked, modulo working around the BSW instructions that the PDP-12 doesn't have. Every punch-in program that we try at the console works (once we grasp the addressing modes
). We're yet to see a basic operation that doesn't work as it's supposed to.
When we send files from minicom, the machine runs the RIM loader and acts like it is reading data correctly. (For example, the speaker clicks as the data is read in, and we can slow down using AUTO and see that it is receiving data and working.)
We tried loading the OS8 bootloader.rim, decoding it, and double-checking the data in core, which seemed to show that it was loaded correctly. Then we tried loading the BIN loader, but it was not properly loaded. Some addresses were right, and others were not. There didn't seem to be a pattern.
So, we wrote a punch-in program to wipe the first 4K of core (actually, set it to 7777). Then, we re-loaded the BIN loader and... there was no data loaded -- 7777 had 7777 (from our wipe) not 5301 as it's supposed to. The lower addresses in the BIN loader were also still 7777. Then we tried loading the OS8 bootloader.rim, and the same thing was true -- words in core were not being changed, even though the machine definitely seemed to be RXing data from the terminal.
One time, we loaded a file and slowed down the RIM loader using AUTO, and that one time it seemed like the very first address was changed, but iirc it was not correct.
So, our next plan is to single-step through the RIM loader and trace loading the first word of something into memory to see what's happening. If this triggers any memories or hot ideas, please let me know! Thanks!