Cannot run on Gamecube+ViperGC even compressing the .dol with Dollz3 -v

Issue #369 invalid
Former user created an issue

Original issue 369 created by boozezela on 2014-01-05T02:38:11.000Z:

What steps will reproduce the problem?
1. Compress genplus_cube.dol with dollz3 enabling Viper Safeguard (-v and optionally -m)

dollz3 genplus_cube.dol genplus_cube-viper.dol -v -m

  1. Run the patched .dol on the GameCube

What is the expected output? What do you see instead?
Green screen. Genplus does not start.

What version of the emulator are you using (official, SVN revision,...)?
GX 1.7.4 (21/06/2013)

Comments (4)

  1. Former user Account Deleted

    Comment # 1 originally posted by ekeeke31 on 2014-01-05T09:56:56.000Z:

    I don't own a ViperGC so I cannot tell you why it won't run. My GC has a XenoGC and the DOL runs fine for me when launched from SD Load. What about the uncompressed dol which is provided ? What about older versions, when stopped it working for you ?

    From what I remember, dollz wasn't working anymore with latter genplus DOL so I stopped releasing compressed dol for gamecube some times ago. I suspect that with DOL size increasing, there is a memory conflict with DollZ decompression routine. I don't have Dollz3 sourcecode so unfortunately there is not much I can do, and the size will always grow as new emulation code is being added (Mega CD support had a significant impact).

    Similarely, I don't really know what the -v option is supposed to and why the Viper DOL booter cannot load some DOL so if you have better insight, please tell me. Either way, this is an issue with Dollz3 or the Viper or both, so good luck having support for them now :-/

  2. Former user Account Deleted

    Comment # 2 originally posted by ekeeke31 on 2014-01-05T22:45:11.000Z:

    I can confirm that dollz3 does not work with recent builds of genplus.
    When started, the dollz bootloader tries to decompress the dol data over itself, which results in a crash.

    For some reason, when building the compressed dol, dollz3.exe does not set the program entrypoint above the dol reserved memory area (code + data), which causes this. The problem seems to be caused by the fact that since a few versions, the ROM buffer (10MB) is now statically allocated, which greatly increase the data section (.bss) and, most likely, there is an hard-coded limit inside dollz3. Sadly, without the source, there is nothing I can do to fix that (and I don't want to revert to dynamic allocation for the romm buffer).

    Since the main reason you are using dollz was to get .dol files running on Viper, you might be better figuring what cause normal .dol to not work on Viper and what -v option was supposed to do so it can be replicated.

  3. Former user Account Deleted

    Comment # 3 originally posted by boozezela on 2014-01-05T23:10:00.000Z:

    Hi,

    While I am a power user and I have dealt with assembly in the past, I don't have the necessary knowledge to understand what dollz3 does to make .dol execute correctly on a Viper equipped Gamecube.

    From the scarce information available, it is my understanding that Viper uses either specific bios registers or a specific memory area that conflicts with the majority of hirom .dols.

    If I understand correctly Dollz3 relocates .dols in a different memory area to avoid such conflicts.

    Unfortunately because of Viper itself, genplus-gx cannot be loaded, regardless of the method used (usb direct load, SDload, GCOS, Ninjamod, Swiss...).

    I will ask emu_kidid, Swiss' author, if he could possibly implement a workaround in Swiss to avoid Dollz3 patching altogether.

    In relation to your question, I don't know if previous genplus-gx versions worked at all on my setup because I never tried anything older than 1.7.4. However I will download and test all versions available and I will let you know how it goes.

    Thank you.

  4. Former user Account Deleted

    Comment # 5 originally posted by boozezela on 2014-01-06T02:54:12.000Z:

    I have just finished testing all available non-SDL releases from 1.3.x to 1.7.x and I am very, very embarrassed: they ALL work out of the box without needing any patching/compression.

    My setup is the same, so the only logical explanation is that that yesterday I was so tired that I only have tried the patched/compressed .dol.

  5. Log in to comment