Jump to content
IGNORED

ACTIVISION banking scheme


rj1307

Recommended Posts

Maybe someone is useful ;)

 

I place a diagram to switch banks for Activision games (Double Dragon, Rampage), which is my authorship and posted through the back engineering of the PAL16 layout from the original cartridge.
The same scheme works in Dragonfly.

 

Activision_PAL16.thumb.jpg.180402d12f5c6e61e94eb15053e2d7ca.jpg

  • Like 7
Link to comment
Share on other sites

On 1/2/2022 at 6:14 PM, rj1307 said:

Maybe someone is useful ;)

 

I place a diagram to switch banks for Activision games (Double Dragon, Rampage), which is my authorship and posted through the back engineering of the PAL16 layout from the original cartridge.
The same scheme works in Dragonfly.

 

Activision_PAL16.thumb.jpg.180402d12f5c6e61e94eb15053e2d7ca.jpg

Does this mean that common-style cartridges can run Activision-games, or does it show how a common cartridge may be rewired to run it?

 

What is this sheet describing; hardware-‘rewiring’ or software-re-coding or some other category…?

 

I ask because I’ve tried several attempts to get a cartridge produced with the graphic hack of Double Dragon…and almost everyone must give up, or I’ll have to sacrifice one of original ones, - I won’t do that.

 

How does the schematics works in practice on cart-production…?

 

Thanks for your work and insight!

Link to comment
Share on other sites

This is a schematic of what is programmed into the PAL16 chip of the original cartridge. To make everyone understand what it is about, I present the cartridge diagram.

 

1987441267_Zrzutekranuz2022-01-0511-33-19.thumb.png.1fe267c6262ab198dd9f977a00b5878d.png

 

To produce a copy of Double Dragon or Rampage you need to program some little CPLD chip (it doesn't have to be PAL / GAL at all) according to my schematic.
I'm not sure if this can be done on regular chips due to gate propagation times, I haven't tested it, but theoretically it should work. There is no point in using the cartridge with a different game and changing its connections, the differences are too big.

 

There is one trap!
The images of games that can be downloaded from the Internet are read badly, their banks are swapped. If you program the Eprom with such a file, it will not work on the original cartridge. I attach the correct file images to this post. 

 

 

Activision.zip

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

@rj1307 Nice of you sharing the schematics of the Activision PAL.

 

On the site @santosp already managed to reverse engineer it and actually made a few repro carts with the improved graphics if one wanted it.

 

Wrt the 8KB swap on the rom dumps it was already known, it was I that quite some time ago stumbled into it when I tried to make a dual cart (DoubleDragon + Rampage) realized it didn't work with the available dumps and found the 8KB swap:


and Eckhard (who dumped the carts long long ago) chimed in explaining how he did it (without opening the carts):



but glad you shared the findings, @santosp mentioned a few times that with my findings and the way the old documentation stated the Activision mapper to work it would naturally lead to how the PAL was programmed  ... I was happy just by butchering an original Activision cart and have a dual cart out of it, but he did find the equations.

Glad it is now public.

EDIT: it seems from your schematics you take for granted active low at the output (which is true for the PAL16R... https://www.silicon-ark.co.uk/datasheets/pal16r4-pal16r6-pal16r4-datasheet-amd.pdf ), so if one does not use that chip he needs to add an extra NOT?
[from the way OE is in your schematics OE = RW NAND (A14 OR A15) = NOT (RW AND (A14 OR A15)) = /RW OR NOT(A14 OR A15) = /RW OR (/A14 AND /A15) .... which would mean OE [aka CE to the ROM] would be high when writing [aka /RW] ... which seems wrong to me, if we assume instead another negation at the OE output pin then the equation is really just RW AND (A14 OR A15) because the NOT of a NAND is just AND ... and it appears logically correct to wanting a ROM CE high during Read and not Write cycles ... the (A14 OR A15) is a little puzzling as it can trip for the whole upper 32KB range OR for the 16KB right before it, aka the top 48KB]  


Schematics of a PAL16R4 from the PDF above.

image.thumb.png.3125fe41da89b60ee8ab60f389a5cb9a.png

 

EDIT2: still wrapping my head around how it works to generate A14 in output), it latches A0/A1/A2 during a Write cycle if A15,A14 and A13 are all high (so top 8KB) .... but I can't figure out the middle chunk of logic ... yet. 

 

EDIT3: after some "truth table-ing" on read cycles it appears that if A15=0 the only valid ROM addresses (aka CE=1) need also A14=1 and in that case they map to fixed ROM page 001 (which makes sense and matches A16=0, A15=0 and A14=1), when A15=1 it's more interesting .... it seems that of the top 32K the top and bottom 8K (aka A13_A14 = 0_0 or 1_1) are from ROM page 000 (bottom 16KB, remember this scheme is for a 128KB ROM) the middle 16KB (aka A13_A14= 0_1 and then 1_0) come from the page set during a write cycle (and present in the PAL latches ... once more note that A0/A1/A2 are captured and then the negative version is output) ...  that is my speculation after 1 or 2 glasses of rum so .. beware.

Link to comment
Share on other sites

On 1/5/2022 at 12:01 PM, rj1307 said:

I'm not sure if this can be done on regular chips due to gate propagation times, I haven't tested it, but theoretically it should work. There is no point in using the cartridge with a different game and changing its connections, the differences are too big.

Ok, here it is; I’m not a professor of 7800 hardware-stuff: in plain words - will the Universe blow up or not, if common cartridges are used to play Activision-ROMs… ?…?

 

- - -

 

Can it be worked out, how usual 7800 carts can play seamlessly Activision Code…?

Link to comment
Share on other sites

On 1/7/2022 at 11:08 AM, Giles N said:

Ok, here it is; I’m not a professor of 7800 hardware-stuff: in plain words - will the Universe blow up or not, if common cartridges are used to play Activision-ROMs… ?…?

 

- - -

 

Can it be worked out, how usual 7800 carts can play seamlessly Activision Code…?

Short answer is it won't work, but maybe @santosp can hook you up with PCB schematics and what not or he still has some of his old run or maybe @rj1307 has a few PCB + PAL (or alternatives) ready.

Common cartridges cannot even be used to play all of the various "std" ROM types, Atari used a few PCB variations and I learnt the hard way (especially for the big images 128KB and 144KB and 128+RAM based) that only one of those PCB is even a suitable "universal" donor.

Link to comment
Share on other sites

I went ahead and created a JEDEC file for a GAL16v8 chip (or ATF16V8 or other compatible chip) based on the schematics above. 

 

A 16v8 is pin-compatible with the PAL16R4 in the schematic above so should be a direct drop in replacement. I matched the pin mappingfor the PAL16R4 shown in the schematic above.

 

Use at your own risk. I haven't tested this. A cursory glance suggests that the equations may be OK but I am not infallible. If someone creates a board with this I am curious if it works :) If someone makes a board and it does not work, however, let me know and I can see if I made an error somewhere.

 

 

 

ACTV16V.JED

  • Like 4
Link to comment
Share on other sites

@batari, as soon as I find some time, I will program 16v8 and test it on the original cartridge. 

 

I designed an Activision banking cartridge made of logic gates. I ordered a PCB for testing, if it is OK, I will provide all materials. 

EPROM 27c010 for one game or 27C020 for two games can be used. 

 

 

Activision_cartridge.thumb.png.803d07239f68bb8992c5eaf972c32825.png

 

Activision_cartridge_top.thumb.png.690a93fbb5bf5b5f8d0dd6ec1e4d09ce.png  Activision_cartridge_bottom.thumb.png.33cc8b90e51e0e063ff8e08494b9721d.png

 

 

Edited by rj1307
  • Like 5
Link to comment
Share on other sites

I programmed the GAL16V8 and put it in the original cartridge. The Double Dragon game started, the title board was good. Graphics glitches started showing up after launching the game. The game freezes or resets when the garage opens.
I analyzed the behavior of the GAL chip and in my opinion the programmed logic is good. The only difference from the original chip is that when power is applied to the chip, the outputs of all three flip-flops are high, while the original is low.
But there is one catch, I did tests on a 5ns latency chip, the original chip is 15ns. This is the cause for me.
I ordered 15-35ns chips and will do a test on them. 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
14 hours ago, BonesCollector2 said:

This works with the rom "Double Dragon (RC7b) (20170616)" ??

No.  The layout for it is the commonly swapped/alternate banks. 

The ROM would need to be modified accordingly, or the graphic hacks applied against the original bank layout.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...