JRoatch wrote:
I checked with a binary comparison and found we're using 0.074, but I found that there's inexplicably 1 bit of difference. In version "page 7" of a53games.nes, byte 0x06c031 is 0xad whereas in Twin-Dragons-20170131-0.074.nes byte 0x00c031 is 0x8d.
Easily explicable.
I've attached the current builder config file; feel free to suggest diffs to the descriptions.
From roms.cfg:
Code:
title=Twin Dragons
author=Antoine GOHIN
year=2016
screenshot=../tilesets/screenshots/Twin-Dragons-20170131-0.png
rom=../Category 1/Twin Dragons/Twin-Dragons-20170131-0.074.nes
patch1=C021=AD
prgbank=1
prgunused0=FE00-FFF9
prgunused1=FF60-FFF9
description:
1st place
NESdev Compo 2016
Cater Killar has kidnapped
your twin. Choose Dinky
or Minky and go find your
twin, crushing the various
dangers in different worlds.
+ Move
A: Jump
Down+A: Jump down
B: Shoot
Up+B: Shoot with powerup
.
From the filename in
rom=, we see the use of 0.074. The
patch1=C021=AD disables setting the outer bank. A standalone game using the Action 53 mapper needs to set the outer bank, but it shouldn't when included in a multicart.
The reset handler is at $C000, and it includes mapper initialization code starting at $C01A that disassembles as follows:
Code:
A53_ADDR = $5000
A53_PRGBANK = $01
A53_MODE = $80
A53_512KBIT = $10
A53_FIXC000 = $0C
A53_VMIRR = $03
A53_OUTERBANK = $81
A53_DATA = $8000
LC01A:
; Set up Action 53 mapper to behave as UNROM
lda #A53_OUTERBANK
sta A53_ADDR
lda #$FF
sta A53_DATA ; The patch changes this STA to LDA
lda #A53_MODE
sta A53_ADDR
lda #A53_512KBIT|A53_FIXC000|A53_VMIRR
sta A53_DATA
lda #A53_PRGBANK
sta A53_ADDR