the cutting room mirror

Dragon Ball 3: Gokuuden

This article has a talk page!
view on tcrf.net

This page contains notes for the game Dragon Ball 3: Gokuuden.

Version Differences#

PRG Bank 2#

Dragon Ball 3 - Gokuu Den (Japan) (PRG CRC32: 8EDEB257)

02/ABDB: AD 90 04      lda $0490
02/ABDE: C9 16         cmp #$16
02/ABE0: B0 0C         bcs rowthree
02/ABE2: C9 15         cmp #$15
02/ABE4: B0 04         bcs rowtwo
02/ABE6: B9 F2 AB      lda $ABF2,y
02/ABE9: 60            rts
rowtwo:
02/ABEA: B9 02 AC      lda $AC02,y
02/ABED: 60            rts
rowthree:
02/ABEE: B9 12 AC      lda $AC12,y
02/ABF1: 60            rts
02/ABF2: 04 00 01 07 01 02 03 04 00 04 07 01 05 07 04 07 ; when $0490 < 21
02/AC02: 00 07 02 01 00 06 01 00 04 00 01 04 07 03 05 00 ; when $0490 = 21
02/AC12: 00 01 08 01 00 03 04 02 00 04 09 04 06 01 04 00 ; when $0490 >= 22

Dragon Ball 3 - Gokuu Den (Japan) (Rev 1) (PRG CRC32: 6C6C2FEB)

02/ABDB: AD 90 04      lda $0490
02/ABDE: C9 16         cmp #$16
02/ABE0: B0 04         bcs rowtwo
02/ABE2: B9 EA AB      lda $ABEA,y
02/ABE5: 60            rts
rowtwo:
02/ABE6: B9 FA AB      lda $ABFA,y
02/ABE9: 60            rts
02/ABEA: 04 00 01 07 01 02 03 04 00 04 07 01 05 07 04 07 ; when $0490 < 22
02/ABFA: 00 07 02 01 00 06 01 00 04 00 01 04 07 03 05 00 ; when $0490 >= 22
02/AC0A: 00 01 08 01 00 03 04 02 00 04 09 04 06 01 04 00 ; never used?

All subsequent code and data in bank 2 is displaced by 8 bytes.

PRG Bank 3#

Dragon Ball 3 - Gokuu Den (Japan) (PRG CRC32: 8EDEB257)

03/8E23: AD EC 03      lda $03EC
03/8E26: F0 1E         beq if03ECzero
03/8E28: BD A0 02      lda $02A0,x
03/8E2B: 85 00         sta $00
03/8E2D: AD E3 03      lda $03E3    ; \
03/8E30: C9 EF         cmp #$EF     ; |
03/8E32: D0 0B         bne dontdoit ; |
03/8E34: AD E4 03      lda $03E4    ; |
03/8E37: C9 02         cmp #$02     ; | not present in "Rev 1" (PRG CRC32: 6C6C2FEB)
03/8E39: D0 04         bne dontdoit ; |
03/8E3B: A9 11         lda #$11     ; |
03/8E3D: 85 00         sta $00      ; |
dontdoit:                           ; /
03/8E3F: CA            dex
03/8E40: 8A            txa
03/8E41: 18            clc
03/8E42: 65 00         adc $00
03/8E44: AA            tax
03/8E45: 60            rts
if03ECzero:
03/8E46: E8            inx
03/8E47: 60            rts

All subsequent code and data in bank 3 is displaced by 18 bytes.

PRG Bank 7#

Dragon Ball 3 - Gokuu Den (Japan) (PRG CRC32 8EDEB257)

07/D668: 58            cli
07/D669: A9 00         lda #$00  ; not present in "Rev 1" (PRG CRC32: 6C6C2FEB)
07/D66B: 20 3A DB      jsr $DB3A ; not present in "Rev 1" (PRG CRC32: 6C6C2FEB)
07/D66E: A9 00         lda #$00
07/D670: 85 46         sta $46
07/D672: AD 02 20      lda $2002
07/D675: A5 55         lda $55
07/D677: 09 80         ora #$80
07/D679: 85 55         sta $55
07/D67B: 8D 00 20      sta $2000
07/D67E: 60            rts

All subsequent code and data in bank 7 is displaced by 5 bytes.

The subroutine at $DB3A (or at $DB35 in "Rev 1") writes the value in the accumulator to the FCG IRQ control register and to its shadow in RAM. Calling this subroutine with 0 in A (as the routine at $D668 does) disables FCG-generated IRQs.

07/DB3A: 85 6C         sta $6C
07/DB3C: 8D 0A 60      sta $600A
07/DB3F: 60            rts