RELOADED THE SECTION OF CORE THAT CONTAINS ROUTINE 2 CODE, DATA AND SUBS
Because it was more likely that we had an error in loading the test code or data, rather than a hardware error in addressing, I trimmed the load file and ran the Memory Load Tool again. Since the critical sections aren't that big, I then stepped through core displaying the contents to verify it was correct.
RUN ROUTINE 2 TO CHECK THE ADDRESSING LOGIC OF MEMORY
This routine loops from address 0800 up to the top of memory and wraps around to the first ten locations of low core. It writes its address into each word. After the write loop, it loops again reading each location and verifying that the contents match the address. A second version is run storing the complement of the address in each word and checking it again.
RESULTS OF THE TEST AND CONCLUSIONS
It ran flawlessly through all six routines! The memory that was tested is all good. For completeness, I have to run the Lo Core diagnostic. That is essentially the same code but it sits up in /0800 and above, thus it can test all the low memory and wrap around to some of the high addresses.
FIRST TRY OF LO CORE HAD SIMILAR ERRORS AS THE INITIAL HI CORE TESTS
My memory loader tool toggled in the Lo Core diagnostic after which I set the IAR to 0961, its start address and hit run. It did properly detect that this was an 8K machine, but when I hit run to start the tests it kept stopping on a word of 0000 that was clearly intended to hold a valid instruction. I got past that and again saw the 3004 and 3005 error waits for routine 2, similar to but not exactly the same as with the corrupted Hi Core test.
RELOADED ROUTINE 2 CODE, DATA AND SUBROUTINES AGAIN
I stripped down the load file and used the Memory Load Tool to replace those sections of core with the contents. Since this had fixed the Hi Core problem, I didn't hand verify the data this time, I just ran it again.
RERUN OF LO CORE DIAGNOSTIC WAS FULLY SUCCESSFUL
This time, after starting at 0961 and seeing the proper core size in the register, I started looping on routine 2, without any error waits, then let it run all six runs to completion. The machine passed, just as it had with the Hi Core program which means that we exercised all of core memory with no errors detected. I now declare the memory and CPU fully functional.
NEXT STEPS
My next steps are restoration of two peripherals and debugging of their controller circuits. The 1053 Console Printer is the immediate priority, then I can dive into the internal disk drive to complete the restoration of this machine.
No comments:
Post a Comment