Contra J repro on Batman 2?

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Contra J repro on Batman 2?

Post by FARID » Tue Jun 17, 2014 11:37 am

This is a Batman 2 (VRC4d) pirate cartridge :

Cartridge :
Image

Front :
Image

Back :
Image

Front Scan :
Image

Back Scan :
Image

Schematic :
Image

Dump :
Image

Patch the IPS file of the dump to the original version of the game (Dynamite Batman (J).nes)

I want to run Contra (J).nes (VRC2b) on this cartridge

I swapped A2/A3 with A1/A0 on the AX5208C according to this info :

Batman 2 :
VRC4d, PCB 352400, mapper 25 submapper 3
(fr) CPU A2 -> |03 38| -> PRG A15 (r)
(fr) CPU A3 -> |04 37| <- CPU A12 (f)

Contra :
Contra VRC2 LROG009-00 23 2b B27B8CF4
VRC2b, PCBs 350603, 350636, 350926, and 351179, mapper 23 submapper 15
(fr) CPU A1 -> |03 38| -> PRG A15 (r)
(fr) CPU A0 -> |04 37| <- CPU A12 (f)

But it seems this is not enough!

If someone provide me a high quality picture of Contra (J).nes cartridge PCB, I will try to trace the lines and find out about it

Oh by the way in this page this is wrong :
(f) PPU A13 -> |11

It must be :
(f) PPU /A13 -> |11

Some useful info about VRC and AX5208C :
Konami Vrc I Pochodne
AX5208C Pinout
VRC2 pinout
VRC2
VRC4
Talk:VRC4
Konami VRC2 - $6000
VRC IV pinout
Gradius II (J) with AX5208P
Suikan Pipe (Gimmick Bootleg) WIP.
VRC2 to VRC4 conversion
Attachments
Patch.zip
(42.2 KiB) Downloaded 290 times
Last edited by FARID on Mon Oct 20, 2014 1:16 am, edited 9 times in total.

lidnariq
Posts: 8778
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Contra J repro on Batman 2?

Post by lidnariq » Tue Jun 17, 2014 7:06 pm

Contra is one of the VRC2 games that relies on the nonfunctional MicroWire interface that the VRC2 provides. As a result, there's a single bit of RAM mirrored across all of $6xxx in the least significant bit of the byte.

You'll either need to add RAM, or find/make a patch to remove the place where it reads and writes from $6xxx.

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Sat Jun 21, 2014 4:18 am

Contra is one of the VRC2 games that relies on the nonfunctional MicroWire interface that the VRC2 provides. As a result, there's a single bit of RAM mirrored across all of $6xxx in the least significant bit of the byte.
Thanks for the info

***************************************
You'll either need to add RAM
Batman 2 cartridge has WRAM (RPG-RAM), can I use it instead of MicroWire EEPROM?
If so, should I change anything?

***************************************
find/make a patch to remove the place where it reads and writes from $6xxx
According to this topic : Konami VRC2 - $6000
There is a some kind of protection code inside of Contra J :

Code: Select all

 07:F863:A0 03     LDY #$03
 07:F865:98        TYA
 07:F866:29 01     AND #$01
 07:F868:8D E9 07  STA $07E9
 07:F86B:8D 00 60  STA $6000
 07:F86E:AD 00 60  LDA $6000
 07:F871:29 01     AND #$01
 07:F873:CD E9 07  CMP $07E9
 07:F876:D0 05     BNE $F87D
 07:F878:88        DEY
 07:F879:10 EA     BPL $F865
 07:F87B:30 03     BMI $F880
 07:F87D:4C 00 00  JMP $0000
On first attempt I changed STA $6000 / LDA $6000 to STA $00BF / LDA $00BF ($00BF seems to be unused) :

Code: Select all

 07:F863:A0 03     LDY #$03
 07:F865:98        TYA
 07:F866:29 01     AND #$01
 07:F868:8D E9 07  STA $07E9
 07:F86B:8D BF 00  STA $00BF
 07:F86E:AD BF 00  LDA $00BF
 07:F871:29 01     AND #$01
 07:F873:CD E9 07  CMP $07E9
 07:F876:D0 05     BNE $F87D
 07:F878:88        DEY
 07:F879:10 EA     BPL $F865
 07:F87B:30 03     BMI $F880
 07:F87D:4C 00 00  JMP $0000
On second attempt I changed CMP $07E9 / BNE $F87D / JMP $0000 to NOP (EA) :

Code: Select all

 07:F863:A0 03     LDY #$03
 07:F865:98        TYA
 07:F866:29 01     AND #$01
 07:F868:8D E9 07  STA $07E9
 07:F86B:8D 00 60  STA $6000
 07:F86E:AD 00 60  LDA $6000
 07:F871:29 01     AND #$01
 07:F873:EA        NOP
 07:F874:EA        NOP
 07:F875:EA        NOP
 07:F876:EA        NOP
 07:F877:EA        NOP
 07:F878:88        DEY
 07:F879:10 EA     BPL $F865
 07:F87B:30 03     BMI $F880
 07:F87D:EA        NOP
 07:F87E:EA        NOP
 07:F87F:EA        NOP
But none of them work, where is my mistake?

***************************************

Does anyone know if AX5208C have that MicroWire EEPROM too?
If it doesn't have it, then is it possible to add an external one (93C66)?

Thanks in advance
Last edited by FARID on Sat Jun 21, 2014 9:02 pm, edited 1 time in total.

User avatar
MottZilla
Posts: 2832
Joined: Wed Dec 06, 2006 8:18 pm

Re: Contra J repro on Batman 2?

Post by MottZilla » Sat Jun 21, 2014 2:03 pm

Try this maybe?

Code: Select all

 07:F868:8D E9 07  STA $07E9
 07:F86B:8D E9 07  STA $07E9
 07:F86E:AD E9 07  LDA $07E9

lidnariq
Posts: 8778
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Contra J repro on Batman 2?

Post by lidnariq » Sat Jun 21, 2014 2:17 pm

Evidently the bit of RAM wasn't what was wrong after all :/

Nothing else obvious comes to mind... Contra does work when emulated as a VRC4 game in (e.g.) FCEUX.

If you've made an account on NesCartDB, you can click on the medium-sized (600-ish pixel wide) image to get to a higher resolution version of the same (1200-ish pixel wide). It'll still be that epoxy version, though.

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Sat Jun 21, 2014 9:33 pm

@ MottZilla
Still black screen

@ lidnariq
I have an account there but I don't see any option for "click on the medium-sized" where is that?

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Re: Contra J repro on Batman 2?

Post by l_oliveira » Sat Jun 21, 2014 10:53 pm

I've been playing Contra on a VRCIV board (352400) for hours now. All it took was patch the eeprom check code and change the write addresses for the mapper registers so they matched the board type I am using. I even sent him two versions of the patched rom but they didn't work for him apparently.


To disable the protection, all I did was NOP all 5 copies of this code (one copy per rom bank):

Code: Select all

07:F876:D0 05     BNE $F87D

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Sun Jun 22, 2014 2:22 am

Game Compatibility with AX5208C

*****************************************************
VRC4a : OK
Wai Wai World 2 - SOS!! Paseri Jou (J) [!].nes (PCB 352398)
(fr) CPU A2 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)

*****************************************************
VRC4b : OK
Gradius II (J) [!].nes (PCB 351406)
Bio Miracle Bokutte Upa (J).nes (PCB 351406)
Racer Mini Yonku - Japan Cup (J) [!].nes (PCB 351406)
(fr) CPU A0 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)

*****************************************************
VRC4c : OK
Ganbare Goemon Gaiden 2 - Tenka no Zaihou (J) [!].nes (PCB 352889)
(fr) CPU A7 -> |03 38| -> PRG A15 (r)
(fr) CPU A6 -> |04 37| <- CPU A12 (f)

*****************************************************
VRC4d : OK
Batman 2 (Dump)
Teenage Mutant Ninja Turtles (J) [!].nes (PCB 352400)
Teenage Mutant Ninja Turtles 2 - The Manhattan Project (J).nes (PCB 352400)
(fr) CPU A2 -> |03 38| -> PRG A15 (r)
(fr) CPU A3 -> |04 37| <- CPU A12 (f)

*****************************************************
VRC4e : OK
Akumajou Special - Boku Dracula-kun (J) [!].nes (PCB 352396)
Crisis Force (J) [!].nes (PCB 352396)
Parodius da! (J) [!].nes (PCB 352396)
Tiny Toon Adventures (J) [!].nes (PCB 352396)
(fr) CPU A3 -> |03 38| -> PRG A15 (r)
(fr) CPU A2 -> |04 37| <- CPU A12 (f)

*****************************************************
VRC2a : Not Working
Ganbare Pennant Race! (J) [!].nes (PCB 351618)
TwinBee 3 - Poko Poko Dai Maou (J) [!].nes (PCB 351618)
(fr) CPU A0 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)
⋮ ⋮
(f) PPU A10 -> |13 28| -> CHR A16 (r)
(f) /ROMSEL -> |14 27| -> CHR A14 (r)
(f) M2 -> |15 26| -> CHR A11 (r)
VRC2 µWire DO -> |16 25| -> CHR A13 (r)
VRC2 µWire DI <- |17 24| -> CHR A12 (r)
VRC2 µWire SK <- |18 23| -> CHR A10 (r)
VRC2 µWire CS <- |19 22| -> CHR A15 (r)
GND -- |20 21| -> n/c

*****************************************************
VRC2b : Not Working
Dragon Scroll - Yomigaerishi Maryuu (J) [!].nes (PCB 350603)
Getsufuu Maden (J) [!].nes (PCB 350636)
Jarinko Chie - Bakudan Musume no Shiawase Sagashi (J) [!].nes (PCB 351179)
(fr) CPU A1 -> |03 38| -> PRG A15 (r)
(fr) CPU A0 -> |04 37| <- CPU A12 (f)

Ganbare Goemon 2 (J) [!].nes (PCB 350926)
Wai Wai World (J) [!].nes (PCB 350926)
Contra (J).nes (PCB LROG009-00)

*****************************************************
VRC2c : Not Working
Ganbare Goemon Gaiden - Kieta Ougon Kiseru (J).nes (PCB 351948)
(fr) CPU A0 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)
Last edited by FARID on Sun Jun 22, 2014 12:44 pm, edited 8 times in total.

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Re: Contra J repro on Batman 2?

Post by l_oliveira » Sun Jun 22, 2014 6:42 am

Now, I have:

ContraJ
Parodius DA!
Akumajou Special Boku Dracula kun
Bio Miracle Bokutte Upa

Working on my 352400 Konami board, without any mods being needed in the board. Thanks for giving me the idea Farid ! :D

Akumajou Special was "particularly fun" to mod because it used indirect indexed writes at the mapper CHR banking registers.

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Sun Jun 22, 2014 12:30 pm

So the result is very interesting and the problem is not just Contra J.
AX5208C is fully compatible with VRC4 which is a perfect clone of it.
But I couldn't run any VRC2 game with it!
Any explanation for this?

lidnariq
Posts: 8778
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Contra J repro on Batman 2?

Post by lidnariq » Sun Jun 22, 2014 1:28 pm

FARID wrote:I have an account there but I don't see any option for "click on the medium-sized" where is that?
Hopefully the attached image explains ?
Attachments
embiggen.jpg

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Sun Jun 22, 2014 1:46 pm

@ lidnariq
Thanks, but Nothing happens by clicking on the image!
Can you please download Front and Back of the PCB and upload them for me?

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Re: Contra J repro on Batman 2?

Post by l_oliveira » Mon Jun 23, 2014 6:56 pm

With this, Batman hack works with legitmate VRC4:

Image
Image

74LS138 connected like this:
A = A13
B = A14
C = /ROMSEL

/CS1 + /CS2 = GND
CS1 = Phi2

Outputs WRAM /CE at pin Y7. Konami board had a delay circuit with 1n4148, 1K resistor and 82nf ceramic capacitor, which I kept.

Old onboard 6116 is temporarily disabled with wires to +5v.

With this, result it's safe to assume that the original VRC4 chip does not decode full 8KB address space for it's WRAM /CE logic.
Last edited by l_oliveira on Tue Jun 24, 2014 8:03 pm, edited 1 time in total.

BootGod
Posts: 357
Joined: Wed Jul 13, 2005 3:14 pm

Re: Contra J repro on Batman 2?

Post by BootGod » Tue Jun 24, 2014 7:50 pm

FARID wrote:@ lidnariq
Thanks, but Nothing happens by clicking on the image!
Can you please download Front and Back of the PCB and upload them for me?
Something must be bugged on my end, if your logged in and click on an image, it's supposed to download the image in original source dimensions. In the mean time, here are the 2 you request. Not super hi-res, but a little better than what's there anyways:

Image
Image

User avatar
FARID
Posts: 484
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Contra J repro on Batman 2?

Post by FARID » Tue Jun 24, 2014 9:18 pm

@ BootGod
Thank you very much
But it seems the problem is not just Contra J I couldn't run any VRC2 game with AX5208C!
For example VRC4b and VRC2a are the same on PRG side and registers
I can run VRC4b games but VRC2a games don't work at all! (which I expect to run with bad graphic because of difference in CHR wiring)
Someone should explain it first :

VRC4b : OK
Bio Miracle Bokutte Upa (J).nes (PCB 351406)
Racer Mini Yonku - Japan Cup (J) [!].nes (PCB 351406)
(fr) CPU A0 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)

VRC2a : Not Working
Ganbare Pennant Race! (J) [!].nes (PCB 351618)
TwinBee 3 - Poko Poko Dai Maou (J) [!].nes (PCB 351618)
(fr) CPU A0 -> |03 38| -> PRG A15 (r)
(fr) CPU A1 -> |04 37| <- CPU A12 (f)
⋮ ⋮
(f) PPU A10 -> |13 28| -> CHR A16 (r)
(f) /ROMSEL -> |14 27| -> CHR A14 (r)
(f) M2 -> |15 26| -> CHR A11 (r)
VRC2 µWire DO -> |16 25| -> CHR A13 (r)
VRC2 µWire DI <- |17 24| -> CHR A12 (r)
VRC2 µWire SK <- |18 23| -> CHR A10 (r)
VRC2 µWire CS <- |19 22| -> CHR A15 (r)
GND -- |20 21| -> n/c

Post Reply