PRO-CT0: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ChipInfo | |||
|picture=mvs_pro-ct0.jpg | |||
|pkg=SDIP64 | |||
|manu=nec | |||
|date=1990 ? | |||
|gates= | |||
|used_on={{PCB|MV4}} [[Cartridges]]... | |||
}} | |||
PRO-CT0 (also known as SNK-9201 and ALPHA-8921) is an early gate array chip which serializes sprite graphics in AES cartridges and [[MVS hardware|MVS]] boards. It was later replaced by {{Chipname|NEO-ZMC2}} and then {{Chipname|NEO-CMC}}. | |||
It was also used as a challenge-response "security" device in [[Super Sidekicks]] and [[Fatal Fury 2]] cartridges. | |||
ALPHA-8921 was the original chip name, from when [[Alpha Denshi]] were using it on their [[Alpha68k]] system. | |||
=Pinouts= | |||
{|align="center" | |||
!Sprite graphics mux | |||
!Security device | |||
|- | |||
|[[File:pro-ct0_pinout.png]] | |||
|[[File:snk-9201_pinout.png]] | |||
|- | |||
|Info by [[User:Kyuusaku]] | |||
| | |||
*D0~D15: 68k data bus | |||
*A1~A19: 68k address bus | |||
*D0out~D7out: output to a LS245 which puts the data on | |||
the 68k bus when /PORTOEL goes low ($200000-$2FFFFF odd byte read). | |||
|} | |||
=Internal logic= | |||
[[User:Kyuusaku|Kyuusaku]]'s Verilog definition: [[File:Ct0.zip]] | |||
[[User:furrtek|furrtek]]'s version: | |||
[[File:proct0_ftk.png|640px]] | |||
=Normal use: graphics multiplexer= | |||
See [[NEO-ZMC2]]. | |||
=Derivate use: security device= | |||
[[File:proct0prog.jpg|thumb|PRO-CT0 9042KX023 on an AES cart [[PROG board]].]] | |||
[[File:crt_snk-9201.jpg|right|thumb|SNK-9201 chip found in a [[Super Sidekicks]] MVS cartridge. Picture courtesy of [[http://www.mvs-scans.com MVS-Scans]].]] | |||
As a security device, the chip is only found on [[PROG board#PROG-G2|PROG-G2]] boards for [[Fatal Fury 2]] and [[Super Sidekicks]]. It was SNK's first attempt at copy-protecting NeoGeo games. | |||
The chip is tied to the [[68k]] address and data bus, it reacts to word writes and replies on odd addresses in the [[68k memory map|$200000-$2FFFFF]] address range. | |||
The game program expects the chip to reply with specific data depending on the values written to it. If the values don't match, then the game assumes it's a copy and silently sets a flag which triggers deliberate bugs during gameplay (see game pages for details). | |||
==Input== | |||
Address bus mapping: | |||
{|class="wikitable" | |||
|A19||A18||A17||A16||A15||A14||A13||A12||A11||A10||A9||A8||A7||A6||A5||A4||A3||A2||/PORTWEL||A1 | |||
|- | |||
|C31||C29||C27||C25||C30||C28||C26||C24||C23||C21||C19||C17||C22||C20||C18||C16||H||EVEN||12M||LOAD | |||
|} | |||
Data bus mapping: | |||
{|class="wikitable" | |||
|D15||D14||D13||D12||D11||D10||D9||D8||D7||D6||D5||D4||D3||D2||D1||D0 | |||
|- | |||
|C15||C13||C11||C9||C14||C12||C10||C8||C7||C5||C3||C1||C6||C4||C2||C0 | |||
|} | |||
==Output== | |||
Data bus mapping: | |||
{|class="wikitable" | |||
|D7||D6||D5||D4||D3||D2||D1||D0 | |||
|- | |||
|GBD1||GBD0||GBD3||GBD2||GAD1||GAD0||GAD3||GAD2 | |||
|} | |||
==Emulation== | |||
MAME simply uses a list of hardcoded values since the games always use the same challenges. See /src/devices/bus/neogeo/prot_fatfury2.cpp | |||
[[Category:Chips]] | [[Category:Chips]] |
Latest revision as of 19:47, 16 February 2019
Package | SDIP64 |
Manufacturer | |
First use | 1990 ? |
Used on | MV4 Cartridges... |
PRO-CT0 (also known as SNK-9201 and ALPHA-8921) is an early gate array chip which serializes sprite graphics in AES cartridges and MVS boards. It was later replaced by NEO-ZMC2 and then NEO-CMC.
It was also used as a challenge-response "security" device in Super Sidekicks and Fatal Fury 2 cartridges.
ALPHA-8921 was the original chip name, from when Alpha Denshi were using it on their Alpha68k system.
Pinouts
Sprite graphics mux | Security device |
---|---|
Info by User:Kyuusaku |
the 68k bus when /PORTOEL goes low ($200000-$2FFFFF odd byte read). |
Internal logic
Kyuusaku's Verilog definition: File:Ct0.zip
furrtek's version:
Normal use: graphics multiplexer
See NEO-ZMC2.
Derivate use: security device
As a security device, the chip is only found on PROG-G2 boards for Fatal Fury 2 and Super Sidekicks. It was SNK's first attempt at copy-protecting NeoGeo games.
The chip is tied to the 68k address and data bus, it reacts to word writes and replies on odd addresses in the $200000-$2FFFFF address range.
The game program expects the chip to reply with specific data depending on the values written to it. If the values don't match, then the game assumes it's a copy and silently sets a flag which triggers deliberate bugs during gameplay (see game pages for details).
Input
Address bus mapping:
A19 | A18 | A17 | A16 | A15 | A14 | A13 | A12 | A11 | A10 | A9 | A8 | A7 | A6 | A5 | A4 | A3 | A2 | /PORTWEL | A1 |
C31 | C29 | C27 | C25 | C30 | C28 | C26 | C24 | C23 | C21 | C19 | C17 | C22 | C20 | C18 | C16 | H | EVEN | 12M | LOAD |
Data bus mapping:
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
C15 | C13 | C11 | C9 | C14 | C12 | C10 | C8 | C7 | C5 | C3 | C1 | C6 | C4 | C2 | C0 |
Output
Data bus mapping:
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
GBD1 | GBD0 | GBD3 | GBD2 | GAD1 | GAD0 | GAD3 | GAD2 |
Emulation
MAME simply uses a list of hardcoded values since the games always use the same challenges. See /src/devices/bus/neogeo/prot_fatfury2.cpp