Update to bsnes v016r38 release.

Ok, this WIP rewrites the input code and modifies the PAL clock speed.
Fairly major changes. Ideally, this will wipe out four bugs without
causing any new ones since wip37.

             Bug fixes :
             Earthworm Jim 2 (E) - adjusted PAL CPU clock speed.
Please test for *new* sound problems in PAL games
             La Wares (J) + Galivan 2 (J) - no longer return 0 when
auto joypad is off for polling $4218-$421f
             Super Conflict (J) - added anomie's new OAM RTO findings
to fix title screen

 The input code was almost completely rewritten to simulate real
hardware more. As such, it's very possible there are new input bugs.

             Ok, so then
byuu.cinnamonpirate.com/files/bsnes_v016_wip38.zip
 Please only download if you intend to test games and report feedback.
This version is slower than normal, lacks ZIP+JMA loading, and has the
debugger enabled (that is only useful to me, it lacks a functional
user interface) which slows down emulation even more. eg you're better
off with v0.016 official if you just want to run games.
             As always, please don't post this link anywhere else, or
I will be forced to remove the file to conserve bandwidth.

 If anyone posts bugs that hasn't tested against wip37, can I please
have someone with wip37 verify/deny the bug presence in wip37 as well
as in 016 official? wip37 isn't on my website because I don't have a
lot of web space to spare.

             Thank you to everyone in advance for helping.
This commit is contained in:
byuu
2006-07-27 23:56:42 +00:00
parent e492268025
commit 6010bffe5d
152 changed files with 4239 additions and 5758 deletions

View File

@@ -266,12 +266,12 @@ void Cheat::disable(uint32 n) {
* cheat file manipulation routines
*****/
bool Cheat::load(Reader *rf) {
if(!rf->ready())return false;
bool Cheat::load(Reader &rf) {
if(!rf.ready())return false;
uint8 *raw_data = rf->read();
uint8 *raw_data = rf.read();
string data;
raw_data[rf->size()] = 0;
raw_data[rf.size()] = 0;
strcpy(data, (char*)raw_data);
SafeFree(raw_data);
replace(data, "\r\n", "\n");
@@ -297,8 +297,8 @@ string line;
return true;
}
bool Cheat::save(Writer *wf) {
if(!wf->ready())return false;
bool Cheat::save(Writer &wf) {
if(!wf.ready())return false;
string data;
char t[4096];
@@ -308,7 +308,7 @@ char t[4096];
strcat(data, t);
}
wf->write((uint8*)strptr(data), strlen(data));
wf.write((uint8*)strptr(data), strlen(data));
return true;
}