weedeewee wrote on 2024-08-17, 05:24:
Have you tried the "4x 16MB 8 chip. ICs: KM41C16000AK-6. PCB: no marking " on the board ?
Yes, this was my first attempt, wherein I (re-)learned that this thing is a 386sx and therefore can't address more than 16MB of memory and needs to see SIMMs in pairs. This was the post I (re-)learned that from and now use as a reference. 😀
And, just to be sure (hey I do this stuff really late at night and my memory isn't great anymore), I just tried it again.
It didn't boot on the first try with all four sticks. I thought to myself "Did I ever try this with just two?" And so I tried with just two. It also didn't boot, but I thought "I should make sure everything is seated well" and went to power it off and flubbed pressing the switch and just sorta power cycled it briefly.
And what do you know? I got a VGA bios and it POSTed, counting 8MB of RAM. Once I got through its complaints about the RAM size changing, I tried booting to a MemTest floppy. It got stuck accessing the floppy. But at this point, I knew the magic spell, and power cycled it quickly again. This time it got all the way to loading MemTest and crashed. And again, this time it got all the way to starting MemTest, examined some memory, and started having wild errors like "writing garbage characters all over the screen".
So I had a theory at this point. I knew that at least one pin of those SIMMs was just straight up floating. So I was likely to have which quarter of the SIMM I was talking to just change randomly.
So then I went down the path of "well maybe this RAM is now bad for some reason" and swapped in all the sticks in pair combinations. All of them behaved the same.
Then I tried putting all four in and doing the quick power cycle. And it actually counted 16MB of memory... and did all the weird crashing stuff too.
Note that it was counting 8MB when it had 16MB installed and counting 16MB when it had 64MB installed.
So I think this confirms it. This board is probably only refreshing the bottom 10 address pins' worth of rows.
Now I want to make a board that sits between a SIMM and a socket and tells you how many rows the memory controller is refreshing.
AND some kind of bodge-wire-and-logic-chip thing to add additional refresh rows for SIMMs without 8 or 9 chips. Hopefully that might keep people from tearing up parity SIMMs.
I have a lot better understanding of how I'll design my RAM disk card, too.
• Never pay premium price for things people are throwing away. • Currently deciphering 80s Seagate HDDs to create replacement control electronics. • https://github.com/eparadis/HardDriveInfo • https://notruespaceman.com/ •