I am trying to track down an issue with a ROM 0 Apple IIc system board. For the moment I am suspecting the system may not be detecting the presence of a keyboard. When I check pin 18 of the MMU I see a pulsing signal on the pin. This signal also exits on pin 20 of the keyboard map (UD16). It is present whether or not a keyboard is connected. When I check this signal on a known working board the pulsing exits without the keyboard but goes high when a keyboard is attached. When I pull the MMU on either board this signal floats which tells me it is generated by the MMU.
On both the functional and non-functional boards the keyboard encoder is now socketed making for easy removal. As I suspect the failed system is unable to detect the keyboard I removed the keyboard encoder from both systems. On the functional board I see the "Apple //c" screen as expect but the observed problem remains with the non-functional board. Since I receive the "Apple //c" display on the function system only when the keyboard is attached and without the keyboard encoder this suggestions the system detects the presence of a keyboard without this chip.
A review of the schematics shows the bulk of the keyboard connections are made to the keyboard encoder with a few going to other locations. Specifically:
As an FYI I have replaced the 65C02, MMU, IO, Character Generator, and keyboard encoder chips with known good ones along with some DRAM chips that were suspicious. This has been a fantastic learning experience, I know so much more about the Apple IIc before I started. However the keyboard detection, at least for the moment, has me stumped.
TL;DR: Does anyone know how the Apple IIc detects the presence of the keyboard?
On both the functional and non-functional boards the keyboard encoder is now socketed making for easy removal. As I suspect the failed system is unable to detect the keyboard I removed the keyboard encoder from both systems. On the functional board I see the "Apple //c" screen as expect but the observed problem remains with the non-functional board. Since I receive the "Apple //c" display on the function system only when the keyboard is attached and without the keyboard encoder this suggestions the system detects the presence of a keyboard without this chip.
A review of the schematics shows the bulk of the keyboard connections are made to the keyboard encoder with a few going to other locations. Specifically:
- CAPS lock
- LANGSW (language / keyboard switch)
- RESET
- OAPL (Open Apple key)
- CAPL (Closed Apple key)
- 80COLSW (80 column switch)
As an FYI I have replaced the 65C02, MMU, IO, Character Generator, and keyboard encoder chips with known good ones along with some DRAM chips that were suspicious. This has been a fantastic learning experience, I know so much more about the Apple IIc before I started. However the keyboard detection, at least for the moment, has me stumped.
TL;DR: Does anyone know how the Apple IIc detects the presence of the keyboard?