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.

Crystal Beans from Dungeon Explorer/Main game engine ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
mNo edit summary
 
(One intermediate revision by one other user not shown)
(No difference)

Latest revision as of 21:03, 28 January 2024

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

  • 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) = 24-bits pointers to compressed magic attack tilemap
  • 026B04-026B48 (69) = 24-bits pointers to compressed magic attack graphics
  • 026B49-026B8D (69) = 24-bits pointers to compressed magic attack palette
  • 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)