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.

The Battle of Olympus (NES)/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for The Battle of Olympus (NES).

Some notes on RAM usage:

$05 = stringBitWidth
$0F = currentTextBufferPosition
$10 = NPC_ID
$16 = curStringBitNum
$17 = curStringByte
$19 = numTokensToRead
$1A = textStartXOffset
$1B = currentLineNumber
$1C = charactersOnCurrentLine
$42-$43 = mainStringAddr
$4A = curHP
$D7 = curTableNum (high bit indicates numbers/symbols table, second highest indicates 6-bit encoding, second-lowest bit = ???, lowest bit indicates lowercase (set) vs. uppercase (clear), others appear to be unused)
$D8-$D9 = curStringAddr
$DA-$DD = random number generator internal state
$DF = mapLocation
$E0 = oliveCount_ones
$E1 = oliveCount_tens
$E2 = salamanderSkins
$EF = maxHP
$F0-$F4 = questStatusFlags (index is 5-bit, but $F8-$F9 are used during IRQ, so I guess the 2 highest of the 5 bits are never actually set)
$FD = makingMapperChanges; INC before writing to mapper registers, DEC after finished
$FE = PPU_Control_Register_2_settings
$FF = PPU_Control_Register_1_settings