Working on "Uncle Sherman", my Mitsubishi MP-3200 386. Trying to run down some memory errors.
1024K of soldered 'base' memory on a daughterboard, and 1024mb upper memory that is socketed / populated. Total of 2Mb.
I have been trying to use CheckIT 3 to figure out why I often get a message "Parity errors detected, run a full scan" when I install the upper memory range, even when I am only testing base memory. I have been keeping a written log of every test, (range being tested, what chips were installed, where, what error message I got, and if I get the "parity error detected" message) Removing combinations of chips will create specific hard faults at particular memory addresses, but if all sockets are populated I get no hard faults.
After several hours of testing, broken into smaller sessions of 15-20 minutes, and being unable to find a pattern for the parity errors, I realized that I sometimes get the "Parity errors detected" when testing video memory. Sometimes not. Then I realized that if I go into the memory test routine and exit back to the menu I will often get a the "parity errors detected" message even if I did not run a memory test. IF I get the parity error message, it's always while going back to the main menu, not during a test.
And then it hit me. The thing I was not logging in my testing was uptime of the system.
The pattern is... If the PC reaches room temperature, then CheckIT3 will always report "parity errors detected" as it goes back to the main checkit3 menu from either "memory test" or "video ram test", regardless of what test I perform or don't perform. After the PC has been running for 10 minutes the parity error message goes away.
So I have two options now...
- It's a simple enough board that I was able to decode it and create a rough schematic. I understand which pins are the address lines for which combinations of chips, how it uses the supporting 74 logic chips to handles /RAS, /CAS, /Write, Data00-15 and how the 74F280's send parity feedback to the motherboard. I can build a test harness using an Arduino Mega to simulate the motherboard and write/read the memory chips and monitor the parity response. I figure this will take a few days to build and likely lead me to at least which column has the parity error. I'd hopefully be able to use heat/cold to make the parity error occur or not. I'd learn a lot about building a complex tester in arduino world.
- I have a desoldering gun, and a T866II+. Every logic chip on the board (11 of them) can be tested using logic check mode on the T866. I could probably do that in an hour. It'd be good experience in desoldering/soldering.
The little adhd kid in me is telling me to build the tester because I'd learn a ton about how these memory circuits work. The old guy in me who is seeing other projects pile up is telling me to take the quicker route and just desolder & test the ICs, then socket them back onto the board.
Thoughts?
1024K of soldered 'base' memory on a daughterboard, and 1024mb upper memory that is socketed / populated. Total of 2Mb.
I have been trying to use CheckIT 3 to figure out why I often get a message "Parity errors detected, run a full scan" when I install the upper memory range, even when I am only testing base memory. I have been keeping a written log of every test, (range being tested, what chips were installed, where, what error message I got, and if I get the "parity error detected" message) Removing combinations of chips will create specific hard faults at particular memory addresses, but if all sockets are populated I get no hard faults.
After several hours of testing, broken into smaller sessions of 15-20 minutes, and being unable to find a pattern for the parity errors, I realized that I sometimes get the "Parity errors detected" when testing video memory. Sometimes not. Then I realized that if I go into the memory test routine and exit back to the menu I will often get a the "parity errors detected" message even if I did not run a memory test. IF I get the parity error message, it's always while going back to the main menu, not during a test.
And then it hit me. The thing I was not logging in my testing was uptime of the system.
The pattern is... If the PC reaches room temperature, then CheckIT3 will always report "parity errors detected" as it goes back to the main checkit3 menu from either "memory test" or "video ram test", regardless of what test I perform or don't perform. After the PC has been running for 10 minutes the parity error message goes away.
So I have two options now...
- It's a simple enough board that I was able to decode it and create a rough schematic. I understand which pins are the address lines for which combinations of chips, how it uses the supporting 74 logic chips to handles /RAS, /CAS, /Write, Data00-15 and how the 74F280's send parity feedback to the motherboard. I can build a test harness using an Arduino Mega to simulate the motherboard and write/read the memory chips and monitor the parity response. I figure this will take a few days to build and likely lead me to at least which column has the parity error. I'd hopefully be able to use heat/cold to make the parity error occur or not. I'd learn a lot about building a complex tester in arduino world.
- I have a desoldering gun, and a T866II+. Every logic chip on the board (11 of them) can be tested using logic check mode on the T866. I could probably do that in an hour. It'd be good experience in desoldering/soldering.
The little adhd kid in me is telling me to build the tester because I'd learn a ton about how these memory circuits work. The old guy in me who is seeing other projects pile up is telling me to take the quicker route and just desolder & test the ICs, then socket them back onto the board.
Thoughts?