Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Dragon Dance/ROM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Dragon Dance.

Bank 1

Boss Program

=Final Boss - Phase 2

ROM1:6884 FA 4E CA         ld   a,(CA4E)
ROM1:6887 A7               and  a
ROM1:6888 C2 B6 68         jp   nz,68B6
ROM1:688B 3E 96            ld   a,96
ROM1:688D EA 2B CA         ld   (CA2B),a       ;boss_life = 150
ROM1:6890 3E 08            ld   a,08
ROM1:6892 EA 36 CA         ld   (CA36),a
ROM1:6895 EA 37 CA         ld   (CA37),a
ROM1:6898 AF               xor  a
ROM1:6899 EA 29 CA         ld   (CA29),a
ROM1:689C EA 2A CA         ld   (CA2A),a
ROM1:689F 3E 01            ld   a,01
ROM1:68A1 EA 4E CA         ld   (CA4E),a
ROM1:68A4 3E 02            ld   a,02
ROM1:68A6 EA C2 C5         ld   (C5C2),a
ROM1:68A9 3E 08            ld   a,08
ROM1:68AB E0 A0            ld   (ff00+A0),a
ROM1:68AD 11 20 C3         ld   de,C320
ROM1:68B0 3E 0B            ld   a,0B
ROM1:68B2 CD 7D 01         call 017D
ROM1:68B5 C9               ret  

Inflict Damage to the Boss

ROM1:7656 FA 25 CA         ld   a,(CA25)
ROM1:7659 A7               and  a
ROM1:765A CA E4 76         jp   z,76E4
ROM1:765D FA 23 C8         ld   a,(C823)
ROM1:7660 FE 28            cp   a,28
ROM1:7662 CA AE 77         jp   z,77AE
ROM1:7665 FE 46            cp   a,46
ROM1:7667 CA D4 77         jp   z,77D4
ROM1:766A FA 0F C8         ld   a,(C80F)
ROM1:766D 5F               ld   e,a
ROM1:766E FA 0E C8         ld   a,(C80E)
ROM1:7671 4F               ld   c,a
ROM1:7672 FA 1B CA         ld   a,(CA1B)
ROM1:7675 47               ld   b,a
ROM1:7676 7B               ld   a,e
ROM1:7677 B8               cp   b
ROM1:7678 DA E4 76         jp   c,76E4
ROM1:767B FA 3E CA         ld   a,(CA3E)
ROM1:767E 80               add  b
ROM1:767F 47               ld   b,a
ROM1:7680 7B               ld   a,e
ROM1:7681 B8               cp   b
ROM1:7682 D2 E4 76         jp   nc,76E4
ROM1:7685 FA 1A CA         ld   a,(CA1A)
ROM1:7688 47               ld   b,a
ROM1:7689 FA 23 C8         ld   a,(C823)
ROM1:768C FE 14            cp   a,14
ROM1:768E CC 86 77         call z,7786
ROM1:7691 79               ld   a,c
ROM1:7692 B8               cp   b
ROM1:7693 DA E4 76         jp   c,76E4
ROM1:7696 FA 3D CA         ld   a,(CA3D)
ROM1:7699 80               add  b
ROM1:769A 47               ld   b,a
ROM1:769B 79               ld   a,c
ROM1:769C B8               cp   b
ROM1:769D D2 E4 76         jp   nc,76E4
ROM1:76A0 FA 39 C8         ld   a,(C839)
ROM1:76A3 A7               and  a
ROM1:76A4 C4 49 77         call nz,7749
ROM1:76A7 FA 38 C8         ld   a,(C838)
ROM1:76AA FE 04            cp   a,04
ROM1:76AC CC 40 77         call z,7740
ROM1:76AF FA 26 CA         ld   a,(CA26)
ROM1:76B2 A7               and  a
ROM1:76B3 3E 01            ld   a,01
ROM1:76B5 C0               ret  nz
ROM1:76B6 FA 23 C8         ld   a,(C823)
ROM1:76B9 FE 14            cp   a,14
ROM1:76BB CA 7A 77         jp   z,777A
ROM1:76BE FE 5A            cp   a,5A
ROM1:76C0 CA 7A 77         jp   z,777A
ROM1:76C3 FA 2B CA         ld   a,(CA2B)
ROM1:76C6 D6 05            sub  a,05           ;boss_life -= 5
ROM1:76C8 EA 2B CA         ld   (CA2B),a       ;store boss_life to wCA2B
ROM1:76CB FE F0            cp   a,F0
ROM1:76CD D4 E6 76         call nc,76E6        ;if(boss_life ≥ 240), call Destroy Boss
ROM1:76D0 3E 32            ld   a,32
ROM1:76D2 E0 A1            ld   (ff00+A1),a
ROM1:76D4 3E 0A            ld   a,0A
ROM1:76D6 EA 26 CA         ld   (CA26),a
ROM1:76D9 FA 23 C8         ld   a,(C823)
ROM1:76DC FE 46            cp   a,46
ROM1:76DE CA DE 77         jp   z,77DE
ROM1:76E1 3E 01            ld   a,01
ROM1:76E3 C9               ret  

1:76E4 (xor a)

ROM1:76E4 AF               xor  a
ROM1:76E5 C9               ret  

Destroy Boss

ROM1:76E6 FA 23 C8         ld   a,(C823)
ROM1:76E9 FE 28            cp   a,28
ROM1:76EB CA 58 77         jp   z,7758
ROM1:76EE 3E 00            ld   a,00
ROM1:76F0 EA 40 C1         ld   (C140),a
ROM1:76F3 3E 00            ld   a,00
ROM1:76F5 EA A0 C0         ld   (C0A0),a
ROM1:76F8 3E 00            ld   a,00
ROM1:76FA EA 40 C3         ld   (C340),a
ROM1:76FD AF               xor  a
ROM1:76FE EA 23 CA         ld   (CA23),a
ROM1:7701 3E 00            ld   a,00
ROM1:7703 EA 60 C3         ld   (C360),a
ROM1:7706 AF               xor  a
ROM1:7707 EA 32 CA         ld   (CA32),a
ROM1:770A 3E 00            ld   a,00
ROM1:770C EA 80 C3         ld   (C380),a
ROM1:770F AF               xor  a
ROM1:7710 EA 3F CA         ld   (CA3F),a
ROM1:7713 3E 01            ld   a,01
ROM1:7715 EA 20 C6         ld   (C620),a
ROM1:7718 FA 1A CA         ld   a,(CA1A)
ROM1:771B C6 10            add  a,10
ROM1:771D EA 0E C8         ld   (C80E),a
ROM1:7720 FA 1B CA         ld   a,(CA1B)
ROM1:7723 C6 0C            add  a,0C
ROM1:7725 EA 0F C8         ld   (C80F),a
ROM1:7728 3E 02            ld   a,02
ROM1:772A E0 A0            ld   (ff00+A0),a
ROM1:772C 3E 05            ld   a,05
ROM1:772E EA C2 C5         ld   (C5C2),a
ROM1:7731 FA 4E CA         ld   a,(CA4E)
ROM1:7734 A7               and  a
ROM1:7735 C8               ret  z
ROM1:7736 06 07            ld   b,07
ROM1:7738 0E 02            ld   c,02
ROM1:773A 1E 1D            ld   e,1D
ROM1:773C CD 6E 01         call 016E
ROM1:773F C9               ret

Heal 4 HP to the Boss

ROM1:7740 FA 2B CA         ld   a,(CA2B)
ROM1:7743 C6 04            add  a,04           ;boss_life += 4
ROM1:7745 EA 2B CA         ld   (CA2B),a       ;store boss_life to wCA2B
ROM1:7748 C9               ret  

1:77EA

ROM1:77EA FA 23 C8         ld   a,(C823)
ROM1:77ED FE 1E            cp   a,1E
ROM1:77EF CA 0E 78         jp   z,780E
ROM1:77F2 FE 3C            cp   a,3C
ROM1:77F4 CA 0E 78         jp   z,780E
ROM1:77F7 FE 46            cp   a,46
ROM1:77F9 CA 0E 78         jp   z,780E
ROM1:77FC FE 50            cp   a,50
ROM1:77FE CA 0E 78         jp   z,780E
ROM1:7801 FA 4E CA         ld   a,(CA4E)
ROM1:7804 A7               and  a
ROM1:7805 C2 CC 79         jp   nz,79CC
ROM1:7808 FA 0B C8         ld   a,(C80B)
ROM1:780B E6 07            and  a,07
ROM1:780D C0               ret  nz
ROM1:780E FA 23 C8         ld   a,(C823)
ROM1:7811 FE 28            cp   a,28
ROM1:7813 CA 26 79         jp   z,7926
ROM1:7816 FA 20 CA         ld   a,(CA20)
ROM1:7819 A7               and  a
ROM1:781A C8               ret  z
ROM1:781B 3D               dec  a
ROM1:781C EA 20 CA         ld   (CA20),a
ROM1:781F FA 23 C8         ld   a,(C823)
ROM1:7822 FE 3C            cp   a,3C
ROM1:7824 CA 37 79         jp   z,7937
ROM1:7827 FE 46            cp   a,46
ROM1:7829 CA 78 79         jp   z,7978
ROM1:782C FA 1E CA         ld   a,(CA1E)
ROM1:782F 47               ld   b,a
ROM1:7830 FA 1A CA         ld   a,(CA1A)
ROM1:7833 80               add  b
ROM1:7834 D6 04            sub  a,04
ROM1:7836 EA 1A CA         ld   (CA1A),a
ROM1:7839 CD 56 76         call 7656
ROM1:783C F5               push af
ROM1:783D A7               and  a
ROM1:783E C4 0F 5D         call nz,5D0F
ROM1:7841 F1               pop  af
ROM1:7842 A7               and  a
ROM1:7843 CA 63 78         jp   z,7863
ROM1:7846 FA 1E CA         ld   a,(CA1E)
ROM1:7849 47               ld   b,a
ROM1:784A FA 0E C8         ld   a,(C80E)
ROM1:784D 80               add  b
ROM1:784E D6 04            sub  a,04
ROM1:7850 EA 0E C8         ld   (C80E),a
ROM1:7853 FA 23 C8         ld   a,(C823)
ROM1:7856 FE 1E            cp   a,1E
ROM1:7858 CC 21 79         call z,7921
ROM1:785B FA 23 C8         ld   a,(C823)
ROM1:785E FE 50            cp   a,50
ROM1:7860 CC B0 79         call z,79B0
ROM1:7863 FA 1F CA         ld   a,(CA1F)
ROM1:7866 47               ld   b,a
ROM1:7867 FA 1B CA         ld   a,(CA1B)
ROM1:786A 80               add  b
ROM1:786B D6 04            sub  a,04
ROM1:786D EA 1B CA         ld   (CA1B),a
ROM1:7870 CD 56 76         call 7656
ROM1:7873 F5               push af
ROM1:7874 A7               and  a
ROM1:7875 C4 A8 5D         call nz,5DA8
ROM1:7878 F1               pop  af
ROM1:7879 A7               and  a
ROM1:787A CA 9A 78         jp   z,789A
ROM1:787D FA 1F CA         ld   a,(CA1F)
ROM1:7880 47               ld   b,a
ROM1:7881 FA 0F C8         ld   a,(C80F)
ROM1:7884 80               add  b
ROM1:7885 D6 04            sub  a,04
ROM1:7887 EA 0F C8         ld   (C80F),a
ROM1:788A FA 23 C8         ld   a,(C823)
ROM1:788D FE 1E            cp   a,1E
ROM1:788F CC 21 79         call z,7921
ROM1:7892 FA 23 C8         ld   a,(C823)
ROM1:7895 FE 50            cp   a,50
ROM1:7897 CC BE 79         call z,79BE
ROM1:789A FA 1D CA         ld   a,(CA1D)
ROM1:789D 3D               dec  a
ROM1:789E EA 1D CA         ld   (CA1D),a
ROM1:78A1 A7               and  a
ROM1:78A2 C0               ret  nz
ROM1:78A3 FA 1C CA         ld   a,(CA1C)
ROM1:78A6 C6 03            add  a,03
ROM1:78A8 EA 1C CA         ld   (CA1C),a
ROM1:78AB FA 31 CA         ld   a,(CA31)
ROM1:78AE CB 27            sla  a
ROM1:78B0 4F               ld   c,a
ROM1:78B1 21 5A 7D         ld   hl,7D5A
ROM1:78B4 06 00            ld   b,00
ROM1:78B6 09               add  hl,bc
ROM1:78B7 2A               ldi  a,(hl)
ROM1:78B8 66               ld   h,(hl)
ROM1:78B9 6F               ld   l,a
ROM1:78BA FA 1C CA         ld   a,(CA1C)
ROM1:78BD 5F               ld   e,a
ROM1:78BE 16 00            ld   d,00
ROM1:78C0 19               add  hl,de
ROM1:78C1 7E               ld   a,(hl)
ROM1:78C2 FE FF            cp   a,FF
ROM1:78C4 CA D5 78         jp   z,78D5
ROM1:78C7 EA 1D CA         ld   (CA1D),a
ROM1:78CA 23               inc  hl
ROM1:78CB 7E               ld   a,(hl)
ROM1:78CC EA 1E CA         ld   (CA1E),a
ROM1:78CF 23               inc  hl
ROM1:78D0 7E               ld   a,(hl)
ROM1:78D1 EA 1F CA         ld   (CA1F),a
ROM1:78D4 C9               ret  

1:79CC

ROM1:79CC FA 2B CA         ld   a,(CA2B)
ROM1:79CF FE 64            cp   a,64
ROM1:79D1 D2 08 78         jp   nc,7808        ;if(boss_life ≥ 100), jump to 1:7808
ROM1:79D4 FA 0B C8         ld   a,(C80B)
ROM1:79D7 E6 03            and  a,03
ROM1:79D9 C0               ret  nz
ROM1:79DA FA 20 CA         ld   a,(CA20)
ROM1:79DD A7               and  a
ROM1:79DE C8               ret  z
ROM1:79DF 3D               dec  a
ROM1:79E0 EA 20 CA         ld   (CA20),a
ROM1:79E3 FA 4F CA         ld   a,(CA4F)
ROM1:79E6 A7               and  a
ROM1:79E7 C0               ret  nz
ROM1:79E8 3E 01            ld   a,01
ROM1:79EA EA 4F CA         ld   (CA4F),a
ROM1:79ED FA 1A CA         ld   a,(CA1A)
ROM1:79F0 FE 38            cp   a,38
ROM1:79F2 CA 0E 7A         jp   z,7A0E
ROM1:79F5 DA 03 7A         jp   c,7A03
ROM1:79F8 3D               dec  a
ROM1:79F9 EA 1A CA         ld   (CA1A),a
ROM1:79FC AF               xor  a
ROM1:79FD EA 4F CA         ld   (CA4F),a
ROM1:7A00 C3 0E 7A         jp   7A0E
ROM1:7A03 3C               inc  a
ROM1:7A04 EA 1A CA         ld   (CA1A),a
ROM1:7A07 AF               xor  a
ROM1:7A08 EA 4F CA         ld   (CA4F),a
ROM1:7A0B C3 0E 7A         jp   7A0E
ROM1:7A0E FA 1B CA         ld   a,(CA1B)
ROM1:7A11 FE 10            cp   a,10
ROM1:7A13 CA 2B 7A         jp   z,7A2B
ROM1:7A16 DA 22 7A         jp   c,7A22
ROM1:7A19 3D               dec  a
ROM1:7A1A EA 1B CA         ld   (CA1B),a
ROM1:7A1D AF               xor  a
ROM1:7A1E EA 4F CA         ld   (CA4F),a
ROM1:7A21 C9               ret  

1:7D5A (Array)

ROM1:7D5A
6E
7D
7B
7D
94
7D
A7
7D
AB
7D
B8
7D
BF
7D
C3
7D
CD
7D
DA
7D
15
04
02
2A
06
05
15
04
02
2A
02
05
FF

Bank 4

Password

Password check

  • 0x115EE-0x1165A - Retrieves the entered password, and compares it with the position of level IDs in the array at 0x11900.
ROM4:55EE FA 48 CA         ld   a,(CA48)
ROM4:55F1 FE 04            cp   a,04
ROM4:55F3 C2 E9 55         jp   nz,55E9
ROM4:55F6 FA 49 CA         ld   a,(CA49)
ROM4:55F9 CB 27            sla  a
ROM4:55FB 47               ld   b,a
ROM4:55FC CB 27            sla  a
ROM4:55FE CB 27            sla  a
ROM4:5600 80               add  b
ROM4:5601 47               ld   b,a
ROM4:5602 FA 4A CA         ld   a,(CA4A)
ROM4:5605 80               add  b
ROM4:5606 EA 45 CA         ld   (CA45),a
ROM4:5609 FA 4B CA         ld   a,(CA4B)
ROM4:560C CB 27            sla  a
ROM4:560E 47               ld   b,a
ROM4:560F CB 27            sla  a
ROM4:5611 CB 27            sla  a
ROM4:5613 80               add  b
ROM4:5614 47               ld   b,a
ROM4:5615 FA 4C CA         ld   a,(CA4C)
ROM4:5618 80               add  b
ROM4:5619 EA 46 CA         ld   (CA46),a
ROM4:561C C3 20 56         jp   5620
ROM4:561F C9               ret  
ROM4:5620 FA 45 CA         ld   a,(CA45)
ROM4:5623 21 00 59         ld   hl,5900
ROM4:5626 5F               ld   e,a
ROM4:5627 16 00            ld   d,00
ROM4:5629 19               add  hl,de
ROM4:562A 7E               ld   a,(hl)
ROM4:562B 3C               inc  a
ROM4:562C 47               ld   b,a
ROM4:562D FA 46 CA         ld   a,(CA46)
ROM4:5630 21 64 59         ld   hl,5964
ROM4:5633 5F               ld   e,a
ROM4:5634 16 00            ld   d,00
ROM4:5636 19               add  hl,de
ROM4:5637 7E               ld   a,(hl)
ROM4:5638 3C               inc  a
ROM4:5639 B8               cp   b
ROM4:563A C2 5B 56         jp   nz,565B
ROM4:563D 78               ld   a,b
ROM4:563E EA 09 C8         ld   (C809),a
ROM4:5641 EA 23 C8         ld   (C823),a
ROM4:5644 3E 02            ld   a,02
ROM4:5646 E0 A0            ld   (ff00+A0),a
ROM4:5648 3E 03            ld   a,03
ROM4:564A E0 A1            ld   (ff00+A1),a
ROM4:564C 3E 04            ld   a,04
ROM4:564E CD 92 01         call 0192
ROM4:5651 3E 05            ld   a,05
ROM4:5653 EA C2 C5         ld   (C5C2),a
ROM4:5656 AF               xor  a
ROM4:5657 EA C4 C5         ld   (C5C4),a
ROM4:565A C9               ret

Level list

  • 0x11900-0x119C7 - Level list used for Password. Simply look the position of the desired level + 1 in both lists. e.g. 1027 for level 100 (0x63 + 1)
ROM4:5900
1F 0E 4A 29 5C 3E 2D 48 17 14 63 5D 11 21 01 33
40 0C 18 30 09 2C 62 08 12 4C 61 1D 36 1B 46 00
45 0D 57 34 42 4F 51 5F 3D 03 5A 59 15 06 38 52
13 3B 49 0F 23 50 1C 3F 2E 55 3C 31 3A 28 05 37
10 54 24 60 4B 20 1E 4E 07 32 02 44 19 56 47 25
35 26 2F 5E 41 39 4D 22 5B 2B 2A 58 04 0B 53 27
43 1A 16 0A
ROM4:5964
1C 61 22 3F 18 1E 5C 47 0F 2A 0D 36 14 0A 46 08
52 4D 3C 26 0C 28 4B 33 04 5E 1D 63 00 1A 05 2F
3B 38 02 54 50 49 13 4F 15 2E 09 5A 42 62 29 1F
3A 43 5D 17 5B 58 0B 59 21 40 30 20 12 45 4C 03
39 56 2C 31 51 3D 0E 07 4E 25 55 16 3E 11 48 27
24 44 10 60 23 4A 41 5F 35 37 2B 34 06 32 19 57
53 01 2D 1B

Bank 5

Game Text

  • 0x124C6 - Ending Credits
YOU'VE MASTERED
THE ART OF
THE DRAGON DANCE
YOUR STRENGTH
AND
BRAVERY SHALL
BE REWARDED
WITH
GOOD FORTUNE!
YOU DID IT
TAKASHI MATSUMOTO
KIMIO HIROTA
SHINJI MORIMITSU
MITSUGU TAKAMIYA
IKU MIZUTANI
KINUYO UEDA
SHINJI MORIMITSU
MITSUGU TAKAMIYA
TAKASHI MAEDA
NAOMI SAGARA
HIROSHI SAITOU
TOSHIAKI KANAME
WATARU KITAMURA
NATSUME
EXECUTIVE PRODUCER
PRODUCER
DIRECTOR
PLANNER
SOUND
PROGRAMMER
GRAPHIC
DEBUG
SPECIAL THANKS
PRODUCED BY
  • 0x156C6 - Game Text
GAME START
PASS CODE
VS MODE
OPTION
OPTION
SPEED
REFRECT
BGM
EXIT
SOUND.CHECK
BGM
SE
EXIT
:NORMAL
:FAST
:SPECIAL
:ON
:OFF
START
GAME OVER
TIME OVER
CLEAR
PASSCODE:999
DIFFICULTY:
WAIT
PAUSE
CONTINUE:
WARNING
PASS.CODE.:
ERROR
COMPLETE
BGM
SE
EXIT
SPEED
REFLECT
BGM
SOUNDTEST
BG COLOR EDITOR
EXIT
STAFF
:1998 NATSUME
PASS CODE :
PALLET1
R:
G:
B:
PALLET2
R:
G:
B:
OK
DEFAULT
STAGE