VOGONS


First post, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Hi Vogons,

I have a PB800 system that won't do anything but scream in Phoenix 3.x.x BIOS language, 1-4-2 beeps, that it has a parity problem. Which is a pain in the butt to isolate, given there is no rhyme or reason to the banks or chip numbering on the board..
https://theretroweb.com/motherboards/s/packar … revision-d#docs

Look at that nonsense, it's a 286 and it's trying to tell me the banks are 32bit. The only reason I can think of for this is maybe some interleave feature of the NEAT chipset is locked in, requiring two 16bit banks to work. Also the parity fail seems to be a NMI on pin 11 of the 82C211 part.... somehow they saw fit to socket the dang chipset but solder the RAM down, otherwise I could play musical chairs with the RAM and have it figured out tediously but in a reasonable time frame.

I am wondering if I could mask off pin 11, and get it to boot memtest, to say where the error is.... but yeah, due to that mess of chip numbering it's not very intuitive where in that lot I will find it. Also if the bank interleave is alternating banks, even knowing it's in the first 64kb wouldn't be helpful if that is spread between all 8 chips.... or their parity chips.

Just wondering if anyone had any ideas for the easy route out here, before I dig out an old Scott Mueller and do it the old old fashioned way. . . . . . which actually still might be replace everything and hope 🤣

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 1 of 4, by Horun

User metadata
Rank l33t++
Rank
l33t++

The MTL shows 8 x 44256 + 4 x 41256 parity for each bank and arranged as 4 x <4x256k> per row and that makes it 16bit wide (4 x 4x256k =16x256k) per row.
Two rows make it 16x512K, as one bank. Translates to 1Mb in 8bit talk....May seem odd but not 😀
As far as finding the culprit have no clue... have a 286 board that has a parity error and spent many hours trying to figure out if bad mem chip or trace or ?? and never got it fixed 🙁
Ended up buying a diff 286 board that supports DIPS and SIMMS and using simms works perfect 😀

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 2 of 4, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Yeah it still seems weird how it's not 4 banks for the total 2MB possible, 2 banks per MB, anyhooo...

Upgrading and Repairing PCs is misnamed... It should be Upgrading PCs and how to run a diagnostic with no explanation of how to relate results to what is actually on the bench. I must be remembering a different book, I thought at least the early ones told you the best way to find a bad RAM chip on an IBM AT board. This only goes as far as how to tell that there is a bad RAM chip, somewhere. Repair at best is covered by switching out major components. Looked at 1st 4th and 6th editions.

So I am remembering a different book, by the mid 90s editions, it looked a lot like Up Rep PC, but the earlier 80s editions first off they initially covered IBM 5150 and 5160 and Apple II and some others, board level diagnosis and repair, not run the diag software when it's in a state where it doesn't run software. Then it covered ATs and then it got thick with some clone info, then it turned into similar to URPC. Now early 90s my local library had a copy, but not the most recent, so I was frustrated trying to find out something about why my 386 board would not boot from it (Turned out it was the keylock) also didn't help me much with the Amstrad PC1512 and 1640... then the college library had a newer one, which had some stuff which helped with the Amstrads... by now it had dropped the 8 bit stuff, then next edition dropped most of the XT stuff... then after that, when I had the spare money to walk into a bookstore and buy a new copy.... it was all clone part swapping, so I didn't bother. Anyway, I guess it was that book I was expecting to find something in, but turns out it's not URPC.

Soooooo, guess I gotta do this the hard way. I haven't seen the point of putting a POST card in it, because on Phoenix all the codes have beep codes. Though code table in URPC says the error I'm getting is specific to bottom 64k, so that's one of 4 main chips and 2 parity. So gotta futz around figuring out which are the bottom 4 chips.

First off though, I think I'll have everything out of it's socket, clean contacts, and put it all back in again... in case it's a bad contact glitch in chipset or CPU... gotta check if theres a discrete 74LS280 I think the number is, parity comparator or whatever it's called, and that is working. Then if that's no good, desolder and replace 4 + 2 RAM chips ugh.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 3 of 4, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Well I wasted a bit of time watching youtube vids on repair of an 8 bit memory board. There was a tiny amount of RAM on the CPU board that allowed a debug ROM to run, hah. Maybe I might try burning the https://www.minuszerodegrees.net/supersoft_la … AT%20clones.htm pair of ROMs.... not sure though, at the moment I'm at like, "Patient has problem somewhere on left leg, solution, clone leg, amputate, replace." and I'm like "what if it's a broken toe that needs splinting?" am I gonna get any closer with those than "Yup, patient has a leg problem, left." below or above knee dammit.

Okay, so if it seems like I am overthinking the problem and it's only 4 chips, here's what is going on... bust my old faithful soldering iron the other year, so unfamiliar soldering kit, level of recent soldering practice is kinda low, so I rate my ability to cleanly pull and reinstall a chip at about a 1 in 3 chance of screwing up. Hence, I want to operate on as few chips as possible, when it "matters" i.e. unique board, limited spares.

Other assets to hand, dual trace oscillosope, logic probe, eprom programmer.... none of which I have much time on, recent stuff, others I have used before, kinda a bit like "dude transplanted to other dudes workshop" thing going on for how unfamiliar I am with a bunch of it. So worried about spending 10 times as long screwing around with it instead of doing something useful.

Seeming like I gotta set up another system/board first anyway, I need to test the 256k SIMMs with the DIP RAM on that I am going to reclaim for this. If any of those are bad, I do not want to find out after I have soldered them. Gonna look for sockets too I guess, socket these buggers in case of recurrence. Also need another ISA board "up" to run the eeprom programmer if required... and possibly to check whether this BIOS code is good, seen more errors in BIOS than RAM chips before. Lowest apparent "work" approach might be, detemine 4 lowest 64k chips, remove, install sockets, borrow socketed RAM off something else, swap around to detemine faulty one.... reclaim chip off one SIMM...

Buuuuut still ought to do the socket cleaning and crap first in case that clears error.

Got a feeling though that if I had my smart brain installed today, I could figure out how to rig the logic analyser to tell me which chip is producing the parity error from poring over the capture. IDK if I will find much about how to use it, google results full of ppl complaining that it can't do 100mhz, yeah, it said up to 33 on the tin, shut up and stop hogging the bandwidth for ppl that want to use it way below that to be able find shit.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 4 of 4, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I have been poring over manuals for other NEAT systems to get an idea of how it does things. Studying the memory tables in this one..
http://www.dosdays.co.uk/media/286/DTK%20TECH … rs%20Manual.pdf
Leads me to believe that I was correct in the first instance, 1MB is two 16bit banks, and PB is calling them one bank, because they've hardwired the interleave setting.

Ugh, that leaves me again with the conundrum that the first 64kilobyte, could be spread around all eight chips and it is a complex problem to sort out which chip is having the parity error. I might be able to figure out which 8 bit half word it is from the reads of the parity ROMs but not sure if I can get any signals that finger which is the bad parity check.... I forsee a lot of bleeping, both from the meter while tracing stuff and me.

I am thinking I could use a massive whiteboard about now, so I can map the whole mess, column and row relationships and timing for interleave... I am not quite sure if fast page column latching affects it and how at the moment either, gotta make a lot of squiggly lines and read data sheets.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.