WTB: Security IC used in Popeye

He asked for the chip marked in yellow.

The chip marked in yellow is a strange 14/28 pin chip. A 6116 is a 12/24 pin chip.

The 2016 marked in orange (below it) is a 12/24 pin chip. (6116 compatible)
But he's not looking for that one.

My Oop's
only see the Tmm2016 = 6116
 
This post has info on it.. (I didn't watch the video... But I've done similar on Star Trek_
 
If the function of the "ALU" is as simple as the MAME source code claims it is, it'd be pretty easy to make a PLD to replace it -- or even do it with a handful of TTLs.

It's oddly similar in function to the MB14241 used on space invaders.
 
Appreciate the work there. Very generous and nice of you to draw and design that.

Assuming I can find a PCB place that can print that out, I can source the three 74LS chips with no problem, and I have a guy that does GALs and PALs for me, however, where would I source the GAL data for the guy to put on them?
 
This is not my area of expertise, but I believe this is the section of Mame source that was referred to:

1763003896758.png

The encrypted version uses the tpp2_state function, while the unencrypted version uses the tpp2_noalu_state function.
Interestingly, both versions are "revision D".

1763005395066.png
 
It does this:

uint8_t tnx1_state::protection_r(offs_t offset)
{
if (offset == 0)
{
return ((m_prot1 << m_prot_shift) | (m_prot0 >> (8-m_prot_shift))) & 0xff;
}
else /* offset == 1 */
{
/* the game just checks if bit 2 is clear. Returning 0 seems to be enough. */
return 0;
}
}

void tnx1_state::protection_w(offs_t offset, uint8_t data)
{
if (offset == 0)
{
/* this is the same as the level number (1-3) */
m_prot_shift = data & 0x07;
}
else /* offset == 1 */
{
m_prot0 = m_prot1;
m_prot1 = data;
}
}
 
This is not my area of expertise, but I believe this is the section of Mame source that was referred to:

Wrong.

...and there's no reason for the unprotected ROM set to NOP the $e000-e001 address (actually aliased all the way out to $FFFF, but MAME is seldom accurate) since the unprotected code simply doesn't do anything with the results of the protection reads...
 
Back
Top Bottom