|
DevelopmentSega Master System / Mark III / Game Gear |
Home - Forums - Games - Scans - Maps - Cheats - Credits |
Slot 2 Mapping Flat Code in $00000 - $07fff [1] and $1c000 - $1ffff
The Dragon Crystal Shrine by Dammit9x provided an excellent starting point for many of the player status and inventory variables before. (A FAQ by the same user is available at GameFAQs and elsewhere, containing much of the same information.)
A disassembly of the game (in progress) is available on Github. See Dragon Crystal Exploration and Disassembly for further work.
RAM
Gameplay Variables
Variable | Location | Notes | |
---|---|---|---|
Autoplay | $C006 | 00 is off, 01 during play goes to title screen, above that plays during game- demo played through autodemo- enable autoplay during game with PAR code 00C0:0602 | |
AutoplayDirection | $C007 | high bit 1 is button 1 2 is button 2, low bit 1 is up 2 is down 4 is left 8 is right | |
AutoplayCountdown | $C008-$C009 | ||
Autoplay? | $C00A | possibly randomly generated number- seems active during autoplay | |
ControllerDirection | $C00C | ||
Modal | $C011 | 01 = pause menu or death screen. 00/02 alternate rapidly during normal play- keeps touching it to check state? This is also an index to a jump table at $1D1 | |
TitleScreenCounter | $C012-$C013 | ||
RNGSeed | $C016 | The RNG function is the exact same as the code snippet given from Phantasy Star in the Development section | |
"World Modifier" | $C01A | This hex address is listed as "world modifier" in this list of PAR codes, but the byte to write is given as ??- I haven't been able to generate any particular effect with obvious values like $00, $FF, or random values yet though, nor does anything seem to reference this address directly in the disassembly | |
Floor | $C01C | ||
ModalState | $C0A0 | Seems to take away control from player eg during animations while turn is processing or while menu is open- also an index to a jump table at $4ED | |
PlayerSpeed | $C0CF | Also controls animation speed? | |
Player coordinate? | $C105-C106 | ||
PlayerSprite | $C540 |
Player Status
Variable | Location | Notes |
---|---|---|
WeaponHit | $C617 | |
WeaponPW | $C618 | |
ArmorEvd | $C619 | |
ArmorAC | $C61A | |
CharacterLevel | $C61F | Also determines Dragon state- seems to be checked continuously |
Food | $C620 | |
CurrentHP | $C621-$C622 | |
MaxHP | $C623-$C624 | |
Experience | $C625-$C626 | |
NextLevel | $C628-$C629 | |
Money | $C62B,$C62C,$C62D | Binary-coded decimal |
BasePW | $C62F | |
BaseAC | $C630 | |
? | $C631 | written every floor to 00 |
ParalysisTicksLeft | $C632 | |
SluggishTicksLeft | $C633 | |
PoisonTicksLeft | $C634 | |
BlindnessTicksLeft | $C635 | |
DizzinessTicksLeft | $C636 | |
FoodTimer | $C63C | |
HealTimer | $C63D | |
ContinuesSpent | $C63E | Default max continues is $03 |
Equipment Slots
Variable | Location | Notes |
---|---|---|
Swords | $C900-$C907 | |
Armor | $C908-$C90F | |
Scrolls | $C910-$C917 | |
Rods | $C918-$C91F | |
Potions | $C920-$C927 | |
RingFirst | $C928-$C92F | |
Player Currently Cursed? | $C930 | |
Cursed Item | $C931 | Possibly just the item currently being used |
TODO Copy item tables here
Sound
Variable | Location | Notes |
---|---|---|
Sound handling | $DD00+ | appears to have some overall information and then the same data structure repeated for each channel |
MusicTempo | $DD02 | |
SongSelect | $DD03 | This is an index for a jump table; editing the value in memory changes the song |
Music? | $DD40 | |
Music? | $DD70 | |
Music? | $DDA0 | |
Music? | $DDD0 | |
Music? | $DE30 | |
Music? | $DE60 | |
Music? | $DD0E | |
Music? | $DD0F | |
Music? | $DE00 | |
Music? | $DD0C |
Possible Data Structures
Variable | Location | Notes |
---|---|---|
? | $C400 | Loaded into IX |
? | $C100 | Loaded into IX; turn handling? Seems to stick turn on |
? | $C3E0 | Loaded into IX; Editing causes graphic corruption |
? | $C140 | Loaded into IY |
? | $C638 | Loaded into IY |
Level Map? | $D300+ | Appears to show walls, empty floor, and items, not player or monsters? |
Fog of war? | $D700+ | Seems to change as areas are uncovered |
ROM
Text
Variable | Location | Notes |
---|---|---|
Ending text | $160F-$16F1 | |
HUD | $1990-$19BF | FL HP PW AC GOLD FOOD |
Player Levels/Classes | $19C0-$1B1F | |
Item Names | $E150-$E976 | Both revealed names and color names (eg MAUVE RING) |
Equip menu | $E9CB-$E9EF | EQUIP THROW DROP |
Use menu | $EA11-$EA35 | USE THROW DROP |
Battle messages | $EB40-$F128 | Both attack results and item use messages |
Game over menu | $1EE33-$1EE5D | OVER GOLD CONTINUE YES NO |
Game over messages | $1EEA1-$1F008 | Monster names, starvation, etc- possibly unused message, "I KILLED MYSELF"? |
Credits | $1F249-$1F848 | Lots of padding |
Table
Character Table |
---|
58= |
59=A |
5A=B |
5B=C |
5C=D |
5D=E |
5E=F |
5F=G |
60=H |
61=I |
62=J |
63=K |
64=L |
65=M |
66=N |
67=O |
68=P |
69=Q |
6A=R |
6B=S |
6C=T |
6D=U |
6E=V |
6F=W |
70=X |
71=Y |
72=Z |
74=! |
75=. |
7D=' |