Far East of Eden Zero and SNES 95x GX

Discussion in 'Wii - Emulation and Homebrew' started by boomtisk, Aug 2, 2009.

Aug 2, 2009
  1. boomtisk
    OP

    Newcomer boomtisk Member

    Joined:
    Jul 17, 2009
    Messages:
    16
    Country:
    Germany
    I always wanted to give this game a go (I speak some Japanese and there's a FAQ out there so I should be OK) but I'm experiencing a bit of weirdness with the game. I know it uses some special kind of compression and used to require
    graphics packs to emulate but as far as I've read the compression has been cracked a while ago. However,
    when I tried to run it on my PC using ZSNES 1.51, the graphics wouldn't show up. I then downloaded the graphics packs
    and the game worked fine.

    My question: as I'd rather play the game on my TV, does SNES 95x GX run the game at all? When I run the ROM, I get a code dump and copying the graphics packs to the ROM directory (in a folder with a certain name) didn't seem to work. So is
    SNES 95x GX incompatible with games that require graphics packs? I've done some googling around but never really found a definite answer -- does anyone here have one? Thanks a lot in advance.
     
  2. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    what about trying with the PC version of snes9x (1.51) ? They are basically the same version with the same features, if that doesn't work on the PC version, it won't on the GX one
     
  3. boomtisk
    OP

    Newcomer boomtisk Member

    Joined:
    Jul 17, 2009
    Messages:
    16
    Country:
    Germany
    Like I wrote, it does work in ZSNES 1.51 but requires that you use the graphics packs. SNES 9X GX seems to fail to recognize them, though.

    Blah, looks like the actual name of the emulator is SNES9x GX, I always spell that wrong.
     
  4. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    ZSNES 1.51 != SNES9X 1.51

    those are both totally different emulators, hence the different names
    read snes9x official documentation to know how to use these ROMS (I know that some of them, like STar Ocean and Street Fighter Zero are decoded on-the-fly and do not need patch anymore)

    edit: it seems you can get the patches from here and the emulator pathes must be configured... I don't think snes9x-GX (the Wii version) let you do this though, from looking at the sourcecode (S9xLoadSDD1Data function), it seems the code has been ripped out

    THis is the original version from the Win32 code:

    Code:
    void S9xLoadSDD1Data ()
    {
    ÂÂÂÂchar filename [_MAX_PATH + 1];
    ÂÂÂÂchar index [_MAX_PATH + 1];
    ÂÂÂÂchar data [_MAX_PATH + 1];
    
    ÂÂÂÂSettings.SDD1Pack=FALSE;
    ÂÂÂÂMemory.FreeSDD1Data ();
    
    ÂÂÂÂif (strncmp (Memory.ROMName, TEXT("Star Ocean"), 10) == 0)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif(strlen(GUI.StarOceanPack)!=0)
    ÂÂÂÂÂÂÂÂÂÂÂÂstrcpy(filename, GUI.StarOceanPack);
    ÂÂÂÂÂÂÂÂelse Settings.SDD1Pack=TRUE;
    ÂÂÂÂ}
    ÂÂÂÂelse if(strncmp(Memory.ROMName, TEXT("STREET FIGHTER ALPHA2"), 21)==0)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif(Memory.ROMRegion==1)
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂif(strlen(GUI.SFA2NTSCPack)!=0)
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂstrcpy(filename, GUI.SFA2NTSCPack);
    ÂÂÂÂÂÂÂÂÂÂÂÂelse Settings.SDD1Pack=TRUE;
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂÂÂÂÂelse
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂif(strlen(GUI.SFA2PALPack)!=0)
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂstrcpy(filename, GUI.SFA2PALPack);
    ÂÂÂÂÂÂÂÂÂÂÂÂelse Settings.SDD1Pack=TRUE;
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}
    ÂÂÂÂelse
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂif(strlen(GUI.SFZ2Pack)!=0)
    ÂÂÂÂÂÂÂÂÂÂÂÂstrcpy(filename, GUI.SFZ2Pack);
    ÂÂÂÂÂÂÂÂelse Settings.SDD1Pack=TRUE;
    ÂÂÂÂ}
    
    ÂÂÂÂif(Settings.SDD1Pack==TRUE)
    ÂÂÂÂÂÂÂÂreturn;
    
    ÂÂÂÂstrcpy (index, filename);
    ÂÂÂÂstrcat (index, "\\SDD1GFX.IDX");
    ÂÂÂÂstrcpy (data, filename);
    ÂÂÂÂstrcat (data, "\\SDD1GFX.DAT");
    
    ÂÂÂÂFILE *fs = fopen (index, "rb");
    ÂÂÂÂint len = 0;
    
    ÂÂÂÂif (fs)
    ÂÂÂÂ{
    ÂÂÂÂÂÂÂÂ// Index is stored as a sequence of entries, each entry being
    ÂÂÂÂÂÂÂÂ// 12 bytes consisting of:
    ÂÂÂÂÂÂÂÂ// 4 byte key: (24bit address & 0xfffff * 16) | translated block
    ÂÂÂÂÂÂÂÂ// 4 byte ROM offset
    ÂÂÂÂÂÂÂÂ// 4 byte length
    ÂÂÂÂÂÂÂÂfseek (fs, 0, SEEK_END);
    ÂÂÂÂÂÂÂÂlen = ftell (fs);
    ÂÂÂÂÂÂÂÂrewind (fs);
    ÂÂÂÂÂÂÂÂMemory.SDD1Index = (uint8 *) malloc (len);
    ÂÂÂÂÂÂÂÂfread (Memory.SDD1Index, 1, len, fs);
    ÂÂÂÂÂÂÂÂfclose (fs);
    ÂÂÂÂÂÂÂÂMemory.SDD1Entries = len / 12;
    
    ÂÂÂÂÂÂÂÂif (!(fs = fopen (data, "rb")))
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂfree ((char *) Memory.SDD1Index);
    ÂÂÂÂÂÂÂÂÂÂÂÂMemory.SDD1Index = NULL;
    ÂÂÂÂÂÂÂÂÂÂÂÂMemory.SDD1Entries = 0;
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂÂÂÂÂelse
    ÂÂÂÂÂÂÂÂ{
    ÂÂÂÂÂÂÂÂÂÂÂÂfseek (fs, 0, SEEK_END);
    ÂÂÂÂÂÂÂÂÂÂÂÂlen = ftell (fs);
    ÂÂÂÂÂÂÂÂÂÂÂÂrewind (fs);
    ÂÂÂÂÂÂÂÂÂÂÂÂMemory.SDD1Data = (uint8 *) malloc (len);
    ÂÂÂÂÂÂÂÂÂÂÂÂfread (Memory.SDD1Data, 1, len, fs);
    ÂÂÂÂÂÂÂÂÂÂÂÂfclose (fs);
    
    ÂÂÂÂÂÂÂÂÂÂÂÂqsort (Memory.SDD1Index, Memory.SDD1Entries, 12,
    ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ S9xCompareSDD1IndexEntries);
    ÂÂÂÂÂÂÂÂ}
    ÂÂÂÂ}
    }

    and this is the Wii (GX) version:

    Code:
    void S9xLoadSDD1Data()
    {
    ÂÂÂÂMemory.FreeSDD1Data();
    
    ÂÂÂÂSettings.SDD1Pack = FALSE;
    
    ÂÂÂÂif (strncmp(Memory.ROMName, "Star Ocean", 10) == 0)
    ÂÂÂÂÂÂÂÂSettings.SDD1Pack = TRUE;
    
    ÂÂÂÂif (strncmp(Memory.ROMName, "STREET FIGHTER ALPHA2", 21) == 0)
    ÂÂÂÂÂÂÂÂSettings.SDD1Pack = TRUE;
    
    ÂÂÂÂreturn;
    }
     
  5. boomtisk
    OP

    Newcomer boomtisk Member

    Joined:
    Jul 17, 2009
    Messages:
    16
    Country:
    Germany
    Oh, duh. Due to the (admittedly strange) fact that both emulators are currently at 1.51 I indeed confused the two. And yes, I also tried the game in SNES9x 1.51 for PC and like you said, the emulator expects you to specify the location of the graphics packs which isn't implemented in the GX version. So, unless graphics pack support is added to the GX version I'm SOL, I guess.

    By the way, thanks a lot for even looking around in the source for me, I imagine the graphics pack support needs to be completely rewritten to work on the Cube/Wii.
     
  6. Jacobeian

    Member Jacobeian GBAtemp Advanced Maniac

    Joined:
    May 15, 2008
    Messages:
    1,879
    Country:
    Cuba
    your best option is to point this issue on the snes9x-gx googlecode issue page, this does not seems very hard to add back as it was already there before and is only a matter of loading patch files
     
  7. boomtisk
    OP

    Newcomer boomtisk Member

    Joined:
    Jul 17, 2009
    Messages:
    16
    Country:
    Germany
    Thanks, I'll try that but I somehow suspect that the function might need deeper changes to the code to work with the limited amout of RAM of the GC/Wii (which may be the reason why they took it out). Still I'll give it a shot.
     

Share This Page