Crystal Beans from Dungeon Explorer/Core engine ROM map

From Data Crystal
Jump to navigation Jump to search

This is a sub-page of Crystal Beans from Dungeon Explorer.

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