Update to v070r17 release.

byuu says:

- fixes DSP-1 status register for "Ace wo Nerae!"
- fixes IRQ masking for "World Heroes II"
- fixes compilation for the Qt port's debugger
This commit is contained in:
Tim Allen 2010-10-18 21:15:33 +11:00
parent 9e53c51b58
commit 4016ae1d43
6 changed files with 14 additions and 12 deletions

View File

@ -17,9 +17,11 @@ Dsp1::Dsp1()
uint8 Dsp1::getSr() uint8 Dsp1::getSr()
{ {
mSrLowByteAccess = ~mSrLowByteAccess; mSrLowByteAccess = ~mSrLowByteAccess;
if (mSrLowByteAccess) //Overload: only high 8-bits are accessible externally
return 0; //this is required for "Ace wo Nerae!"
else // if (mSrLowByteAccess)
// return 0;
// else
return mSr; return mSr;
} }

View File

@ -100,8 +100,8 @@ private:
uint8 wrdivb; uint8 wrdivb;
//$4207-$420a //$4207-$420a
uint10 hirq_pos; uint9 hirq_pos;
uint10 virq_pos; uint9 virq_pos;
//$420d //$420d
unsigned rom_speed; unsigned rom_speed;

View File

@ -1,7 +1,7 @@
namespace SNES { namespace SNES {
namespace Info { namespace Info {
static const char Name[] = "bsnes"; static const char Name[] = "bsnes";
static const char Version[] = "070.16"; static const char Version[] = "070.17";
static const unsigned SerializerVersion = 14; static const unsigned SerializerVersion = 14;
} }
} }

View File

@ -132,7 +132,7 @@ void Debugger::modifySystemState(unsigned state) {
file fp; file fp;
if(state == Utility::LoadCartridge) { if(state == Utility::LoadCartridge) {
if(config().debugger.cacheUsageToDisk && fp.open(usagefile, file::mode_read)) { if(config().debugger.cacheUsageToDisk && fp.open(usagefile, file::mode::read)) {
fp.read(SNES::cpu.usage, 1 << 24); fp.read(SNES::cpu.usage, 1 << 24);
fp.read(SNES::smp.usage, 1 << 16); fp.read(SNES::smp.usage, 1 << 16);
fp.close(); fp.close();
@ -143,7 +143,7 @@ void Debugger::modifySystemState(unsigned state) {
} }
if(state == Utility::UnloadCartridge) { if(state == Utility::UnloadCartridge) {
if(config().debugger.cacheUsageToDisk && fp.open(usagefile, file::mode_write)) { if(config().debugger.cacheUsageToDisk && fp.open(usagefile, file::mode::write)) {
fp.write(SNES::cpu.usage, 1 << 24); fp.write(SNES::cpu.usage, 1 << 24);
fp.write(SNES::smp.usage, 1 << 16); fp.write(SNES::smp.usage, 1 << 16);
fp.close(); fp.close();

View File

@ -141,7 +141,7 @@ void MemoryEditor::importMemory() {
void MemoryEditor::exportMemory(SNES::Memory &memory, const string &filename) const { void MemoryEditor::exportMemory(SNES::Memory &memory, const string &filename) const {
file fp; file fp;
if(fp.open(filename, file::mode_write)) { if(fp.open(filename, file::mode::write)) {
for(unsigned i = 0; i < memory.size(); i++) fp.write(memory.read(i)); for(unsigned i = 0; i < memory.size(); i++) fp.write(memory.read(i));
fp.close(); fp.close();
} }
@ -149,7 +149,7 @@ void MemoryEditor::exportMemory(SNES::Memory &memory, const string &filename) co
void MemoryEditor::importMemory(SNES::Memory &memory, const string &filename) const { void MemoryEditor::importMemory(SNES::Memory &memory, const string &filename) const {
file fp; file fp;
if(fp.open(filename, file::mode_read)) { if(fp.open(filename, file::mode::read)) {
unsigned filesize = fp.size(); unsigned filesize = fp.size();
for(unsigned i = 0; i < memory.size() && i < filesize; i++) memory.write(i, fp.read()); for(unsigned i = 0; i < memory.size() && i < filesize; i++) memory.write(i, fp.read());
fp.close(); fp.close();

View File

@ -29,7 +29,7 @@ void Tracer::setCpuTraceState(int state) {
traceCpu = (state == Qt::Checked); traceCpu = (state == Qt::Checked);
if(traceCpu && !tracefile.open()) { if(traceCpu && !tracefile.open()) {
tracefile.open(string() << config().path.data << "trace.log", file::mode_write); tracefile.open(string() << config().path.data << "trace.log", file::mode::write);
} else if(!traceCpu && !traceSmp && tracefile.open()) { } else if(!traceCpu && !traceSmp && tracefile.open()) {
tracefile.close(); tracefile.close();
} }
@ -39,7 +39,7 @@ void Tracer::setSmpTraceState(int state) {
traceSmp = (state == Qt::Checked); traceSmp = (state == Qt::Checked);
if(traceSmp && !tracefile.open()) { if(traceSmp && !tracefile.open()) {
tracefile.open(string() << config().path.data << "trace.log", file::mode_write); tracefile.open(string() << config().path.data << "trace.log", file::mode::write);
} else if(!traceCpu && !traceSmp && tracefile.open()) { } else if(!traceCpu && !traceSmp && tracefile.open()) {
tracefile.close(); tracefile.close();
} }