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 Warrior III (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Formatted Character Classes / Gender and added links)
(Converted spell flag list)
Line 591: Line 591:
|}
|}


==Spell List==
==Spell Flags List==


First character's magic list begins at 0x79C.  Add 8 * ally number for other characters.
First character's magic list begins at 0x79C.  Add 8 * ally number for other characters.
Line 601: Line 601:
Note: Hero uses location of Wizard spells.
Note: Hero uses location of Wizard spells.


===Wizard Battle Spells===
'''Note:''' The Index column refers to the spell's value in the [[Dragon_Warrior_III_(NES)/Values#Spells|List of Spells]]
Byte 0
* Blaze
* Upper
* IceBolt
* Increase
* Firebal
* Return
* Bang
* Slow


Byte 1
{| class="wikitable"
* Blazemore
!    !!  Class  !!  Type !!  Bit !!  Index  !!  Spell
* RobMagic
|-
* Snowblast
!  rowspan="8"  |  Byte 0
* IceSpears
|  rowspan="32"  |  Wizard
* Firebane
|  rowspan="24"  |  Battle
* Bikill
|  %00000001  ||  style="text-align: center;"  |  $00  ||  Blaze
* Boom
|-
* Bounce
|  %00000010  ||  style="text-align: center;"  |  $2d  ||  Upper
 
|-
Byte 2
|  %00000100  ||  style="text-align: center;"  |  $09  ||  IceBolt
* Blazemost
|-
* Chaos
|  %00001000  ||  style="text-align: center;"  |  $2e  ||  Increase
* Snowstorm
|-
* BeDragon
|  %00010000  ||  style="text-align: center;"  |  $03  ||  Firebal
* Firevolt
|-
* Transform
|  %00100000  ||  style="text-align: center;"  |  $26  ||  Return
* Explodet
|-
* Chance
|  %01000000  ||  style="text-align: center;"  |  $06  ||  Bang
 
|-
===Wizard Field Spells===
|  %10000000  ||  style="text-align: center;"  |  $18  ||  Slow
Byte 3
|-
* Outside
!  rowspan="8"  |  Byte 1
* Return
|  %00000001  ||  style="text-align: center;"  |  $01  ||  Blazemore
* X-Ray
|-
* StepGuard
|  %00000010  ||  style="text-align: center;"  |  $17  ||  RobMagic
* Day-Night
|-
* CurseOff
|  %00000100  ||  style="text-align: center;"  |  $0a  ||  SnowBlast
* Invisible
|-
* Open
|  %00001000  ||  style="text-align: center;"  |  $0c  ||  IceSpears
 
|-
===Pilgrim Battle Spells===
|  %00010000  ||  style="text-align: center;"  |  $04  ||  Firebane
Byte 4
|-
* Sap
|  %00100000  ||  style="text-align: center;"  |  $32  ||  Bikill
* Heal
|-
* Expel
|  %01000000  ||  style="text-align: center;"  |  $07  ||  Boom
* Antidote
|-
* Infernos
|  %10000000  ||  style="text-align: center;"  |  $30  ||  Bounce
* SpeedUP
|-
* Surround
!  rowspan="8"  |  Byte 2
* Sleep
|  %00000001  ||  style="text-align: center;"  |  $02  ||  Blazemost
 
|-
Byte 5
|  %00000010  ||  style="text-align: center;"  |  $27  ||  Chaos
* Defence
|-
* Healmore
|  %00000100  ||  style="text-align: center;"  |  $0b  ||  Snowstorm
* Beat
|-
* NumbOff
|  %00001000  ||  style="text-align: center;"  |  $29  ||  BeDragon
* Infermore
|-
* StopSpell
|  %00010000  ||  style="text-align: center;"  |  $05  ||  Firevolt
* Limbo
|-
* Awake
|  %00100000  ||  style="text-align: center;"  |  $28  ||  Transform
 
|-
Byte 6
|  %01000000  ||  style="text-align: center;"  |  $08  ||  Explodet
* Barrier
|-
* Healall
|  %10000000  ||  style="text-align: center;"  |  $33  ||  Chance
* Defeat
|-
* Healus
!  rowspan="8"  |  Byte 3
* Infermost
|  rowspan="8"  |  Field
* Vivify
|  %00000001  ||  style="text-align: center;"  |  $3b  ||  Outside
* Sacrifice
|-
* Revive
|  %00000010  ||  style="text-align: center;"  |  $26  ||  Return
 
|-
===Pilgrim Field Spells===
|  %00000100  ||  style="text-align: center;"  |  $3a  ||  X-Ray
Byte 7
|-
* Heal
|  %00001000  ||  style="text-align: center;"  |  $3d  ||  StepGuard
* Antidote
|-
* Healmore
|  %00010000  ||  style="text-align: center;"  |  $38  ||  Day-Night
* NumbOff
|-
* Vivify
|  %00100000  ||  style="text-align: center;"  |  $36  ||  CurseOff
* Healall
|-
* Healus
|  %01000000  ||  style="text-align: center;"  |  $3c  ||  Invisible
* Revive
|-
|  %10000000  ||  style="text-align: center;"  |  $39  ||  Open
|-
!  rowspan="8"  |  Byte 4
|  rowspan="32"  |  Pilgrim
|  rowspan="24"  |  Battle
|  %00000001  ||  style="text-align: center;"  |  $2b  ||  Sap
|-
|  %00000010  ||  style="text-align: center;"  |  $1a  ||  Heal
|-
|  %00000100  ||  style="text-align: center;"  |  $15  ||  Expel
|-
|  %00001000  ||  style="text-align: center;"  |  $34  ||  Antidote
|-
|  %00010000  ||  style="text-align: center;"  |  $0d  ||  Infernos
|-
|  %00100000  ||  style="text-align: center;"  |  $19  ||  SpeedUp
|-
|  %01000000  ||  style="text-align: center;"  |  $25  ||  Surround
|-
|  %10000000  ||  style="text-align: center;"  |  $22  ||  Sleep
|-
!  rowspan="8"  |  Byte 5
|  %00000001  ||  style="text-align: center;"  |  $2c  ||  Defence
|-
|  %00000010  ||  style="text-align: center;"  |  $1b  ||  Healmore
|-
|  %00000100  ||  style="text-align: center;"  |  $12  ||  Beat
|-
|  %00001000  ||  style="text-align: center;"  |  $35  ||  NumbOff
|-
|  %00010000  ||  style="text-align: center;"  |  $0e  ||  Infermore
|-
|  %00100000  ||  style="text-align: center;"  |  $24  ||  StopSpell
|-
|  %01000000  ||  style="text-align: center;"  |  $16  ||  Limbo
|-
|  %10000000  ||  style="text-align: center;"  |  $23  ||  Awake
|-
!  rowspan="8"  |  Byte 6
|  %00000001  ||  style="text-align: center;"  |  $31  ||  Barrier
|-
|  %00000010  ||  style="text-align: center;"  |  $1c  ||  Healall
|-
|  %00000100  ||  style="text-align: center;"  |  $13  ||  Defeat
|-
|  %00001000  ||  style="text-align: center;"  |  $1e  ||  Healus
|-
|  %00010000  ||  style="text-align: center;"  |  $0f  ||  Infermost
|-
|  %00100000  ||  style="text-align: center;"  |  $20  ||  Vivify
|-
|  %01000000  ||  style="text-align: center;"  |  $14  ||  Sacrifice
|-
|  %10000000  ||  style="text-align: center;"  |  $21  ||  Revive
|-
!  rowspan="8"  |  Byte 7
|  rowspan="8"  |  Field
|  %00000001  ||  style="text-align: center;"  |  $1a  ||  Heal
|-
|  %00000010  ||  style="text-align: center;"  |  $34  ||  Antidote
|-
|  %00000100  ||  style="text-align: center;"  |  $1b  ||  Healmore
|-
|  %00001000  ||  style="text-align: center;"  |  $35  ||  NumbOff
|-
|  %00010000  ||  style="text-align: center;"  |  $20  ||  Vivify
|-
|  %00100000  ||  style="text-align: center;"  |  $1c  ||  Healall
|-
|  %01000000  ||  style="text-align: center;"  |  $1e  ||  Healus
|-
|  %10000000  ||  style="text-align: center;"  |  $21  ||  Revive
|}


{{Internal Data}}
{{Internal Data}}

Revision as of 20:25, 4 May 2024

Chip tiny.png The following article is a RAM map for Dragon Warrior III (NES).

Main

Category Address Size Description
Unknown $0000 - $001b 28 bytes ...
Data $001c byte RNG
Unknown $001d - $002b 15 bytes ...
Data $002c byte Party Travel type (ground, ship, air)
Unknown $002d - $004b 31 bytes ...
Data $004c byte RNG
Unknown $004d - $0050 4 bytes ...
Battles $0051 byte Whose turn it is
Unknown $0052 - $00a3 82 bytes ...
Data $00a4 byte RNG
Unknown $00a5 - $00ac 8 bytes ...
Data $00ad byte Fairy Water Counter
Unknown $00ae - $00d7 42 bytes ...
Data $00d8 byte Music counter
Unknown $00d9 - $01ff 295 bytes ...
Graphics $0200 - $020f 16 bytes Player 1 - On Screen Sprite data
Graphics $0210 - $021f 16 bytes Player 2 - On Screen Sprite data
Graphics $0220 - $022f 16 bytes Player 3 - On Screen Sprite data
Graphics $0230 - $023f 16 bytes Player 4 - On Screen Sprite data
Graphics $0240 - $02ff 192 bytes On Screen Sprite data
Unknown $0300 - $04ff 512 bytes ...
Battles $0500 - $0501 word Enemy 1 - HP
Battles $0502 - $0503 word Enemy 2 - HP
Battles $0504 - $0505 word Enemy 3 - HP
Battles $0506 - $0507 word Enemy 4 - HP
Battles $0508 - $0509 word Enemy 5 - HP
Battles $050a - $050b word Enemy 6 - HP
Battles $050c - $050d word Enemy 7 - HP
Battles $050e - $050f word Enemy 8 - HP
Battles $0510 byte Enemy 1 - MP
Battles $0511 byte Enemy 2 - MP
Battles $0512 byte Enemy 3 - MP
Battles $0513 byte Enemy 4 - MP
Battles $0514 byte Enemy 5 - MP
Battles $0515 byte Enemy 6 - MP
Battles $0516 byte Enemy 7 - MP
Battles $0517 byte Enemy 8 - MP
Battles $0518 byte Enemy 1 - Agility
Battles $0519 byte Enemy 2 - Agility
Battles $051a byte Enemy 3 - Agility
Battles $051b byte Enemy 4 - Agility
Battles $051c byte Enemy 5 - Agility
Battles $051d byte Enemy 6 - Agility
Battles $051e byte Enemy 7 - Agility
Battles $051f byte Enemy 8 - Agility
Battles $0520 - $0521 word Enemy 1 - Defense
Battles $0522 - $0523 word Enemy 2 - Defense
Battles $0524 - $0525 word Enemy 3 - Defense
Battles $0526 - $0527 word Enemy 4 - Defense
Battles $0528 - $0529 word Enemy 5 - Defense
Battles $052a - $052b word Enemy 6 - Defense
Battles $052c - $052d word Enemy 7 - Defense
Battles $052e - $052f word Enemy 8 - Defense
Battles $0530 - $0531 word Enemy 1 - Status
Battles $0532 - $0533 word Enemy 2 - Status
Battles $0534 - $0535 word Enemy 3 - Status
Battles $0536 - $0537 word Enemy 4 - Status
Battles $0538 - $0539 word Enemy 5 - Status
Battles $053a - $053b word Enemy 6 - Status
Battles $053c - $053d word Enemy 7 - Status
Battles $053e - $053f word Enemy 8 - Status
Unknown $0540 - $0564 37 bytes ...
Battles $0565 byte Bikill flag on Enemy 1 (if 1)
Unknown $0566 - $056c 7 bytes ...
Battles $056d byte Enemy Group 1 - Type
Battles $056e byte Enemy Group 2 - Type
Battles $056f byte Enemy Group 3 - Type
Battles $0570 byte Enemy Group 4 - Type
Battles $0571 byte Group 1 - Count
Battles $0572 byte Group 2 - Count
Battles $0573 byte Group 3 - Count
Battles $0574 byte Group 4 - Count
Unknown $0575 - $06dd 361 bytes ...
Data $06de byte Level (World?) X Position, Level (World?) Y Position, Time of day (sub bytes)
Data $06df byte Time of day
Unknown $06e0 - $06ff 32 bytes ...
Stats $0700 byte Player 1 - Level
Stats $0701 byte Player 2 - Level
Stats $0702 byte Player 3 - Level
Stats $0703 byte Player 4 - Level
Stats $0704 byte Player 1 - Strength
Stats $0705 byte Player 2 - Strength
Stats $0706 byte Player 3 - Strength
Stats $0707 byte Player 4 - Strength
Stats $0708 byte Player 1 - Agility
Stats $0709 byte Player 2 - Agility
Stats $070a byte Player 3 - Agility
Stats $070b byte Player 4 - Agility
Stats $070c byte Player 1 - Intelligence
Stats $070d byte Player 2 - Intelligence
Stats $070e byte Player 3 - Intelligence
Stats $070f byte Player 4 - Intelligence
Stats $0710 byte Player 1 - Luck
Stats $0711 byte Player 2 - Luck
Stats $0712 byte Player 3 - Luck
Stats $0713 byte Player 4 - Luck
Stats $0714 byte Player 1 - Vitality
Stats $0715 byte Player 2 - Vitality
Stats $0716 byte Player 3 - Vitality
Stats $0717 byte Player 4 - Vitality
Stats $0718 byte Player 1 - Class / Gender
Stats $0719 byte Player 2 - Class / Gender
Stats $071a byte Player 3 - Class / Gender
Stats $071b byte Player 4 - Class / Gender
Stats $071c - $071d word Player 1 - HP
Stats $071e - $071f word Player 2 - HP
Stats $0720 - $0721 word Player 3 - HP
Stats $0722 - $0723 word Player 4 - HP
Stats $0724 - $0725 word Player 1 - Max HP
Stats $0726 - $0727 word Player 2 - Max HP
Stats $0728 - $0729 word Player 3 - Max HP
Stats $072a - $072b word Player 4 - Max HP
Stats $072c - $072d word Player 1 - MP
Stats $072e - $072f word Player 2 - MP
Stats $0730 - $0731 word Player 3 - MP
Stats $0732 - $0733 word Player 4 - MP
Stats $0734 - $0735 word Player 1 - Max MP
Stats $0736 - $0737 word Player 2 - Max MP
Stats $0738 - $0739 word Player 3 - Max MP
Stats $073a - $073b word Player 4 - Max MP
Stats $073c - $073d word Player 1 - Status
Stats $073e - $073f word Player 2 - Status
Stats $0740 - $0741 word Player 3 - Status
Stats $0742 - $0743 word Player 4 - Status
Stats $0744 - $0746 long Player 1 - Experience
Stats $0747 - $0749 long Player 2 - Experience
Stats $074a - $074c long Player 3 - Experience
Stats $074d - $074f long Player 4 - Experience
Stats $0750 - $0752 long Player 1 - Return Destinations
Stats $0753 - $0755 long Player 2 - Return Destinations
Stats $0756 - $0758 long Player 3 - Return Destinations
Stats $0759 - $075b long Player 4 - Return Destinations
Stats $075c - $0763 8 bytes Player 1 - Name
Stats $0764 - $076b 8 bytes Player 2 - Name
Stats $076c - $0773 8 bytes Player 3 - Name
Stats $0774 - $077b 8 bytes Player 4 - Name
Items $077c byte Player 1 - Item Slot 1
Items $077d byte Player 1 - Item Slot 2
Items $077e byte Player 1 - Item Slot 3
Items $077f byte Player 1 - Item Slot 4
Items $0780 byte Player 1 - Item Slot 5
Items $0781 byte Player 1 - Item Slot 6
Items $0782 byte Player 1 - Item Slot 7
Items $0783 byte Player 1 - Item Slot 8
Items $0784 byte Player 2 - Item Slot 1
Items $0785 byte Player 2 - Item Slot 2
Items $0786 byte Player 2 - Item Slot 3
Items $0787 byte Player 2 - Item Slot 4
Items $0788 byte Player 2 - Item Slot 5
Items $0789 byte Player 2 - Item Slot 6
Items $078a byte Player 2 - Item Slot 7
Items $078b byte Player 2 - Item Slot 8
Items $078c byte Player 3 - Item Slot 1
Items $078d byte Player 3 - Item Slot 2
Items $078e byte Player 3 - Item Slot 3
Items $078f byte Player 3 - Item Slot 4
Items $0790 byte Player 3 - Item Slot 5
Items $0791 byte Player 3 - Item Slot 6
Items $0792 byte Player 3 - Item Slot 7
Items $0793 byte Player 3 - Item Slot 8
Items $0794 byte Player 4 - Item Slot 1
Items $0795 byte Player 4 - Item Slot 2
Items $0796 byte Player 4 - Item Slot 3
Items $0797 byte Player 4 - Item Slot 4
Items $0798 byte Player 4 - Item Slot 5
Items $0799 byte Player 4 - Item Slot 6
Items $079a byte Player 4 - Item Slot 7
Items $079b byte Player 4 - Item Slot 8
Stats $079c - $079e long Player 1 - Wizard Battle Magic
Stats $079f byte Player 1 - Wizard Field Magic
Stats $07a0 - $07a2 long Player 1 - Pilgram Battle Magic
Stats $07a3 byte Player 1 - Pilgram Field Magic
Stats $07a4 - $07a6 long Player 2 - Wizard Battle Magic
Stats $07a7 byte Player 2 - Wizard Field Magic
Stats $07a8 - $07aa long Player 2 - Pilgram Battle Magic
Stats $07ab byte Player 2 - Pilgram Field Magic
Stats $07ac - $07ae long Player 3 - Wizard Battle Magic
Stats $07af byte Player 3 - Wizard Field Magic
Stats $07b0 - $07b2 long Player 3 - Pilgram Battle Magic
Stats $07b3 byte Player 3 - Pilgram Field Magic
Stats $07b4 - $07b6 long Player 4 - Wizard Battle Magic
Stats $07b7 byte Player 4 - Wizard Field Magic
Stats $07b8 - $07ba long Player 4 - Pilgram Battle Magic
Stats $07bb byte Player 4 - Pilgram Field Magic
Stats $07bc - $07be long Gold
Stats $07bf - $07c0 word Num Characters Registered
Stats $07c1 byte Player 1 - Character in Storage num
Stats $07c2 byte Player 2 - Character in Storage num
Stats $07c3 byte Player 3 - Character in Storage num
Stats $07c4 byte Player 4 - Character in Storage num
Unused $07c5 - $07ff 59 bytes Unused

Additional Information

Links

Useful information:

Character Stats

These are base addresses for the first character in the party. They are sorted by the size of the data in bytes.

8-bit values

These are addresses for the first party member. Add 1*the ally number to the address for other characters.

  • Level: 0x700
  • Strength: 0x704
  • Agility: 0x708
  • Intelligence: 0x70C
  • Vitality: 0x710
  • Luck: 0x714
  • Character Class / Gender: 0x718 (Character Classes / Gender)

16-bit values

Addresses for first party member. Add 2*Ally Number for other characters. Little endian byte order.

  • HP: 0x71C
  • Max HP: 0x724
  • MP: 0x72C
  • Max MP: 0x734
  • 'Status': 0x73C

24-bit values

Addresses for first party member. Add 3*Ally Number for other characters. Little endian byte order.

8-byte values

Addresses for first party member. Add 8*Ally number for other characters.

Gold pieces

Address for player's gold pieces (GP) (24-bit)

  • Gold: 0x7BC

Character Classes / Gender

This is located at 0x718 + character number.

Mask Value Description
Class %00000111 $00 Hero
$01 Wizard
$02 Pilgrim
$03 Sage
$04 Soldier
$05 Merchant
$06 Fighter
$07 Goof-off
Gender %00001000 $00 Male
$08 Female
Unused %00010000 ... Unused
%00100000 ... Unused
%01000000 ... Unused
%10000000 ... Unused

Return Destinations

This is located at 0x750 + character number * 3.

The 3 bytes of Return Destinations store one bit per location visited. The upper 4 bits of the third byte are not used.

Bit Mask Destination
Byte 0 %00000001 $01 Aliahan
%00000010 $02 Reeve
%00000100 $04 Romally
%00001000 $08 Kanave
%00010000 $10 Noaniels
%00100000 $20 Assaram
%01000000 $40 Isis
%10000000 $80 Portoga
Byte 1 %00000001 $01 Baharata
%00000010 $02 Dhama
%00000100 $04 Lancel
%00001000 $08 Jipang
%00010000 $10 Eginbear
%00100000 $20 Samano
%01000000 $40 Soo
%10000000 $80 Tantegel
Byte 2 %00000001 $01 Hauksness
%00000010 $02 Cantlin
%00000100 $04 Kol
%00001000 $08 Rimuldar
%00010000 $10 Unused
%00100000 $20
%01000000 $40
%10000000 $80

Spell Flags List

First character's magic list begins at 0x79C. Add 8 * ally number for other characters.

  • Byte 0-2: Wizard Spells (in battle)
  • Byte 3: Wizard Spells (field)
  • Byte 4-6: Pilgrim Spells (in battle)
  • Byte 7: Pilgrim Spells (field)

Note: Hero uses location of Wizard spells.

Note: The Index column refers to the spell's value in the List of Spells

Class Type Bit Index Spell
Byte 0 Wizard Battle %00000001 $00 Blaze
%00000010 $2d Upper
%00000100 $09 IceBolt
%00001000 $2e Increase
%00010000 $03 Firebal
%00100000 $26 Return
%01000000 $06 Bang
%10000000 $18 Slow
Byte 1 %00000001 $01 Blazemore
%00000010 $17 RobMagic
%00000100 $0a SnowBlast
%00001000 $0c IceSpears
%00010000 $04 Firebane
%00100000 $32 Bikill
%01000000 $07 Boom
%10000000 $30 Bounce
Byte 2 %00000001 $02 Blazemost
%00000010 $27 Chaos
%00000100 $0b Snowstorm
%00001000 $29 BeDragon
%00010000 $05 Firevolt
%00100000 $28 Transform
%01000000 $08 Explodet
%10000000 $33 Chance
Byte 3 Field %00000001 $3b Outside
%00000010 $26 Return
%00000100 $3a X-Ray
%00001000 $3d StepGuard
%00010000 $38 Day-Night
%00100000 $36 CurseOff
%01000000 $3c Invisible
%10000000 $39 Open
Byte 4 Pilgrim Battle %00000001 $2b Sap
%00000010 $1a Heal
%00000100 $15 Expel
%00001000 $34 Antidote
%00010000 $0d Infernos
%00100000 $19 SpeedUp
%01000000 $25 Surround
%10000000 $22 Sleep
Byte 5 %00000001 $2c Defence
%00000010 $1b Healmore
%00000100 $12 Beat
%00001000 $35 NumbOff
%00010000 $0e Infermore
%00100000 $24 StopSpell
%01000000 $16 Limbo
%10000000 $23 Awake
Byte 6 %00000001 $31 Barrier
%00000010 $1c Healall
%00000100 $13 Defeat
%00001000 $1e Healus
%00010000 $0f Infermost
%00100000 $20 Vivify
%01000000 $14 Sacrifice
%10000000 $21 Revive
Byte 7 Field %00000001 $1a Heal
%00000010 $34 Antidote
%00000100 $1b Healmore
%00001000 $35 NumbOff
%00010000 $20 Vivify
%00100000 $1c Healall
%01000000 $1e Healus
%10000000 $21 Revive