picmaster wrote on 2025-10-23, 23:22:
If you can cause RAM error beeps during start-up, that's also good - the beeps are generated by the cpu+kbd controller so they are working.
I know people generally say that "the keyboard controller" is used for interfacing with the PC speaker, but technically, this is wrong. As the original poster is having keyboard issues, I think it is fair to point out that beeps do not tell you anything about the condition of the keyboard controller chip.
The technical details are like this:
- On the original IBM PC/XT, there was no keyboard controller, but just a general-purpose interface chip, which handled keyboard input and some other things. The code of the key you pressed or released was captured using a discrete TTL shift register, and then presented as 8-bit parallel data to that interface chip. The interface chip on the PC/XT is an 8255, which has 3 "ports" of 8 bits each, named "Port A", "Port B" and "Port C". Port A is used to read the data from the keyboard shift register and the mainboard DIP switches. Port B is used to control various things on the mainboard, like resetting the parity error / ISA NMI latch, selecting whether port A reads keybaord codes or DIP switches, and it controls pins that are involved with the PC speaker. Port C is used as status feedback port, for example to detect the source of an NMI. As the PC speaker control bits are generated using the same chip that also handles keyboard input on these computers, this is where the connection between "PC speaker" and "keyboard" comes from. The ports A, B and C of the 8255 are mapped to ISA I/O addresses 60h, 61h, 62h
- On the IBM PC/AT (and all clones or later AT compatible system), the primitive I/O chip was replaced by an 8042-based microcontroller, which handles Port 60h (for XT-compatible keyboard input), and it can receive commands on a new port: Port 64h. This chip is what we know today as "the keyboard controller", and it was never involved with the PC speaker. On the AT, ISA port 62h does no longer exist, and ISA port 61h is handled by logic that is completely unrelated to the keybaord controller.
In short: On the PC/XT, keyboard and speaker were indeed handled using the same chip, but it is not really valid to call that chip a controller. On the AT and newer, there is a keyboard controller, but that chip is no longer involved with the PC speaker. So the claim that "the keyboard controller handles the PC speaker" was technically never true on any kind of IBM-compatible system.
carlitosbala wrote on 2025-10-26, 12:30:It complains about a few things, but cache size is correct, image is crap likely due to my video card, but the board works!
You seem to be using an LCD monitor. That monitor samples every pixel generated by your VGA card. The LCD monitor likely knows that each line in VGA text mode consists of 720 pixels, and samples a part of the scan line that is assumed to be the visible part 720 times. As you can clearly see, the monitor does not display the full width of your text screen, so the 720 samples it takes during each line are not distributed over the full text width, but over something that looks more like 700 to 710 pixels. This will result in some samples taken "in the center" of a pixel and other samples to be taken "between pixels". It is usual for VGA cards to produce some "switchng noise" between pixels, so if the monitor samples the VGA output near the switching point, a different intensity than "at the center of the pixel" is not unexpected. Long story short: If you use the auto-adjust button on your LCD monitor, not only the image size should be correct afterwards, but also those ugly vertical stripes will be gone, because after that auto-adjust procedure, the monitor will sample all pixels at the perfect time that there is no switching noise.
Except for the keyboard error, all other errors are due to the CMOS being unconfigured.
carlitosbala wrote on 2025-10-26, 12:30:I have just one keyboard I can test, and I know the keyboard itself works, so I'll see if there is any issue with the keyboard traces or the keyboard controller chip
The keyboard controller also works. I know it because in an AT system, the keybaord controller is actually a general-purpose controller that handles some system-management function besides its core job of handling the keyboard interface. One of the system control duties of the keyboard controller is configuring the mainboard into an XT-compatible mode, in which only 1MB of address space is accessible, and an "extended mode", which allows even DOS software to access nearly 1088KB of address space instead of just 1024KB of address space like on the XT. If that control function fails, the POST will stop way before the point you took the picture at. So you know that the keyboard controller is executing its control program. Thus, checking the keyboard traces is a good idea. Checking the keyboard socket (might be correded, it is often next to a leaky CMOS battery) is also a good idea, as is checking whether the +5V from the power supply reach the keyboard connector. If your keyboard blinks during power-up, it does receive power, but if all LEDs stay off the whole time, there either is a connection issue or a component in the +5V supply is blown. Most mainboards have an anti-interference inductor and/or a fuse between the +5V from the AT power supply and the keyboard socket. If there is no fuse, the anti-interference inductor may burn out instead if there is a short circuit at the keybaord connector.