greyes5 / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
1 stars 1 forks source link

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

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
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

2. 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)

Original issue reported on code.google.com by boozez...@gmail.com on 5 Jan 2014 at 2:38

GoogleCodeExporter commented 8 years ago
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 :-/

Original comment by ekeeke31@gmail.com on 5 Jan 2014 at 9:56

GoogleCodeExporter commented 8 years ago
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.

Original comment by ekeeke31@gmail.com on 5 Jan 2014 at 10:45

GoogleCodeExporter commented 8 years ago
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.

Original comment by boozez...@gmail.com on 5 Jan 2014 at 11:10

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
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.

Original comment by boozez...@gmail.com on 6 Jan 2014 at 2:54