coopatruth / genplus-gx

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

Gamecube resets when loading CD game with too many ogg files #351

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
All games with MORE than 18 tracks (1 data track + 17 OGG audio tracks) seem to 
cause the emulator to crash. They run fine with the audio tracks in WAVE format 
though.

What is the expected output? What do you see instead?
System reboots.

What version of the emulator are you using (official, SVN revision,...)?
1.7.4

Please provide any additional information below (Emulator settings, Console
setting,...)
- unmodded Gamecube (with SD Media Launcher)
- no special settings

Original issue reported on code.google.com by streeker...@gmail.com on 13 Jul 2013 at 12:32

GoogleCodeExporter commented 9 years ago
unfortunately,  gamecube has very limited RAM (only 24MB) and the 
emulator+gui+libogc already takes much of that space, leaving not much for 
dynamic memory allocation which tremor library (ogg vorbis decoder) needs when 
opening tracks... 

i could try to only open ogg file when required to be played as audio track 
(one file at time) although it might be less efficient

i admit i do not test the emulator on my gamecube anymore so i don't really 
know how mega cd emulation runs on it and would not be aware about issues like 
this

do you confirm it happens with EVERY games having more than 17 audio tracks ? 
isn't it just a problem with one game having track 19 corrupted ?

Original comment by ekeeke31@gmail.com on 13 Jul 2013 at 1:09

GoogleCodeExporter commented 9 years ago
It's definitely a general problem with games that have many audio tracks, not 
just one corrupted game. Furthermore, when I try a game that has (next to) max. 
possible audio tracks, I'm only able to start this one game - since the 
emulator crashes every time I try to switch over to another game (giving me a 
black screen with several lines of exception code). 

Original comment by streeker...@gmail.com on 14 Jul 2013 at 9:40

GoogleCodeExporter commented 9 years ago
ok, i was able to confirm this memory issue on my gamecube (took some time to 
retrieve that damn sd gekko adapter and sdload bootable disc but it still works 
and brings some memories back ^^)

Anyway, i added a compiler defined option for the core to disallow multiple 
opened ogg file at the same time in order to save memory usage on platforms 
with limited ram, files are now closed and reopened when changing audio tracks 
and it seems to work fine without noticeable speed penalty

On that subject, i was quite surprised to see that mega cd emulation is running 
fullspeed on the gamecube cpu, the only bottleneck being slow SD access speed 
through the Memory Card slot adapter but it is expected. DVD loading does not 
work anymore however, it is apparently a problem within libogc DVD 
implementation, i might have to switch back to DVD commands from the emulator 
itself like it was before...

Original comment by ekeeke31@gmail.com on 14 Jul 2013 at 11:24

GoogleCodeExporter commented 9 years ago
Fixed in r813

Original comment by ekeeke31@gmail.com on 14 Jul 2013 at 4:15