[Apr/26/93]

Taito Zookeeper

All parts are 2732

Video ROM daughter board
loc  part#     cksm
---  --------  ----
U3   ZA3       56b7
U4   ZA4       d38f
U5   ZA5       772f
U6   ZA6       d246
U7   ZA7       4c66
U8   ZA8       0f88
U9   ZA9       07cd
U10  ZA10      7584

ROM/IO board
loc  part#     cksm
---  --------  ----
U12  ZB12      d05e
U13  ZA13      9ab4
U14  ZA14      3bb8
U15  ZA15      fe85
U16  ZA16      116e
U17  ZA17      4a66
U18  ZA18      0601
U19  ZA19      8428
U25  ZA25      73b3
U26  ZA26      ff58
U27  ZA27      8c74

-

[MAME]


Video CPU:
----------
All but Zookeeper:

Address          Dir Data     Name        Description
---------------- --- -------- ----------- -----------------------
100000xxxxxxxxxx R/W xxxxxxxx DS0         dual port RAM (shared with video CPU)
100001xxxxxxxxxx R/W xxxxxxxx             local RAM
100010---------x R/W xxxxxxxx DS2         6850 ACIA [1]
100011---------0 R/W -------- DS3         assert FIRQ on video CPU
100011---------1 R/W -------- DS3         FIRQ acknowledge
100100--------xx R/W xxxxxxxx DS4/U20     6821 PIA (sound control / data IRQ)
100101--------xx R/W xxxxxxxx DS5/U11     6821 PIA (coin / player 1 inputs)
100110-1------xx R/W xxxxxxxx DS6/U20     6821 PIA (spare / player 2 inputs)
100110xxxxxxxx-- R/W ----xxxx DS6/U24     PAL 16R4 (purpose unclear)
100111--------xx R/W xxxxxxxx DS7/U30     6821 PIA (player 2 inputs / coin control)
101xxxxxxxxxxxxx R   xxxxxxxx             program ROM
11xxxxxxxxxxxxxx R   xxxxxxxx             program ROM

Zookeeper is almost the same, just the top bit of the address is inverted most of
the time to make space for more ROM.

Address          Dir Data     Name        Description
---------------- --- -------- ----------- -----------------------
000000xxxxxxxxxx R/W xxxxxxxx DS0         dual port RAM (shared with video CPU)
000001xxxxxxxxxx R/W xxxxxxxx             local RAM
000010---------x R/W xxxxxxxx DS2         6850 ACIA [1]
000011---------0 R/W -------- DS3         assert FIRQ on video CPU
000011---------1 R/W -------- DS3         FIRQ acknowledge
000100--------xx R/W xxxxxxxx DS4/U20     6821 PIA (sound control / data IRQ)
000101--------xx R/W xxxxxxxx DS5/U11     6821 PIA (coin / player 1 inputs)
000110-1------xx R/W xxxxxxxx DS6/U20     6821 PIA (spare / player 2 inputs)
100110xxxxxxxx-- R/W ----xxxx DS6/U24     PAL 16R4 (purpose unclear)
000111--------xx R/W xxxxxxxx DS7/U30     6821 PIA (player 2 inputs / coin control)
1xxxxxxxxxxxxxxx R   xxxxxxxx             program ROM

[1] Diagnostic purposes only, not used

Interrupts:
	NMI not connected
	IRQ generated by pia_3
	FIRQ generated by CPU #2


Video CPU:
----------

Address          Dir Data     Name        Description
---------------- --- -------- ----------- -----------------------
0xxxxxxxxxxxxxxx R/W xxxxxxxx             direct video RAM access
100000xxxxxxxxxx R/W xxxxxxxx VS0         dual port RAM (shared with data CPU)
100001xxxxxxxxxx R/W xxxxxxxx VS1         CMOS NVRAM
100010----------   W xxxxxx-- VS2         self test LEDs      [1]
100010----------   W ------xx VS2         palette bank select [1]
100011---------0 R/W -------- VS3         assert FIRQ on data CPU
100011---------1 R/W -------- VS3         FIRQ acknowledge
100100xxxxxxxxxx R/W xxxxxxxx VS4         palette RAM (RRGGBBII)
100101--------00 R/W xxxxxxxx VS5         video RAM access at latched address
100101--------01 R/W xxxxxxxx             video RAM access mask [2]
100101--------1x   W xxxxxxxx VS5         video RAM address latch
100110---------- R   xxxxxxxx VS6         current scanline
100111---------x R/W xxxxxxxx VS7         68A45 video controller
11xxxxxxxxxxxxxx R   xxxxxxxx             program ROMs

Zookeeper has some more ROMs (banked):
100010--------01   W -----x--             ROM bank select [1]
101xxxxxxxxxxxxx R   xxxxxxxx             banked program ROMs

[1] The Zookeeper extension is handled in the ROM expansion board, without
    changes to the main board. This means that the ROM bank select address is
	also a mirror for the LEDs/palette bank latch. That's why they used bit 2,
	this way they could copy the palette bank in the low two bits when changing
	the ROM bank and avoid problems.
[2] Slither only. This hardware feature is NOT present in the Taito games.

Interrupts:
	NMI not connected
	IRQ not connected
	FIRQ generated by CPU #1


Sound CPU:
----------
Slither doesn't have the third CPU and has different sound hardware.

Address          Dir Data     Name        Description
---------------- --- -------- ----------- -----------------------
000000000xxxxxxx R/W xxxxxxxx             6802 internal RAM
0-1-----------xx R/W xxxxxxxx U7          6821 PIA (TMS5200 control) [2]
01------------xx R/W xxxxxxxx U8          6821 PIA (DAC, communication with data CPU)
1100------------                          n.c.
1101xxxxxxxxxxxx R   xxxxxxxx U25         program ROM [1]
1110xxxxxxxxxxxx R   xxxxxxxx U26         program ROM [1]
1111xxxxxxxxxxxx R   xxxxxxxx U27         program ROM [1]

[1] In older games (qix, kram, elecyoyo) ROMs are half size and mapped at E800-FFFF
[2] Not used by any game

Interrupts:
	NMI not connected
	IRQ generated by pia_4

-