Post Reply 
 
Thread Rating:
  • 9 Votes - 4.11 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Final Fantasy Tactics: The War of the Lions
07-24-2013, 03:33 PM
Post: #178
RE: Final Fantasy Tactics: The War of the Lions
(07-23-2013 02:31 PM)combusken Wrote:  It's not Argath's fault LMAO Big Grin

I think there are something that can't be interpreted by the emulator and misinterpreted as invalid addresses, BUT why if you wait it for 5-10 minutes, it will eventually load? Without processing those addresses? Then, what are those addresses for?

Maybe, it has something to do with the TODOs in Core/MemMapFunctions.cpp? Because the errors is being thrown from there:

Code:
template <typename T>
inline void ReadFromHardware(T &var, const u32 address)
{
    // TODO: Figure out the fastest order of tests for both read and write (they are probably different).
    // TODO: Make sure this represents the mirrors in a correct way.

    // Could just do a base-relative read, too.... TODO

    if ((address & 0x3E000000) == 0x08000000)
    {
        var = *((const T*)&m_pRAM[address & RAM_MASK]);
    }
    else if ((address & 0x3F800000) == 0x04000000)
    {
        var = *((const T*)&m_pVRAM[address & VRAM_MASK]);
    }
    else if ((address & 0xBFFF0000) == 0x00010000)
    {
        // Scratchpad
        var = *((const T*)&m_pScratchPad[address & SCRATCHPAD_MASK]);
    }
    else
    {
        if (g_Config.bJit) {
            WARN_LOG(MEMMAP, "ReadFromHardware: Invalid address %08x", address);
        } else {
            WARN_LOG(MEMMAP, "ReadFromHardware: Invalid address %08x PC %08x LR %08x", address, currentMIPS->pc, currentMIPS->r[MIPS_REG_RA]);
        }
        if (!g_Config.bIgnoreBadMemAccess) {
            Core_EnableStepping(true);
            host->SetDebugMode(true);
        }
        var = 0;
    }
}

I'm not really good at programming, so i'm not trying to be smart, just curious.

My programming skills are weak. (at best) However, I can tell you that the "TODO" lines are just comments. Based on the code I see here... I'd say the game is looking for some sort of information that should be stored in a PSPs RAM. Only this isn't a PSP, it's an emulator. So, whatever is supposed to be there, isn't. In short, there's probably some additional code that needs to be added to deal with whatever the game is calling for. Of course, it would help to know what it is calling and why.
(I know this is just stating the obvious, but that's all I'm seeing.)

...but... "Why does it load after 5-10 minutes?" ... I don't know. I'm guessing the game is performing some sort of check. It must not be vital. (Because it eventually says, "Whatevs!") So... copy protection perhaps?

The situation with Lion War reminds me of Chrono Trigger DS. The game plays fine until you time-travel for the 1st time. The game then gets trapped in an infinite loop. I'm told this was a copy-protection measure. You can fix this with a simple cheat code. I wonder if there if there is enough similarity there to be significant.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Final Fantasy Tactics: The War of the Lions - Agamemnon - 07-24-2013 03:33 PM
Holy at Tchigolith Fenlands - R.MoLL - 12-26-2013, 12:21 PM
Final Fantasy tatics - bladirangu - 01-12-2013, 02:27 AM
problem - smokenzombie - 07-19-2014, 12:28 AM
Applying Patches - Mauriciofsantana - 10-09-2014, 06:19 AM
RE: Applying Patches - vnctdj - 10-09-2014, 03:17 PM
Patch Final Fantasy Tactics - kturcotte - 02-23-2015, 01:09 AM
Final Fantasy Tactics 15 FPS - wuusup - 03-27-2015, 05:34 PM
final fantasy war of lions - hi3241 - 06-06-2017, 04:23 AM

Forum Jump: