Well, everything seems to work nicely! The sound is obviously a billion times better, and the preferences appear to be working properly. Thank you for the detailed explanations of the bugfixes, they help me to understand what's going on a bit better. It makes perfect sense that an endian-ness issue would cause what I was hearing.
No problem. Its always nice to have some idea of how things got fixed.
Occasionally I'm seeing quirky behavior here or there -- I tried pausing during a MSX port (Maze of Galious), and it crashed the game, after which the controls mysteriously became unresponsive when I launched another game (Air Rescue). But a quick quit-and-relaunch fixed that.
Odd... No idea there at the moment.
BTW, do you think the SMS pause button might be mapped to something more comfortable, like the Return key? Or am I overlooking some way to reconfigure it? It gets used for gameplay in a few games like Streets of Rage, so it should probably have a one-key input option.
It gets used for gameplay? Ugh... Leave it to these companies to do something so silly as using a button that is ON THE CONSOLE ITSELF in the playing of a game...
I'd love to see a release soon, but at least I can "roll my own" for now (and once again, thanks for continuing to support PPC and Tiger). OTOH, it'd be great to have a pre-built Dreamcast binary package...
Then stop finding bugs.
Seriously though, I'm waiting on a few different things now that are blocking before a release.
Oh, one more thing: I'm still getting this bug with Smurfs 2
, despite the fact that it's marked as closed. I have three different SMS dumps and a GG dump, and every version of the game crashes, so I don't think it's just me. The crash happens even with a fresh prefs file, and with or without CrabEmu BIOS enabled.
I think the problem may be connected to the fact that CrabEmu is absolutely insisting on creating a SRAM file for the game (at least for the SMS versions), despite the fact that AFAIK it doesn't use one (it has a password system). Any ideas? BTW the SRAM file ends in .ces, is 32K, and is entirely made up of $00, and it's created as soon as I close the window.
Well, being that it doesn't seem to happen on my normal test-passes, I'm going to take a stab in the dark and assume its an endianness-related bug again. I'll have to look on my Mac Mini later on.
EDIT: One more very minor problem: in Preferences > Settings, the checkboxes for enabling CrabEmu BIOS don't work properly. The SMS BIOS checkbox triggers the GG one, or vice versa.
Well that's a silly mistake, isn't it. Should be fixed when I do the next commit. Had a few things wired wrong in Interface Builder, apparently.
EDIT #2: Another oddity I discovered: if you disable a PSG channel, and then open a different game, the settings are ignored -- the channel plays, IOW -- and you have to re-enable the channel's menu item before you can disable it. I can file a bug report for these if it'd be more helpful to do things that way.
Certain things get ignored sometimes... Like that. Remnants of how old a lot of the code of CrabEmu is (I originally started on CrabEmu when I was a freshman at the University I'm at... I'm now a 3rd year graduate student at the same university).
Now that you pointed it out, I'll fix it.
That said, keeping the bugs here makes me more likely to notice them. Quite often, I don't see things on the SF.net tracker because it decides not to email me when someone adds a bug or whatnot. I should actually see and notice things here, on the other hand.
EDIT: Fixed the BIOS checkboxes and the enabled/disabled state of the SN76489 channels.
EDIT 2: I've at least partially fixed the Smurfs issue now. As expected, it was an endianness-related bug (in CrabZ80, when dealing with certain DD- and FD-prefixed opcodes that only operate on half of the IX or IY register). There's still something else broken with that game that is messing with sound (at least on Tiger on PPC -- it works fine on Lion on x86).
EDIT 3: Does sound work at all for you on Tiger on PPC? On the machine I'm testing it on, it doesn't seem to work at all for me, regardless of what game I try (or rather, at least with the two games I have tried)... I just get annoying screeching and other such fun things.
EDIT 4: Never mind, fixed that issue now too.