Jacobeian said:
Thank you Wiimpathy, I was sure someone would finally pick this one up.
Could you quickly explain what you did to fix the games crashing (I am too lazy to go through sourcecode right now) ?
I will try to look at the mp3 issue when I have some time (I was quite sure this worked with the release I made, though I'm not 100% sure anymore now)
What is the other issue ? You mention a "video issue" but doesn't give much more details.
Well, thanks to you first since you gave the motivation to do it . I managed to fix all the annoying black screens and the mp3 music (your first version was causing some black screens too due to the mp3s).
To correct that I changed the video_draw_screen1() function in video.c by comparing with other emus and testing.
- For video
From this :
if ( sx >= 0x1F0 ) /* x>496 => x-=512 */
sx -= 0x200;
to this :
if ( sx >= 512 ) /* x>496 => x-=512 */
sx -= 512;
This seems to solve black screens and some grfx not showing.
- For MP3 (causing immediate video crash too)
In cdaudio.c :
Changing the hexa value to decimal in #define MAD_INPUT_BUFFER (0x2000) fixed mp3 decoding.
from
#define MAD_INPUT_BUFFER (0x2000)
#endif
#define MAD_OUTPUT_BUFFER (MAD_INPUT_BUFFER * 4)
to
#define MAD_INPUT_BUFFER (2*MAD_OUTPUT_BUFFER)
#endif
#define MAD_OUTPUT_BUFFER (1024*4)
That's the major changes I can think of but there are others. I'm really happy now we can have a working neogeoCD emu (was waiting for gxgeo, we'll see).
Some of the big games work rather well like Last Blade 2.
Regarding the graphical bugs, I was refering to some flickering sprites and bad display on some games like Super sidekicks 3 that mix the "backgrounds". But these bugs might be inherent to the previous emu.
Well, anyway, enough bla bla, I posted this version on wiibrew, I think it's worth it this time.
NeoCD-Wii-0.4