unxaix wrote on 2022-12-31, 06:55:The post card is showing nothing when powered on ( just the dashes ). […]
Show full quote
The post card is showing nothing when powered on ( just the dashes ).
[...]
I also plugged in a speaker and what I get is series of 10 beeps with 2-3 seconds in between each series. Searching the web I found it is BIOS related so I removed it and ran some tests with a programmer like read it several times in a quick succession to see if it errors anything and also programmed a new one ( 27C512 ) but nothing.
[...]
- Processor gets out of reset
- /OE and /CE are showing a pattern of low and highs
- I do see activity on the address and data lines using an oscilloscope
After digging more I found one interesting thing. The frequency of the ISA bus measured on pin B20 is 3.58 MHz which is very low compared with the normal 8MHz so following the traces I found that the pin is actually connected to one of the pins of the 82C311 named SYSCLK and the frequency of that pin is determined by the oscillator frequency connected on another pin named BUSOSC ( which in my case is coming from an 14. 318 MHz quartz ) plus the status of 2 other pins , PPICS and DKEN which combination ( zero or one ) will divide that 14.318 MHz by 2 or 4 or 6 or 8 .
There's actually a lot to learn from these symptoms, thanks for the detailed posting. I'm guessing your BIOS in an AMI BIOS. 10 beeps doesn't mean "BIOS ROM error", but "CMOS RAM error". In the IBM AT architecture, the CMOS RAM needs to work while the system is powered on. If the battery is flat, and the CMOS RAM looses information and time when powered off, it's not that bad, though. Most AT compatible computers work fine (or mostly fine) with a flat battery, as long as the chip keeps contents with external voltage applied. So this might indicate a defective CMOS RAM chip.
The next lesson to learn from your symptoms is that port 80 obviously writes don't reach the ISA bus, as you should get POST codes when you get far enough into the boot process to get beep error codes. Yet the beeping works, so I/O writes to port 61h get handled correctly.
With a look at the architecture of your board, we can determine that BIOS reads seem to work fine enough for the the beeping code to get executed (which doesn't necessarily mean that BIOS reads work perfectly, and if they don't, maybe the beeping code is only executed "accidentally"), port 61h responds (controls the speaker), port 70h/71h doesn't respond (RTC/CMOS) and port 80h also doesn't respond. Looking at the datasheets, port 61 is part of the 82C311 (the main SCAMP chip), whereas port 70h/71h is part of the 82C113 (the SCAMP support chip), and port 80h is located on the ISA bus. You don't need a lot for port 80h to work, but you do need valild ISA address lines and a valid ISA /IOW line. If ISA data lines are broken, you are still getting POST codes, but invalid ones.
ISA address lines (SA1-SA9) are generated by the 82C113, SA0 and /IOW are generated by the 82C311. As the CMOS RAM interface seems to fail, I guess the 82C113 isn't correctly processing ISA cycles, so the issue is between the 82C311 and the 82C113. On the other hand, the BIOS is supposed to get its addresses from the ISA address bus, too, so ISA address lines seem (mostly?) working. The first thing I would verify in this situation is the /IOW line from the 82C311 (which is able to process I/O cylces) to the 82C113 (which doesn't), and in the next step, the address lines between these two chips (maybe some address bits are "stuck high" that don't matter for executing the specific part of the BIOS that does the ten beeps).
Don't worry about the clocks at the moment. The 82C311 is software programmable, so the system might rise SYSCLK to a more sensible value during the POST. It's quite common to strap the chip into a "better safe than sorry" mode and set the intended bus clock when the initial checks are finished.