Sinclair ZX Spectrum Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
13
When the keyboard scanning routines are entered, the CPU performs successive I/O read cycles setting
the /IORQ and /RD lines to the ULA low. At the same time, the I/O port addresses placed on the upper
half of the address bus are modified with each cycle such that each of the address lines A15 through A8
is set low in turn, the other lines remaining high.
The sequence starts with I/O port address FE driving address line A8 low. The keyboard matrix also sees
this potential on column 6, applied via D6 and the ribbon cable KB2. Thus, when any of the switches on
the intersection with the column is pressed, the corresponding row output supplying the ULA via the
second ribbon cable (KB1), is pulled low.
Figure 1.3. Keyboard Upper Membrane