mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v064r04 release.
Fixes S-CPU debugger breakpoint issue. libsnes always returns 0 for "no memory present" now, never -1U. [Meanwhile, in bsnes-python 2010-04-20...] Won't error if there's no joypad present. Swaps menu and status bars with a toolbar. Adds keyboard support - you can use both a keyboard and joypad for input now. Won't crash if RAM doesn't exist yet. Won't crash if game uses no RAM.
This commit is contained in:
parent
42a4c1d60e
commit
44bab83d68
|
@ -6,12 +6,11 @@ void Debugger::breakpoint_test(Debugger::Breakpoint::Source source, Debugger::Br
|
|||
for(unsigned i = 0; i < Breakpoints; i++) {
|
||||
if(breakpoint[i].enabled == false) continue;
|
||||
|
||||
//shadow S-CPU WRAM addresses ($00-3f|80-bf:0000-1fff mirrors $7e:0000-1fff)
|
||||
if(source == Debugger::Breakpoint::Source::CPUBus && (
|
||||
((breakpoint[i].addr & 0x40e000) == 0x000000) || //$00-3f|80-bf:0000-1fff
|
||||
((breakpoint[i].addr & 0xffe000) == 0x7e0000) //$7e:0000-1fff
|
||||
)
|
||||
) {
|
||||
bool source_wram = ((breakpoint[i].addr & 0x40e000) == 0x000000) || ((breakpoint[i].addr & 0xffe000) == 0x7e0000);
|
||||
bool offset_wram = ((addr & 0x40e000) == 0x000000) || ((addr & 0xffe000) == 0x7e0000);
|
||||
|
||||
if(source == Debugger::Breakpoint::Source::CPUBus && source_wram && offset_wram) {
|
||||
//shadow S-CPU WRAM addresses ($00-3f|80-bf:0000-1fff mirrors $7e:0000-1fff)
|
||||
if((breakpoint[i].addr & 0x1fff) != (addr & 0x1fff)) continue;
|
||||
} else {
|
||||
if(breakpoint[i].addr != addr) continue;
|
||||
|
|
|
@ -195,19 +195,24 @@ uint8_t* snes_get_memory_data(unsigned id) {
|
|||
case SNES_MEMORY_GAME_BOY_RAM: return SNES::memory::gbram.data();
|
||||
case SNES_MEMORY_GAME_BOY_RTC: return SNES::memory::gbrtc.data();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned snes_get_memory_size(unsigned id) {
|
||||
unsigned size = 0;
|
||||
|
||||
switch(id) {
|
||||
case SNES_MEMORY_CARTRIDGE_RAM: return SNES::memory::cartram.size();
|
||||
case SNES_MEMORY_CARTRIDGE_RTC: return SNES::memory::cartrtc.size();
|
||||
case SNES_MEMORY_BSX_RAM: return SNES::memory::bsxram.size();
|
||||
case SNES_MEMORY_BSX_PRAM: return SNES::memory::bsxpram.size();
|
||||
case SNES_MEMORY_SUFAMI_TURBO_A_RAM: return SNES::memory::stAram.size();
|
||||
case SNES_MEMORY_SUFAMI_TURBO_B_RAM: return SNES::memory::stBram.size();
|
||||
case SNES_MEMORY_GAME_BOY_RAM: return SNES::memory::gbram.size();
|
||||
case SNES_MEMORY_GAME_BOY_RTC: return SNES::memory::gbrtc.size();
|
||||
case SNES_MEMORY_CARTRIDGE_RAM: size = SNES::memory::cartram.size(); break;
|
||||
case SNES_MEMORY_CARTRIDGE_RTC: size = SNES::memory::cartrtc.size(); break;
|
||||
case SNES_MEMORY_BSX_RAM: size = SNES::memory::bsxram.size(); break;
|
||||
case SNES_MEMORY_BSX_PRAM: size = SNES::memory::bsxpram.size(); break;
|
||||
case SNES_MEMORY_SUFAMI_TURBO_A_RAM: size = SNES::memory::stAram.size(); break;
|
||||
case SNES_MEMORY_SUFAMI_TURBO_B_RAM: size = SNES::memory::stBram.size(); break;
|
||||
case SNES_MEMORY_GAME_BOY_RAM: size = SNES::memory::gbram.size(); break;
|
||||
case SNES_MEMORY_GAME_BOY_RTC: size = SNES::memory::gbrtc.size(); break;
|
||||
}
|
||||
return 0;
|
||||
|
||||
if(size == -1U) size = 0;
|
||||
return size;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
static const char bsnesVersion[] = "064.03";
|
||||
static const char bsnesVersion[] = "064.04";
|
||||
static const char bsnesTitle[] = "bsnes";
|
||||
static const unsigned bsnesSerializerVersion = 10;
|
||||
|
||||
|
|
Loading…
Reference in New Issue