summaryrefslogtreecommitdiff
path: root/plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h')
-rw-r--r--plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h b/plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h
deleted file mode 100644
index 4bae3793..00000000
--- a/plugins/gme/Game_Music_Emu-0.5.2/gme/nes_cpu_io.h
+++ /dev/null
@@ -1,83 +0,0 @@
-
-#include "Nsf_Emu.h"
-
-#if !NSF_EMU_APU_ONLY
- #include "Nes_Namco_Apu.h"
-#endif
-
-#include "blargg_source.h"
-
-int Nsf_Emu::cpu_read( nes_addr_t addr )
-{
- int result;
-
- result = cpu::low_mem [addr & 0x7FF];
- if ( !(addr & 0xE000) )
- goto exit;
-
- result = *cpu::get_code( addr );
- if ( addr > 0x7FFF )
- goto exit;
-
- result = sram [addr & (sizeof sram - 1)];
- if ( addr > 0x5FFF )
- goto exit;
-
- if ( addr == Nes_Apu::status_addr )
- return apu.read_status( cpu::time() );
-
- #if !NSF_EMU_APU_ONLY
- if ( addr == Nes_Namco_Apu::data_reg_addr && namco )
- return namco->read_data();
- #endif
-
- result = addr >> 8; // simulate open bus
-
- if ( addr != 0x2002 )
- dprintf( "Read unmapped $%.4X\n", (unsigned) addr );
-
-exit:
- return result;
-}
-
-void Nsf_Emu::cpu_write( nes_addr_t addr, int data )
-{
- {
- nes_addr_t offset = addr ^ sram_addr;
- if ( offset < sizeof sram )
- {
- sram [offset] = data;
- return;
- }
- }
- {
- int temp = addr & 0x7FF;
- if ( !(addr & 0xE000) )
- {
- cpu::low_mem [temp] = data;
- return;
- }
- }
-
- if ( unsigned (addr - Nes_Apu::start_addr) <= Nes_Apu::end_addr - Nes_Apu::start_addr )
- {
- GME_APU_HOOK( this, addr - Nes_Apu::start_addr, data );
- apu.write_register( cpu::time(), addr, data );
- return;
- }
-
- unsigned bank = addr - bank_select_addr;
- if ( bank < bank_count )
- {
- blargg_long offset = rom.mask_addr( data * (blargg_long) bank_size );
- if ( offset >= rom.size() )
- set_warning( "Invalid bank" );
- cpu::map_code( (bank + 8) * bank_size, bank_size, rom.at_addr( offset ) );
- return;
- }
-
- cpu_write_misc( addr, data );
-}
-
-#define CPU_READ( cpu, addr, time ) STATIC_CAST(Nsf_Emu&,*cpu).cpu_read( addr )
-#define CPU_WRITE( cpu, addr, data, time ) STATIC_CAST(Nsf_Emu&,*cpu).cpu_write( addr, data )