MOS 6571 Amiga keyboard controller dissection > 6500/1
Posted: Wed Jul 17, 2024 5:32 am
We had to put chip dissections on hold for 5 months due to bad working conditions.
Working conditions haven't improved much, just our strategies of dealing with the situation have.
So expect to have a slight quality drop in our chip dissections. Thanks for your attention.
This thread is about a transistor level dissection of the MOS 6571 Amiga Keyboard controller
(which basically is just a MOS 6500/1 microcontroller), brought to by Frank Wolf and ttlworks.
Related forum thread: 6570 / 6571. What is it?
The 6500/1 microcontroller features:
a 6502 core //which is a redesign of the NMOS 6502, but it's supposed to be NMOS 6502 compatible including the "illegal instructions
2kB of ROM //mask programmed by the factory
64 Bytes of SRAM //SRAM has separate VRR power supply pin. Note that the SRAM shows up in pare 0 and in page 1 of memory, so use your stack carefully.
four 8 Bit I/O ports //"open collector" outputs with pullups, thus no "data direction registers" for the I/O ports.
a 16 Bit timer //with the related CNTR pad working as an input or an output, depending on the timer mode of operation.
Also, there is a falling edge detector (IRQ) attached to PA0,
and a rising edge detector (IRQ) attached to PA1.
The timer and the two edge detectors are able to generates a IRQ, but IRQ is not available outside the chip.
The chip has a NMI# pad.
Note, that (except for the 'Test Mode'), the CPU core is not meant to access external memory.
Because of that, there is no RDY pad, and the CPU core lacks the whole RDY related circuitry which we have in a NMOS 6502.
Now for the 'Test Mode': The 6500/1 was invented before there was JTAG,
so for (factory) testing of the chip the designers went for an unusual approach:
When pulling RES# from LOW to +10V (and keeping it at that voltage),
the CPU core runs in 'Test Mode', and reads Bytes from PORT C instead from the on_chip ROM.
Note:
For consistence with Frank's notation, low_active signals are named foo#, not /foo.
Orientation for all the chip pictures: VRR pad is North.
;---
MOS Datasheets:
6500/1 One-Chip Microcomputer (Preliminary, April 1981)
6500/1 One-Chip Microcomputer (Oct. 1986)
Working conditions haven't improved much, just our strategies of dealing with the situation have.
So expect to have a slight quality drop in our chip dissections. Thanks for your attention.
This thread is about a transistor level dissection of the MOS 6571 Amiga Keyboard controller
(which basically is just a MOS 6500/1 microcontroller), brought to by Frank Wolf and ttlworks.
Related forum thread: 6570 / 6571. What is it?
The 6500/1 microcontroller features:
a 6502 core //which is a redesign of the NMOS 6502, but it's supposed to be NMOS 6502 compatible including the "illegal instructions
2kB of ROM //mask programmed by the factory
64 Bytes of SRAM //SRAM has separate VRR power supply pin. Note that the SRAM shows up in pare 0 and in page 1 of memory, so use your stack carefully.
four 8 Bit I/O ports //"open collector" outputs with pullups, thus no "data direction registers" for the I/O ports.
a 16 Bit timer //with the related CNTR pad working as an input or an output, depending on the timer mode of operation.
Also, there is a falling edge detector (IRQ) attached to PA0,
and a rising edge detector (IRQ) attached to PA1.
The timer and the two edge detectors are able to generates a IRQ, but IRQ is not available outside the chip.
The chip has a NMI# pad.
Note, that (except for the 'Test Mode'), the CPU core is not meant to access external memory.
Because of that, there is no RDY pad, and the CPU core lacks the whole RDY related circuitry which we have in a NMOS 6502.
Now for the 'Test Mode': The 6500/1 was invented before there was JTAG,
so for (factory) testing of the chip the designers went for an unusual approach:
When pulling RES# from LOW to +10V (and keeping it at that voltage),
the CPU core runs in 'Test Mode', and reads Bytes from PORT C instead from the on_chip ROM.
Note:
For consistence with Frank's notation, low_active signals are named foo#, not /foo.
Orientation for all the chip pictures: VRR pad is North.
;---
MOS Datasheets:
6500/1 One-Chip Microcomputer (Preliminary, April 1981)
6500/1 One-Chip Microcomputer (Oct. 1986)