Crystal Beans From Dungeon Explorer:Core engine ROM map

From Data Crystal
Revision as of 18:07, 14 January 2012 by Neige (talk | contribs) (Added small explication at the top)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Notes

The function pointers used in a ShortSwitch() or LongSwitch() call are included in code blocks not in data blocks.

ROM map

  • 000000-007E2E (32302) = Core engine asm code
    • 000000 = IRQ handler
      • returns carry set if mouse is plugged
    • 000048 = BRK handler
    • 000060 = Party:PreInitMembers()
    • 000093 = Party:InitActiveMembers()
    • 0000B8 = Party:InitMembers()
    • 0000DC = ClearShadowRAM()
    • 000103 = CharInfoArea:InitTextTilemapVRAM()
    • 00011F = InitOAMData()
    • 0002BC = HandleMapObjectsEvents?()
    • 0002E9 = HandleEvents?()
    • 000551 = Map:ShowVisibleObjs_S(byte levelIndex<$68>, byte RoomIndex<$67>)
    • 000FB0 = HandleDemonGutsBossDlg?()
    • 001A6B = HandleItemPicked?(byte objOfs<X>)
    • 001A9A = CallPickedItemHandler(byte item<A>, byte objOfs<X>)
    • 001AAB = Obj:IntBoosterPicked()
      • This item was removed from finished game
    • 001AD2 = Obj:AtkBoosterPicked()
      • This item was removed from finished game
    • 001AF9 = Obj:BootsPicked(byte objOfs<X>)
    • 001B20 = Obj:StrBoosterPicked()
      • This item was removed from finished game
    • 001B47 = Obj:BigHeartPicked(byte objOfs<X>)
    • 001B5E = Obj:BeanPicked(byte objOfs<X>)
    • 001B8C = Obj:WhiteJarPicked(byte objOfs<X>)
    • 001BAC = Obj:BlackSkullPicked(byte objOfs<X>)
    • 001BCC = Obj:ScareEnemiesItemPicked()
      • This item was removed from finished game
    • 001BED = Obj:ConfuseEnemiesItemPicked()
      • This item was removed from finished game
    • 001C0E = Obj:MirrorPicked(byte objOfs<X>)
    • 001C28 = Obj:LittleHeartPicked(byte objOfs<X>)
    • 001C54 = Obj:CapePicked(byte objOfs<X>)
    • 001C80 = Obj:UnkEffectOnEnemiesItemPicked()
      • This item was removed from finished game
    • 001CBE = Obj:RemoveItemAndPlaySound(byte objOfx<X>)
    • 001CD8 = SetLevelFlag_S(byte bitIndex<A>, byte levelIndex<$68>)
    • 001D64 = WaitForPlayerToPickGem()
    • 001DD2 = LevelUpStat(byte statIndex<$DE>, byte memberIndex<$133A>)
    • 0021B3 = SetPalette(byte palIndex<X>)
    • 002692 = HandleThousandValleysBoss1Dlg?()
    • 002B0A = HandleThousandValleysBoss2Dlg?()
    • 0033A2 = HandleShoalTunnelBossDlg?()
    • 003A0D = HandleDaimonHiddenIslandBoss1Dlg?()
    • 0042EE = HandleDaimonHiddenIslandBoss3Dlg?()
    • 004D2A = HandleGarnetCastleBoss2DlgAfter?()
    • 005083 = HandleGarnetCastleBoss2DlgBefore?()
    • 00542C = HandleBloodstoneCastleBoss2DlgAfter?()
    • 005776 = HandleBloodstoneCastleBoss2DlgBefore?()
    • 007659 = Dlg:Code22-Subcode03Handler()
    • 0076BF = SetLevelUpRoom()
    • 007722 = Dlg:Code22-Subcode04Handler()
    • 007735 = Dlg:Code22-Subcode05Handler()
    • 007761 = Dlg:Code22-Subcode06Handler()
    • 0077D5 = ThousandValleysGasMaskCheck()
    • 0077F4 = Dlg:Code22-Subcode08Handler()
    • 007859 = Dlg:Code22-Subcode09Handler()
    • 007867 = FirstDialogWithTheKing()
    • 007885 = LabyrinthMoonlightLampCheck()
    • 0078D8 = Dlg:Code22-Subcode0BHandler()
    • 0078E9 = Dlg:Code22-Subcode0DHandler()
    • 007905 = Dlg:Code22-Subcode11Handler()
    • 00790F = Dlg:Code22-Subcode12Handler()
      • Remove 5 black skulls from current player or change string if he doesn't have enough
    • 007935 = Dlg:Code22-Subcode13Handler()
    • 007968 = HandleThiefJoiningRoomDlg()
    • 007987 = HandleRobotBrainRoomDlg()
    • 0079A9 = Dlg:Code22-Subcode19Handler()
    • 0079EA = WorldMap:SelectPlace()
    • 007B97 = Dlg:LoadChosenPlaceNamePtr()
    • 007B9F = Dlg:LoadCurPlaceNamePtr()
    • 007BF5 = byte <X> WorldMap:HandleChoosePlaceInput()
  • 007E2F-007FFF (465) = Unknown data, doesn't seem to be referenced
  • 008000-0083CB (971) = Core engine asm code
    • 008000 = ABORT handler
    • 008375 = CharInfoArea:SetFrame()
  • 0083CC-0083E5 (26) = Direct HDMA table for initial BG1HOFS data
  • 0083E6-0083EE (9) = Direct HDMA table for initial BGMODE data
  • 0083EF-0083FE (16) = Direct HDMA table for initial BG1SC data
  • 0083FF-008409 (11) = Direct HDMA table for initial BG12NBA data
  • 00840A-008419 (16) = Indirect HDMA table for TM data
  • 00841A-008429 (16) = Indirect HDMA table for CGADSUB data
  • 00842A-008436 (13) = Indirect HDMA table for BG2HOFS data
  • 008437-00881E (1000) = Core engine asm code
    • 008437 = MainNMIHandlerInitVars()
    • 0084AD = WriteOAMAndUpdateBG2ScrollData()
    • 0084EA = EnableInterrupts()
    • 0084F4 = DisableInterruptsAndStopDMA()
    • 00850B = CopyPlayerButtonsHeld()
    • 00853D = MainNMIHandler()
    • 0086DD = ValidatePadData(byte padIndex<X>)
    • 00870D = CopyPlayerButtonsHeldSleep_L(byte numFrameToSleep<A>)
    • 008711 = CopyPlayerButtonsHeldSleep_S(byte numFrameToSleep<A>)
    • 00873A = Obj:SetOAM?_S()
  • 00881F-00886E (80) = Pointers used by Obj:SetOAM?_S()
  • 00886F-0088D9 (107) = Core engine asm code (1 function)
  • 0088DA-0089CA (241) = Data used by Obj:SetOAM?_S()
  • 0089CB-0089CE (4) = SpritePosMultiplier?, used by function at 00886F
  • 0089CF-008A5D (143) = Core engine asm code
    • 0089CF = ShortSwitch(byte caseIndex<$0C35>)
      • data following the JSR are short pointers to functions
    • 0089E9 = LongSwitch(byte caseIndex<$0C35>)
      • data following the JSR are long pointers to functions
    • 008A15 = SPC:ClearLastCommandSent()
    • 008A19 = SPC:SendCommand$F2()
    • 008A2F = SPC:SendCommand?()
  • 008A5E-008A66 (9) = Unknown data, doesn't seem to be referenced
  • 008A67-008B00 (154) = Offset of the character sprite's first tile in the movement sprite graphics (77 words)
  • 008B01-008B08 (8) = VRAM addresses for the character sprite graphics
  • 008B09-008B0C (4) = Core engine asm code (Obj:SetOAM?_L())
  • 008B0D-008B2C (32) = OAM offsets?
  • 008B2D-008B34 (8) = Member:SpriteFirstTile (words)
  • 008B35-008B4A (22) = Byte char stat list for Member:SpritePalettes?
  • 008B4B-008B5A (16) = Unknown data
  • 008B5B-008BA4 (74) = Some struct list terminated by 0xFFFF related to maps
  • 008BA5-008BAC (8) = Core engine asm code (2 functions)
    • 008BA5 = Map:ShowVisibleObjs_L()
    • 008BA9 = Dlg:GetGameFlag_L()
  • 008BAD-008C0E (97) = Unknown data
  • 008C0F-008C24 (22) = Byte char stat list for CharInfoArea:CharNameTileLine
  • 008C25-008C35 (17) = Unknown data
  • 008C36-008C5D (40) = CharInfoArea:?OrgX[8][5] (indexed by [NumPlayers][MemberIndex])
  • 008C5E-008C67 (10) = CharInfoArea:LivesIconXPositions[10]
  • 008C68-008C71 (10) = CharInfoArea:MainWindowPos[5] (table of pointers to PlayerWindowPos struct list
  • 008C72-008C76 (5) = PlayerWindowPos struct list for 1 player primary info window
  • 008C77-008C7E (8) = PlayerWindowPos struct list for 2 players primary and secondary info windows
  • 008C7F-008C89 (11) = PlayerWindowPos struct list for 3 players primary and secondary info windows
  • 008C8A-008C97 (14) = PlayerWindowPos struct list for 4? players primary and secondary info windows
  • 008C98-008CA8 (17) = PlayerWindowPos struct list for 5? players primary and secondary info windows
  • 008CA9-008CAD (5) = PlayerWindowPos struct list for 1 player secondary info window
  • 008CAE-008CC6 (25) = Tile numbers composing the empty info window with magic icons
  • 008CC7-008CDF (25) = Tile numbers composing the empty info window
  • 008CE0-008CE9 (10) = CharInfoArea:SecondaryWindowPos[5] (table of pointers to PlayerWindowPos struct list
  • 008CEA-008CEE (5) = CharInfoArea:WindowLineTilemapIncrement[5]
  • 008CEF-008CF8 (10) = Players:InfoWindowStartCol[5] (table of pointers to byte arrays)
  • 008CF9-008D07 (14) = Data referenced by pointer table above
  • 008D08-008D09 (2) = PowersOfTen[2] (used to draw numbers in the info windows)
  • 008D0A-008D10 (7) = CharInfoArea:LevelWindowStringIndices[7]
  • 008D11-008D29 (25) = CharInfoArea:SecondaryWindowOrgX[5][5] (indexed by [NumPlayers][MemberIndex])
  • 008D2A-008D42 (25) = CharInfoArea:MainWindowOrgX[5][5] (indexed by [NumPlayers][MemberIndex])
  • 008D43-008D4B (8) = CharInfoArea:StatBarChars[8]
  • 008D4C-008D53 (8) = Unknown data
  • 008D54-008D91 (62) = CharInfoArea:Strings[31] (table of 16-bits pointers to CharInfoArea:Strings
  • 008D92-008E93 (258) = CharInfoArea:Strings
  • 008E94-008E98 (5) = CharInfoArea:StartMenuWindowNormalStringIndices[5]
  • 008E99-008E9D (5) = CharInfoArea:StartMenuWindowSelectedStringIndices[5]
  • 008E9E-008EA0 (3) = CharInfoArea:MenuWindowNormalStringIndices[3]
  • 008EA1-008EA3 (3) = CharInfoArea:MenuWindowSelectedStringIndices[3]
  • 008EA4-008EEC (72) = Core engine asm code (1 function)
  • 008EED-008F17 (43) = Unknown data, used by function above
  • 008F18-008FFD (229) = Core engine asm code
  • 008FFE-009003 (6) = Unknown data, doesn't seem to be referenced (two 3 bytes values?)
  • 009004-0093BB (952) = Core engine asm code
  • 0093BC-00944B (144) = Array of {word, byte} structs
  • 00944C-0094C4 (79) = Core engine asm code
  • 0094C5-0094D8 (20) = String "START OF MULTI5 BIOS"
  • 0094D9-009550 (120) = Core engine asm code (UpdateJoypads())
  • 009551-009571 (33) = String "NINTENDO SHVC MULTI5 BIOS Ver2.10"
  • 009572-009583 (18) = String "END OF MULTI5 BIOS"
  • 009584-0095A0 (29) = String "START OF MULTI5 CONNECT CHECK"
  • 0095A1-009601 (97) = Core engine asm code (ConnectCheck())
  • 009602-00962B (42) = String "NINTENDO SHVC MULTI5 CONNECT CHECK Ver1.00"
  • 00962C-009646 (27) = String "END OF MULTI5 CONNECT CHECK"
  • 009647-00972E (232) = Core engine asm code, related to dialog
    • 009668 = PringObjDlg?(byte btnsToAccept<A>, byte secIndex<$E3>, byte strIndex<$E2>)
    • 0096CE = ClearPlayerButtonPresses_S()
    • 0096D3 = Dlg:GetCurrentPlayer_S()
    • 0096D9 = Dlg:PutString_S?(byte secIndex<$E3>, byte strIndex<$E2>)
    • 0096DE = Dlg:ExecPrintHandler_S()
    • 0096E3 = Dlg:AskYesNo_S()
    • 0096E8 = Dlg:AskNumPlayer_S()
    • 0096ED = Dlg:PrepPrint_S(byte secIndex<$E3>, byte strIndex<$E2>)
    • 0096F2 = Dlg:Init/ClearWindow_S?()
    • 0096F7 = Dlg:GetNPCGameFlag_S()
    • 00970C = Dlg:LoadStrPtr_S()
    • 009716 = Dlg:OutputCharLevel_S()
    • 00971B = Level:HandleSpecialActionRoom_S?()
    • 009725 = CallSpecialRoomHandler()
  • 00972F-009738 (10) = Dlg:Digits (bytes, used to print numbers)
  • 009739-00973C (4) = Dlg:TaChi ("たち", used with table code <CMHP>)
  • 00973D-00973F (3) = Unknown data, used by Dlg:Code18Handler()
  • 009740-009781 (66) = Character names string pointer structs
  • 009782-0097CD (76) = Character names
  • 0097CE-0097E5 (24) = Unknown data, doesn't seem to be referenced (words?)
  • 0097E6-0097EC (6) = Core engine asm code (Dlg:Code22CallSubcodeHandler())
  • 0097ED-009852 (102) = Function pointers to dialog code 22 subcode handlers
  • 009853-009860 (13) = Core engine asm code
    • 009853 = Dlg:Code22SubcodeEOS()
    • 00985A = Dlg:OutputCharLevel_L()
  • 009861-009862 (2) = Pointer to Dlg:OutputCharLevel_S (used Dlg:OutputCharLevel_L)
  • 009863-009864 (2) = Dlg:YesNoWndStrPos
  • 009865-009868 (4) = Unknown data, used by Dlg:AskYes/No_L() (words)
  • 009869-00986B (3) = Pointer and length of Yes/No question string
  • 00986C-00987D (18) = Yes/No question string
  • 00987E-009883 (6) = Unknown data, used by Dlg:AskNumPlayers_L() (words)
  • 009884-009886 (3) = Pointer and length of number of players question string
  • 009887-00989E (24) = Number of players question string
  • 00989F-0098A1 (3) = Dlg:NumPlayerWndStrPos
  • 0098A2-0098A9 (8) = ByteBitMask[8]
  • 0098AA-0098FD (84) = Core engine asm code
    • 0098AA = Dlg:Init/ClearWindow_L()
  • 0098FE-00992F (50) = Unknown data (16-bits pointers to functions)
  • 009930-009945 (22) = Unknown data (byte char stat list)
  • 009946-00994F (10) = Dlg:PowersOf10 (used to display level number)
  • 009950-009969 (26) = SpecialActionRoomDefs? (list of {byte, byte, byte} structs terminated by 0xFFFF)
  • 00996A-009979 (16) = Table of function pointers to special room handlers (16-bits)
  • 00997A-009987 (14) = Unknown data (list of {byte, byte, byte} structs terminated by 0xFFFF)
  • 009988-00998F (8) = Unknown data (words, all 0)
  • 009990-009997 (8) = ByteBitMask[8]
  • 009998-0099E3 (76) = Unknown data
  • 0099E4-0099EB (8) = Unknown data (Array of 16-bits pointer to RAM, related to loading of players projectile graphics)
  • 0099EC-009B42 (343) = Core engine asm code
  • 009B43-009B5D (26) = Unknown data
  • 009B5E-009B65 (8) = InvertedDirs?[8], used in HandleMemberObjInteraction()
  • 009B66-009B71 (12) = BeanRoomCharacterIds
  • 009B72-009B85 (20) = Unknown data
  • 009B86-009BA5 (32) = WordDescBitMask[16]
  • 009BA6-009BC5 (32) = WordBitsMask[16]
  • 009BC6-009C25 (96) = Unreferenced, 3 other 16 word bit mask arrays
  • 009C2A-009C8B (98) = Unknown data
  • 009C8C-009D1B (144) = Core engine asm code (1 function)
  • 009D1C-009D25 (10) = Unknown data, used by function above
  • 009D26-009D98 (115) = Core engine asm code
    • 009D7A = ZeroPlayerStats(byte playerNum<Y>)
  • 009D99-009DD0 (56) = 16-bits pointers to player stats to clear used by ZeroPlayerStats()
  • 009DD1-009DE6 (22) = Unknown data (byte char stat list, used in HandleMemberIdleAnim)
  • 009DE7-009F02 (284) = Core engine asm code
    • 009EBE = Obj:Clear_S(byte objOfs<X>)
  • 009F03-009F12 (16) = Unknown data, used in code above
  • 009F13-009F2E (28) = Core engine asm code (byte <Y>, bool failed<c> FindFreeObjSlotInSlice?(byte sliceIndex<A>))
    • 009F2F-009F74 (70) = Obj:StartObjIndex/EndObjIndex[35] (stat pairs, slice definitions used in FindFreeObjSlotInSlice?())
  • 009F75-00A082 (270) = Core engine asm code
    • 009F75 = byte <Y>, bool failed<c> FindFreeObjSlot?(byte startObjOfs<$DC>, byte endObjOfs<$DD>)
  • 00A083-00A09F (29) = Unknown data, doesn't seem to be referenced
  • 00A0A0-00A0DF (64) = Used in making passwords (bytes)
  • 00A0E0-00A0FF (32) = Used for scrambling and unscrambling passwords (16-bits pointers)
  • 00A100-00A25D (350) = Used for scrambling and unscrambling passwords (bytes)
  • 00A25E-00A269 (12) = Used for scrambling and unscrambling passwords (16-bits pointers)
  • 00A26A-00A2EB (130) = Core engine asm code
  • 00A2EC-00A2F3 (8) = ByteBitMask[8]
  • 00A2F4-00A2F7 (4) = Core engine asm code (Obj:Clear_L(byte objOfs<X>))
  • 00A2F8-00A337 (64) = Array of {byte, byte, byte, byte} structs?
  • 00A338-00A3A7 (112) = Core engine asm code
  • 00A3A8-00A3AC (5) = ByteBitMask[5]
  • 00A3AD-00A3B0 (3) = Used in HandleSaveCmd?()
  • 00A3B0-00A3CD (30) = Array of {byte, byte} structs?
  • 00A3CE-00A3E3 (22) = Byte char stat list for characters initial agility
  • 00A3E4-00A3FA (22) = Byte char stat list for characters base speed multiplier
  • 00A3FA-00A40F (22) = Byte char stat list for unknown characters stat
  • 00A410-00A421 (22) = Byte char stat list for unknown characters stat
  • 00A426-00A43B (22) = Byte char stat list for unknown characters stat
  • 00A43C-00A451 (22) = Byte char stat list for unknown characters stat
  • 00A452-00A467 (22) = Byte char stat list for characters initial attack
  • 00A468-00A47D (22) = Byte char stat list for characters normal base damage
  • 00A47E-00A493 (22) = Byte char stat list for characters boosted base damage
  • 00A494-00A4A9 (22) = Byte char stat list for characters initial strength
  • 00A4AA-00A4BF (22) = Byte char stat list for characters base hp multiplier
  • 00A4C0-00A4D5 (22) = Byte char stat list for characters initial intelligence
  • 00A4D6-00A4EB (22) = Unreferenced byte char stat list for unknown characters stat
  • 00A4EC-00A501 (22) = Byte char stat list for unknown characters stat
  • 00A502-00A539 (56) = 16-bits pointers to RAM
  • 00A53A-00A565 (44) = Word pointer char stat list for unknown characters stat (related to loading of the characters projectile graphics)
  • 00A566-00A591 (44) = Word pointer char stat list for unknown characters stat (related to loading of the characters projectile graphics)
  • 00A592-00A59B (10) = Core engine asm code
  • 00A59C-00A5AB (16) = 16-bits pointers to object stats in RAM
  • 00A5AC-00A5C5 (26) = Unknown data
  • 00A5C6-00A5C9 (4) = Obj:InitItemDirectionFacing[4] (used in Map:ShowVisibleObjs_S)
  • 00A5CA-00A5F2 (41) = Unknown data (bytes, used in Map:ShowVisibleObjs_S)
  • 00A5F3-00A5FA (8) = ByteBitMask[8]
  • 00A5FB-00A60B (17) = Unknown data (bytes, used in Obj:InitItem())
  • 00A60C-00A61C (17) = Obj:InitItemXSizes[17]
  • 00A61D-00A62D (17) = Obj:InitItemYSizes[17]
  • 00A62E-00A7E4 (439) = Core engine asm code
  • 00A7E5-00A7F0 (12) = Unknown data (bytes, used in code above)
  • 00A7F1-00A832 (66) = Core engine asm code (1 function)
  • 00A833-00A83A (8) = Unknown data (bytes, used in code above)
  • 00A83B-00A992 (344) = Obj:Offsets1 (words, offset part of 24-bits pointers, bank comes from Obj:Banks)
  • 00A993-00AAEB (344) = Obj:Offsets2 (words, offset part of 24-bits pointers, bank comes from Obj:Banks)
  • 00AAEB-00AC42 (344) = Obj:Offsets3 (words, offset part of 24-bits pointers, bank comes from Obj:Banks)
  • 00AC43-00ACEE (172) = Obj:Banks (bytes, bank part of 24-bits pointers)
  • 00ACEF-00AEA7 (441) = Unknown data
  • 00AEA8-00AEDB (52) = Unknown data (16-bits pointers to functions)
  • 00AEDC-00AEF6 (27) = Unknown data (bytes?)
  • 00AEF7-00AF47 (81) = Unknown data (24-bits pointers)
  • 00AF48-00AF48 (1) = Unknown data
  • 00AF49-00AF96 (78) = Unknown data (24-bits pointers)
  • 00AF97-00AF9E (8) = Unknown data (object directions, used in Obj:NPC|AnimatedObj?())
  • 00AF9F-00AFBA (28) = Core engine asm code (object handlers)
  • 00AFBB-00AFC2 (8) = Unknown data ({byte, byte} structs?)
  • 00AFC3-00B276 (692) = Core engine asm code
    • 00B144 = Obj:InitSpawnPoint(byte objOfs<X>, byte x<$E4>, byte y<$E6>, byte objSubType/DlgIndex<$E8> byte objDefIdx<$EA>)
  • 00B277-00B27A (4) = Unknown data
  • 00B27B-00B28A (16) = Core engine asm code (object handlers)
  • 00B28B-00B29B (16) = Unknown data
  • 00B29B-00B2C0 (38) = Core engine asm code (object handlers)
  • 00B2C1-00B2D0 (16) = Unknown data
  • 00B2D1-00B306 (54) = Core engine asm code (object handlers)
  • 00B307-00B30A (4) = Unknown data
  • 00B30B-00B32E (36) = Core engine asm code (object handlers)
  • 00B32F-00B339 (11) = Unknown data
  • 00B33A-00B37A (65) = Core engine asm code (object handlers)
  • 00B37B-00B37E (4) = Unknown data
  • 00B37F-00B38A (12) = Core engine asm code (object handlers)
  • 00B38B-00B392 (8) = Unknown data
  • 00B393-00B3AD (27) = Core engine asm code (HandleItem?(byte objOfs<X>))
  • 00B3AE-00B3CD (32) = ItemPickedHandlers[16] (16-bits pointers to functions)
  • 00B3CE-00B3D7 (10) = Unknown data
  • 00B3D8-00B3E0 (9) = Core engine asm code (object handlers)
  • 00B3E1-00B3E1 (1) = Unknown data
  • 00B3E2-00B3EB (10) = WordBitMask[5]
  • 00B3EC-00B3F3 (8) = InitialStatsPtrs[4] (16-bits pointers)
  • 00B3F4-00B3FB (8) = GemStatsPtrs[4] (16-bits pointers to RAM)
  • 00B3FC-00B403 (8) = CurStatsPtrs?[4] (16-bits pointers to RAM)
  • 00B404-00B421 (30) = Unknown data (used in WaitForPlayerToPickGem())
  • 00B422-00B45D (60) = Unknown data (used in WaitForPlayerToPickGem())
  • 00B45E-00B5DF (386) = Unknown data
  • 00B5E0-00B681 (162) = Core engine asm code (object handlers)
  • 00B682-00B6A2 (33) = Unknown data
  • 00B6A3-00B6D1 (47) = Core engine asm code (object handlers)
  • 00B6D2-00B6D9 (8) = Unknown data
  • 00B6DA-00B741 (104) = Core engine asm code (1 function)
  • 00B742-00B750 (15) = Unknown data ({byte, byte, byte} structs?)
  • 00B751-00B7D1 (129) = Core engine asm code (object handlers)
  • 00B7D2-00B7EA (24) = Unknown data ({byte, byte, byte, byte} structs?)
  • 00B7EB-00B7F6 (12) = Core engine asm code (object handlers)
  • 00B7F7-00B80E (24) = Unknown data (16-bits pointers)
  • 00B80F-00B934 (294) = Unknown data
  • 00B935-00B9C0 (140) = Core engine asm code (object handlers)
  • 00B9C1-00B9C4 (4) = Unknown data ({byte, byte} structs?)
  • 00B9C5-00B9E0 (28) = Core engine asm code (object handlers)
  • 00B9E1-00B9F5 (21) = Unknown data
  • 00B9F6-00BA60 (107) = Core engine asm code (object handlers)
  • 00BA61-00BA9F (63) = Unknown data
  • 00BAA0-00BB36 (151) = Core engine asm code
  • 00BB37-00BB48 (18) = Unknown data
  • 00BB49-00BBD8 (144) = Core engine asm code (object handlers)
  • 00BBD9-00BBEC (20) = Unknown data
  • 00BBED-00BBF8 (12) = Core engine asm code (object handlers)
  • 00BBF9-00BC10 (24) = Unknown data
  • 00BC11-00BD30 (288) = Core engine asm code (object handlers)
  • 00BD31-00BD38 (8) = Unknown data
  • 00BD39-00BDC5 (141) = Core engine asm code (object handlers)
  • 00BDC6-00BE09 (68) = Unknown data
  • 00BE0A-00BE1C (19) = Core engine asm code (object handlers)
  • 00BE1D-00BE58 (60) = Unknown data
  • 00BE59-00BEFC (164) = Core engine asm code (object handlers)
  • 00BEFD-00BF42 (70) = Unknown data
  • 00BF43-00BF63 (33) = Core engine asm code (object handlers)
  • 00BF64-00BF9B (54) = Unknown data
  • 00BF9A-00C052 (185) = Core engine asm code (object handlers)
  • 00C053-00C07A (40) = Unknown data
  • 00C07B-00C096 (28) = Core engine asm code (object handlers)
  • 00C097-00C197 (257) = Unknown data
  • 00C198-00C215 (126) = Core engine asm code (object handlers)
  • 00C216-00C21C (6) = Unknown data
  • 00C21D-00C245 (41) = Core engine asm code (object handlers)
  • 00C246-00C27F (58) = Unknown data
  • 00C280-00C385 (262) = Core engine asm code (object handlers)
  • 00C386-00C419 (148) = Unknown data
  • 00C41A-00C4EC (211) = Core engine asm code (object handlers)
  • 00C4ED-00C50E (34) = Unknown data
  • 00C50F-00C523 (21) = Core engine asm code (object handlers)
  • 00C524-00C535 (18) = Unknown data
  • 00C536-00C54B (22) = Core engine asm code (object handlers)
  • 00C54C-00C551 (6) = Unknown data
  • 00C552-00C594 (67) = Core engine asm code (object handlers)
  • 00C595-00C672 (222) = Unknown data
  • 00C673-00C697 (37) = Core engine asm code (object handlers)
  • 00C698-00C6A2 (11) = Unknown data
  • 00C6A3-00C6B6 (20) = Core engine asm code (object handlers)
  • 00C6B7-00C707 (81) = Unknown data
  • 00C708-00C754 (77) = Core engine asm code (object handlers)
  • 00C755-00C766 (18) = Unknown data
  • 00C767-00C7B3 (77) = Core engine asm code (object handlers)
  • 00C7B4-00C7CD (26) = Unknown data
  • 00C7CE-00C811 (68) = Core engine asm code (object handlers)
  • 00C812-00C8C3 (178) = Unknown data
  • 00C8C4-00C8ED (42) = Core engine asm code (object handlers)
  • 00C8EE-00C939 (76) = Unknown data
  • 00C93A-00C943 (10) = Core engine asm code (object handlers)
  • 00C944-00C95F (28) = Unknown data
  • 00C960-00C991 (50) = Core engine asm code (object handlers)
  • 00C992-00C999 (8) = Unknown data
  • 00C99A-00C9AB (18) = Core engine asm code (object handlers)
  • 00C9AC-00C9D1 (38) = Unknown data
  • 00C9D2-00CA04 (51) = Core engine asm code (object handlers)
  • 00CA05-00CA76 (114) = Unknown data
  • 00CA77-00CAAB (53) = Core engine asm code (object handlers)
  • 00CAAC-00CAAD (2) = Unknown data
  • 00CAAE-00CAF0 (67) = Core engine asm code (object handlers)
  • 00CAF1-00CBF6 (262) = Unknown data
  • 00CBF7-00CC28 (50) = Core engine asm code (object handlers)
  • 00CC29-00CC2C (4) = Unknown data
  • 00CC2D-00CD67 (315) = Core engine asm code (object handlers)
  • 00CD68-00CDC7 (96) = Unknown data
  • 00CDC8-00CE1C (85) = Core engine asm code (object handlers)
  • 00CE1D-00CE2B (15) = Unknown data
  • 00CE2C-00CF0C (225) = Core engine asm code (object handlers)
  • 00CF0D-00CF14 (8) = Unknown data
  • 00CF15-00CF5B (71) = Core engine asm code (object handlers)
  • 00CF5C-00CFBB (96) = Unknown data
  • 00CFBC-00D17B (448) = Core engine asm code
  • 00D17C-00D183 (8) = Unknown data
  • 00D184-00D1C7 (68) = Core engine asm code
  • 00D1C8-00D1D7 (16) = Unknown data
  • 00D1D8-00D244 (109) = Core engine asm code
  • 00D245-00D24C (8) = Unknown data
  • 00D24D-00D27B (47) = Core engine asm code
  • 00D27C-00D27F (4) = Unknown data
  • 00D280-00D2B2 (51) = Core engine asm code
  • 00D2B3-00D2B6 (4) = Unknown data
  • 00D2B7-00D2E2 (43) = Core engine asm code
  • 00D2E2-00D301 (32) = Unknown data
  • 00D302-00D3FF (254) = Core engine asm code
  • 00D400-00D413 (20) = Unknown data
  • 00D414-00D669 (598) = Core engine asm code
  • 00D66A-00D6AF (70) = Unknown data (16-bits pointers)
  • 00D6B0-00D818 (361) = Unknown data
  • 00D819-00D85A (66) = Unknown data (16-bits pointers)
  • 00D85B-00D9C3 (361) = Unknown data
  • 00D9C4-00DC29 (614) = Core engine asm code
  • 00DC2A-00DC61 (56) = Unknown data
  • 00DC62-00DDA9 (328) = Core engine asm code
  • 00DDAA-00DDE9 (64) = Unknown data (16-bits pointers)
  • 00DDEA-00DEE1 (248) = Unknown data
  • 00DEE2-00E072 (401) = Core engine asm code
  • 00E073-00E08A (24) = Unknown data
  • 00E08B-00E23E (436) = Core engine asm code
  • 00E23F-00E25A (28) = Unknown data
  • 00E25B-00E32B (209) = Core engine asm code
  • 00E32C-00E32F (4) = Unknown data
  • 00E330-00E3A0 (113) = Core engine asm code
  • 00E3A1-00E3AC (12) = Unknown data (16-bits pointers)
  • 00E3AD-00E3EB (63) = Unknown data
  • 00E3EC-00E43C (81) = Core engine asm code
  • 00E43D-00E43E (2) = Unknown data
  • 00E43F-00E48E (80) = Core engine asm code
  • 00E48F-00E490 (2) = Unknown data
  • 00E491-00E6AB (539) = Core engine asm code
  • 00E6AC-00E70B (96) = Unknown data (16-bits pointers)
  • 00E70C-00E804 (249) = Unknown data
  • 00E805-00E88B (135) = Core engine asm code
  • 00E88C-00E88D (2) = Unknown data
  • 00E88E-00E8C3 (54) = Core engine asm code
  • 00E8C4-00E8CA (7) = Unknown data
  • 00E8CB-00EA40 (374) = Core engine asm code
  • 00EA41-00EA48 (8) = Unknown data (16-bits pointers)
  • 00EA49-00EA6C (36) = Unknown data
  • 00EA6D-00EB53 (231) = Core engine asm code
  • 00EB54-00EB5E (11) = Unknown data, doesn't seem to be referenced
  • 00EB5F-00ED56 (504) = Core engine asm code
  • 00ED57-00ED66 (16) = Unknown data
  • 00ED67-00EFD2 (620) = Core engine asm code
  • 00EFD3-00F072 (160) = Unknown data
  • 00F073-00F0A8 (54) = Core engine asm code
  • 00F0A9-00F0AC (4) = Unknown data
  • 00F0AD-00F118 (108) = Core engine asm code
  • 00F119-00F120 (8) = Unknown data
  • 00F121-00F24B (299) = Core engine asm code
  • 00F24C-00F2CB (128) = Unknown data, doesn't seem to be referenced
  • 00F2CC-00F479 (430) = Core engine asm code
  • 00F47A-00F499 (32) = Unknown data (16-bits pointers)
  • 00F49A-00F559 (192) = Unknown data
  • 00F55A-00F5D5 (124) = Core engine asm code
  • 00F5D6-00F605 (48) = Unknown data
  • 00F606-00F63F (58) = Core engine asm code
  • 00F640-00F643 (4) = Unknown data
  • 00F644-00F685 (66) = Core engine asm code
  • 00F686-00F689 (4) = Unknown data
  • 00F68A-00F839 (432) = Core engine asm code
  • 00F83A-00F871 (56) = Unknown data
  • 00F872-00F8BF (78) = Core engine asm code
  • 00F8C0-00F8CB (12) = Unknown data
  • 00F8CC-00F90C (65) = Core engine asm code (SetBeanRoomCharacters())
  • 00F90D-00F922 (22) = CharObjIdxInBeanRoom? (byte char stat list)
  • 00F923-00FBEC (714) = Core engine asm code
    • 00F923 = ChooseInitialPlayers()
    • 00FA31 = HandleChooseCharInput()
    • 00FA56-00FA65 (16) = ChooseInitialCharPrevDir/NextDir[8] (stat pairs, embedded in HandleChooseCharInput())
    • 00FB26 = HandleChooseStartCmdInput()
    • 00FBD5 = LoadPasswordTextFromSaveFile()
  • 00FBED-00FBEF (3) = PasswordSramOfs[3]
  • 00FBF0-00FCC7 (216) = Core engine asm code
    • 00FBF0 = HandlePasswordCmdInput()
    • 00FC6C = HandlePasswordInput()
  • 00FCC8-00FCF8 (49) = PasswordOfsFromTilePos[7][7]
  • 00FCF9-00FD4B (83) = Core engine asm code (SetInitialCharChosen?())
  • 00FD4C-00FD51 (6) = InitialCharIdsOfs (words)
  • 00FD52-00FD69 (24) = BeanRoomCharIds (words containing character ids)
  • 00FD6A-00FD79 (16) = Core engine asm code (UpdatePlayerPadConnections?())
  • 00FD7A-00FDD0 (87) = Unknown data
  • 00FDD1-00FDD4 (4) = Core engine asm code (Dlg:Code22-Subcode07Handler)
  • 00FDD5-00FDE0 (12) = Unknown data, doesn't seem to be referenced
  • 00FDE1-00FDFB (27) = Core engine asm code (Dlg:Code22-Subcode15Handler)
  • 00FDFC-00FE09 (14) = Unknown data, doesn't seem to be referenced
  • 00FE0A-00FE37 (46) = Unknown data, related to the place selection screen
  • 00FE38-00FE4A (19) = String "DUNGEON EXPLORER 2\0", doesn't seem to be referenced
  • 00FE4B-00FE5B (17) = String "SOUND CHECK MODE\0", doesn't seem to be referenced
  • 00FE5C-00FE6D (18) = "String BGM SE \0", doesn't seem to be referenced
  • 00FE6E-00FF48 (219) = Unknown data, doesn't seem to be referenced
  • 00FF49-00FF5B (19) = String "DUNGEON EXPLORER 2\0", doesn't seem to be referenced
  • 00FF5C-00FF6C (17) = String "SOUND CHECK MODE\0", doesn't seem to be referenced
  • 00FF6D-00FF7E (18) = "String BGM SE \0", doesn't seem to be referenced
  • 00FF7F-00FFAF (49) = Unknown data, doesn't seem to be referenced
  • 00FFB0-00FFDF (48) = Cartridge header
  • 00FFE0-00FFE5 (6) = Core engine asm code (RESET handler)
  • 00FFE6-00FFFF (26) = Interrupt vector