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 wiki has recently moved; please report any issues in Discord. Pardon the dust.
Crystal Beans from Dungeon Explorer/Main game engine ROM map
Jump to navigation
Jump to search
- 020000-0021DC2 (7619) = Asm code
- 020028 = RemoveAllFuncPtr2()
- 020039 = byte index<X> AddFuncPtr(long funcPtr<$2C>)
- 020065 = ExecuteAllFuncPtr()
- 020094 = ExecuteFuncPtr()
- 020097 = RemoveFuncPtr(byte index<X>)
- 0200A1 = RemoveAllFuncPtr()
- 0200B2 = InitIORegs()
- 0201CF = lzssInitBufAndVars(word addr<X>, byte bank<A>)
- 0201ED = lzssDecomp(word destAddr<X>, byte destBank<A>, word numBytes<Y>)
- 02026A = Member:ClearCurAddressesOffset()
- 020272 = Party:SetSpriteGfxAddressesForUpload()
- 0202B7 = Party:UploadSpritesGfxToVRAM()
- 020732 = Obj:SetBankIndex?(byte objOfs<X>)
- 020806 = Map:EnterRoom?(word entranceIndex?<$DC>)
- 020924 = Map:LoadBGData()
- 020AAE = Map:LoadObjects?(byte levelIndex<$68>, byte roomIndex<$67>)
- 020B7F = ClearMapBGTilemap()
- 020B96 = SendUnkToVRAM()
- 020D2D = bool <c>, word origX<$DE>, word origY<$E2> Map:CalcPartyViewportOrigin()
- 020DFB = word <A,$E4> MultiplyBy16(byte num<A>)
- 020FD0 = Map:DrawMapBG()
- 021031 = Map:CalcAndSendBlockToVRAM(word colPixCoord<$E4>, word linePixCoord<$E6>)
- 021043 = word VRAMAddr<A> Map:CalcBlockValues(word colPixCoord<$E4>, word linePixCoord<$E6>)
- 021145 = Map:SendBlockToVRAM(word VRAMAddr<A>, word blockTmDataOfs<X>, word leftTilesPal<$38>, word rightTilesPal<$3B>)
- 02118A = Map:SetStructDataToSendToVRAM?
- 0211D6 = Map:CheckForAltBlock1()
- 02126D = Map:CheckForAltBlock2()
- 02151E = Party:InitPlayersMainWindow()
- 021555 = Party:InitPlayersSecondaryWindow()
- 021584 = CharInfoArea:UpdatePlayerWindow?()
- 0215AD = CharInfoArea:UpdateSinglePlayerSecondaryWindow()
- 0215D7 = CharInfoArea:SetTile(word tile<$DC>, byte x<$DE>, byte y<$DF>, byte pal<$E0>)
- 021620 = CharInfoArea:Init?()
- 021635 = CharInfoArea:SetHDMAValues?(byte numPartyMembers+1<A>)
- 02164C = CharInfoArea:DrawCharName(byte memberOfs<X>, byte x<$DE>, byte y<$DF>)
- 02165B = CharInfoArea:DrawSavedCharName?(byte memberOfs<X>)
- 021723 = byte orgX<$DE> CharInfoArea:GetPlayerMenuOrgX?(byte memberOfs<X>)
- 02173B = CharInfoArea:DrawChar(byte char<A>, byte col<$DE>, byte line<$DF>, byte pal<$E0>)
- 02174A = Member:DrawWhiteJarsNumber(byte memberOfs<X>)
- 021751 = Member:DrawBlackSkullsNumber(byte memberOfs<X>)
- 0217E5 = CharInfoArea:DrawLivesIcons()
- 021814 = CharInfoArea:ClearMainWindow+DrawMagicIcons()
- 021831 = CharInfoArea:ClearPlayerMainWindow()
- 021844 = CharInfoArea:ClearPlayerSecondaryWindow()
- 02185F = CharInfoArea:SetPlayerWindowTiles(word windowStruct*<$DE>, word contentTiles*<$E4>)
- 0218BE = byte <A> CharInfoArea:GetPlayerMainWindowOrgX(byte memberOfs+2<$DC>, byte NumPartyMembers<$DE>)
- 0218DA = Member:RefreshStatusWindow?(byte memberOfs<X>, byte col<$DE>, byte line<$DF>)
- 0218DD = Member:UpdateMainInfoWindow(byte memberOfs<X>)
- 0219A1 = CharInfoArea:DrawNumber(byte col<$DE>, byte line<$DF>, byte pal<$E0>, word num<$EA>)
- 021A29 = CharInfoArea:DrawMemberLevelWindow(byte memberOfs<$F6>)
- 021AA6 = CharInfoArea:DrawMemberLevelWindowCurHp()
- 021AD0 = CharInfoArea:DrawMemberStatusWindow()
- 021B53 = byte orgX<$EE>, byte orgY<$EF> CharInfoArea:GetPlayerSecondaryWindowOrg()
- 021B6F = byte orgX<$EE>, byte orgY<$EF> CharInfoArea:GetPlayerMainWindowOrg()
- 021B8B = CharInfoArea:DrawStatBar(byte len<$DC>, byte pal<$F0>, byte x<$F3>, byte y<$F4>)
- 021C83 = CharInfoArea:DrawString(byte index<A>, byte orgX<$EE>, byte orgY<$EF>)
- 021CD2 = CharInfoArea:DrawNullPasswordWindow()
- 021CE4 = CharInfoArea:DrawMemberPasswordWindow()
- 021D24 = CharInfoArea:DrawInputPasswordWindow()
- 021D5E = CharInfoArea:DrawStartMenuWindow()
- 021D81 = CharInfoArea:DrawMemberSaveMenuWindow()
- 021DC3-021DD2 (16) = Hex digits
- 021DD3-0223D4 (1538) = Unknown data, doesn't seem to be referenced
- 0223D5-0225CB (503) = Asm code
- 0223D5 = UncompressToVRAM(long srcAddr<$44>, word destAddr<$47>, word uncompLen<$4A>)
- 02242B = UncompressToCGRAM(long srcAddr<$44>, word destAddr<$47>, word uncompLen<$4A>)
- 022481 = UncompressToWRAM()
- 0224BB = TransferToVRAM(word srcAddr<$44>, word destAddr<$47>, word numWords<$4A>)
- 0224EE = TransferToCGRAM(word srcAddr<$44>, word destAddr<$47>, word numWords<$4A>)
- 022521 = ClearPlayerButtonPresses1_L()
- 022532 = ClearPlayerButtonPresses2_L()
- 022543 = byte<X> Dlg:GetCurrentPlayer_L?()
- 022553 = Dlg:PutString_L?(byte secIndex<$E3>, byte strIndex<$E2>)
- 02259E = Dlg:PrepPrintL(byte secIndex<$E3>, byte strIndex<$E2>)
- 0225B8 = Dlg:ExecPrintHandler_L()
- 0225CC-0225D9 (14) = 16-bits pointers to print handler functions
- 0225DA-0227D9 (512) = Asm code (print handlers)
- 0225DA = Dlg:HandleNormalPrinting()
- 022607 = Dlg:HandleEndOfString()
- 022638 = Dlg:HandleEndOfPage()
- 0226B0 = Dlg:HandleInsertDigits()
- 0226F5 = Dlg:HandleInsertString()
- 022786 = Dlg:CheckChar()
- 0227C6 = Dlg:PrintCharAndAdvanceCursor()
- 0227DA-022816 (61) = Dlg:SpecialCodesDef ({byte, 16-bits pointer to function} structs terminated by 0xFF)
- 022817-022992 (380) = Asm code (dialog special code handlers)
- 022817 = Dlg:Code02Handler()
- 02282C = Dlg:Code04Handler()
- 022841 = Dlg:Code06Handler()
- 02284B = Dlg:Code08Handler()
- 022860 = Dlg:Code0AHandler()
- 022867 = Dlg:Code0CHandler()
- 022888 = Dlg:Code0EHandler()
- 0228A1 = Dlg:Code10Handler()
- 0228C1 = Dlg:Code12Handler()
- 0228C8 = Dlg:Code14Handler()
- 0228F5 = Dlg:Code16Handler()
- 02291A = Dlg:Code18Handler()
- 022957 = Dlg:Code1CHandler()
- 022969 = Dlg:InsertCharName(byte charOff<A>)
- 02298A = Dlg:Code1EHandler()
- 022993-0229A6 (20) = 16-bits pointers to function used by Dlg:Code1EHandler()
- 0229A7-02352A (2948) = Asm code (dialog special code handlers)
- 022A20 = Dlg:Code20Handler()
- 022A2B = Dlg:Code22Handler()
- 022A41 = Dlg:Code24Handler()
- 022A56 = Dlg:Code26Handler()
- 022A66 = Dlg:Code28Handler()
- 022A71 = Dlg:Code2AHandler()
- 022AA0 = Dlg:LoadNewStrPtr_L()
- 022AAB = Dlg:LoadStrPtr_L(byte secIndex<$E3>, byte strIndex<$E2>)
- 022ADE = byte<A> Dlg:AskYesNo_L()
- returns 0 = Yes, 1 = No
- 022BBA = Dlg:AskNumPlayer_L()
- 022CC1 = word<A> GetButtonPressed2()()
- 022CE0 = word<A> GetButtonPressed1(byte playersToCheck<$128F>)
- 022CFF = Dlg:PrintChoiceStr()
- 022D32 = bool<A> Dlg:GetNPCGameFlagFromStr_L()
- 022D36 = bool<A> Dlg:GetNPCGameFlag_L()
- 022D46 = bool<A> Dlg:GetGameFlagFromStr_L()
- 022D4A = bool<A> Dlg:GetGameFlag_L()
- 022D5A = Dlg:SetNPCGameFlagFromStr()
- 022D5E = Dlg:SetNPCGameFlag()
- 022D71 = Dlg:ClearGameFlagFromString()
- 022D8A = Dlg:IncStrPtr(byte num<A>)
- 022EC2 = Dlg:HandleNPCDlg?(byte secIndex<$FF>, byte strIndex<$FE>)
- 023051 = Dlg:HandleNPCDlg?()
- 0233C4 = ClearArrays_L?()
- 0233FE = Dlg:OutputCharLevel_L()
- 023467 = Level:HandleSpecialActionRoom_L?()
- 02350F = Dlg:InitPrintHandler()
- 023519 = Dlg:ExecPlaceNamePrintHandler()
- 02352B-02353A (16) = 16-bits pointers to print handler functions
- 02353B-02353B (1) = Zero, used to clear window in Dlg:PlaceNameInitDlgWndGfxAndMap?()
- 02353C-023543 (8) = Dlg:GfxLineVRAMAddrs
- 023544-023A0F (1228) = Asm code (mainly print handlers)
- 023544 = Dlg:PlaceNameCursorPos0()
- 02354A = Dlg:PlaceNameInitDlgWndGfxAndMap?()
- 023611 = Dlg:PlaceNameEnterPlace?()
- 023623 = Dlg:PrintPlaceName?()
- 023647 = Dlg:PlaceNameCheckButtonPress()
- 02365A = Dlg:PutCurChar()
- 023666 = Dlg:PutChar(word char<A>, byte position<Y>)
- 023A10-023A13 (4) = Unknown data (words)
- 023A14-023A6B (88) = Asm code (1 function)
- 023A6C-023A6F (4) = Unknown data (words)
- 023A70-023E4B (988) = Asm code
- 023B5B = word <$DC> CalcMemberSpeed?(byte memberIndex<X>)
- 023B70 = Party:LoadProjectileGfx()
- 023B99 = Member:LoadProjectileGfx(byte memberOfs<X>)
- 023BF7 = Member:RestoreFullHp(byte memberOfs<X>)
- 023C06 = word <$38> Member:CalcMaxHp(byte memberOfs<X>)
- 023E4C-023F27 (220) = Unknown data (seems to organized in chunk of 11 bytes)
- 023F28-0248A1 (2426) = Asm code
- 023FE0 = HandleMemberObjInteraction(byte memberOfs<X>)
- 0247EE = HandleMemberUseProjectileAttack(byte memberOfs<X>)
- 02486D = HandleMemberUseCloseAttack(byte memberOfs<X>)
- 0248A2-0 (22) = Unknown data (byte char stat list)
- 0248B8-024A4B (404) = Asm code
- 0248B8 = HandleMemberIdleAnim(byte memberOfs<X>)
- 024A4C-024A61 (22) = Unknown data (byte char stat list)
- 024A62-025D8C (4906) = Asm code
- 024B04 = Obj:Clear_L(byte objOfs<X>)
- 024C61 = Member:MakePassword(byte memberOfs<X>)
- 024E35 = ScramblePassword?()
- 024E79 = UnscramblePassword?()
- 024EC8 = bool wrongChar<z> SetVarsFromPassword()
- 024F40 = SetVarsFromPassword?()
- 025049 = bool error<s> VerifyPasswordChecksum()
- 0250D6 = SetBitFlagL(byte bitIndex<A>)
- 0250E3 = bool <A> GetBitFlagL(byte bitIndex<A>)
- 02531C = Function to calculate and remove damage done by player?
- 02540B = byte byteOfs<Y>, byte bitMask<A> MakeBitOfsMask_L(byte bitIndex<A>)()
- 025583 = byte <A,$38> Member:CalcDamage(byte memberOfs<X>)
- 025668 = byte <A> Member:CalcAtk_L(byte memberOfs<X>)
- 025680 = byte <A> Member:CalcAgl_L(byte memberOfs<X>)
- 025688 = byte <A> Member:CalcAgl_S(byte memberOfs<X>)
- 0256A0 = byte <$4216> Member:CalcBaseSpeed?(byte memberIndex<X>)
- 0256B4 = byte <A> Member:CalcStr_L(byte memberOfs<X>)
- 0256B8 = byte <A> Member:CalcStr_S(byte memberOfs<X>)
- 0256D0 = byte <A> Member:CalcBaseHP?(byte memberOfs<X>)
- 0256EB = byte <A> Member:CalcInt_L(byte memberOfs<X>)
- 0256EF = byte <A> Member:CalcInt_S(byte memberOfs<X>)
- 025707 = byte <A> ClipCharStatTo20(byte val<A>)
- 02570E = bool <c> MemberObj:IsTouchingObj?(byte objOfs<X>, byte memberObjOfs<Y>)
- 025859 = Member:RemoveHpDamage(byte memberOfs<Y>, word damage<$38>)
- 025B67 = HandleSaveCmd?()
- 025C56 = ClearMagicAttackVRAMData()
- 025C8C = Member:UseWhiteJar(byte memberOfs<X>)
- 025CF1 = Member:UseBlackSkull(byte memberOfs<X>)
- 025D8D-025DA4 (24) = MagicEffectivenessByInt[24]
- white jars: number to divide max hp by to determine restore value
- black skulls: number of black skulls needed to activate attack
- 025DA5-025DBC (24) = Asm code (bool <s> Level:IsTownLevel?(byte unk<$AF>))
- 025DBD-025DC7 (11) = Array of town level ids (bytes)
- 025DC8-025DE9 () = Asm code (bool <s> Level:HasOverlay(byte levelIndex<$68>, byte roomIndex<$67>))
- 025DEA-025DF9 (16) = Array of room indices (words)
- 025DFA-025F0E (277) = Asm code (bool inProgress<s> HandleMagicAttack())
- 025F0F-025F16 (8) = MagicAttackGfxVRAMAddr[4] (words)
- 025F17-250F1E (8) = MagicAttackAnimFrameGfxBufPtrs?[4] (words)
- 050F1F-025FEB (205) = Asm code (bool inProgress<s> HandleMagicAttack(), second part)
- 025FEC-025FEC (1) = Zero, used in MagicAttackClearTilemapVRAM
- 025FED-02601B (47) = Asm code(MagicAttackClearTilemapVRAM())
- 02601C-0605D (64) = MagicAttackAnimFrameTilemapPtrs[32] (16-bits pointers to bank $7F)
- 02605C-0260C3 (104) = Asm code (bool inProgress<s> HandleMagicAttack(), third part)
- 0260C4-026108 (69) = MagicAttackAnims (24-bits pointers)
- 026109-0261C9 (193) = MagicAttackAnimWizard
- 0261CA-02628A (193) = MagicAttackAnimWarrior
- 02628B-02632D (163) = MagicAttackAnimFighter
- 02632E-0263CA (157) = MagicAttackAnimKage
- 0263CB-0264BB (241) = MagicAttackAnimThief
- 0264BC-026529 (110) = MagicAttackAnimBard
- 02652A-02664A (289) = MagicAttackAnimPriest
- 02664B-02677D (307) = MagicAttackAnimWitch
- 02677E-02685C (223) = MagicAttackAnimBowman
- 02685D-0268E7 (139) = MagicAttackAnimRobot
- 0268E8-026A0E (295) = MagicAttackAnimDragon
- 026A0F-026AA5 (151) = MagicAttackAnimMonk
- 026AA6-026ABE (25) = MagicAttackAnimInvalidChar
- 026ABF-026B03 (69) = MagicAttackCompTilemapPtrs? (24-bits pointers)
- 026B04-026B48 (69) = MagicAttackCompGfxPtrs (24-bits pointers)
- 026B49-0 (69) = MagicAttackCompPalettePtrs (24-bits pointers)
- 026B8E-026DF1 (612) = Asm code
- 026B8E = Map:SetPaletteAndPostProc?()
- 026C75 = Map:HandleDarkLabyrinthLighting()
- 026D77 = Map:HandleGasDamage()
- 026DF2-0270EB (762) = Unknown data
- 0270EC-02711F (52) = Asm code (1 function)
- 027120-027161 (66) = CharSpriteGfxPtrs (24-bits pointer char stat list)
- 027162-0278AA (1865) = Asm code
- 027162 = LoadHostileObjectsGfxAndPal()
- 027267 = LoadFriendlyObjectsGfxAndPal()
- 027366 = byte firstTileNum<A> Obj:LoadGfx(ObjectDef *<2C>)
- 0273D9 = LoadFriendlyObjectPalette(byte palIndex<$DC>, byte destPalIndex<$DD>)
- 02740B = LoadHostileObjectPalette(byte palIndex<$DC>)
- 027441 = UncompressPalette()
- 027468 = long <$2C> Obj:GetHandlerDefAddr?(byte objOfs<X>)
- 0274A2 = Obj:InitObjPos(byte objOfx<$F3>, byte x<$E4>, byte y<$E6>)
- 0274BE = bool <c> Map:ObjStillExists(byte subType<$F4>, byte type<$F5>)
- 027506 = bool <c> Map:NPCStillExists(byte subType<$F4>, byte type<$F5>)
- 02758F = Obj:InitMonster()
- 0275B6 = bool <c> Map:UniqueItemStillExists(byte subType<$F4>, byte type<$F5>)
- 027653 = byte byteOfs<Y>, byte bitMask<A> MakeLevelBitOfsMaskL(byte bitIndex<A>, byte levelIndex<$68>)
- 02766A = byte byteOfs<X>, byte bitMask<A> MakeBitOfsMask_L(byte bitIndex<A>)
- 0276FC = Obj:InitItem(byte objOfs<X>, byte itemType<A>)
- 0277F1 = Map:LoadObjectsGfxAndPal(long objTypes*<FD>)
- 0278AB-0278B0 (6) = Unknown data
- 0278B1-02876D (3773) = Asm code (AI?)
- 0278B1 = function to calculate and remove damage done to member?
- 027BFC = HandleVolcanoBossDlg?()
- 027E8E = HandleForestBossDlg?()
- 028044 = HandleLabyrinthBossDlg?()
- 0285C7 = HandleDaimonHiddenIslandBoss2Dlg?()
- 02876E-02877D (16) = Unknown data (16-bits pointers)
- 02877E-02B8B0 (12595) = Asm code (AI?)
- 028BCF = HandleDarkRoadBossDlg?()
- 0290E1 = HandleDemonGutsBossDlg?()
- 029478 = HandleWaterfallBossDlg?()
- 0298B2 = HandleTreeBossDlg?()
- 0298DE = HandleTreeRootRoomDlg?()
- 02A44D = HandleDesertTempleBoss1Dlg?()
- 02A957 = HandleDesertTempleBoss2Dlg?()
- 02B299 = HandleGarnetCastleBoss1Dlg?()
- 02B8B1-02EE5D (13741) = Unknown data (bytes and 16-bits pointers)