mirror of https://github.com/snes9xgit/snes9x.git
Revert "APU: Seemingly obvious optimization."
This reverts commit f24ca1f8a2
.
This commit is contained in:
parent
9a44626686
commit
7df5eaeaf1
|
@ -37,27 +37,14 @@ void SMP::op_write(uint16 addr, uint8 data) {
|
||||||
apuram[addr] = data; //all writes go to RAM, even MMIO writes
|
apuram[addr] = data; //all writes go to RAM, even MMIO writes
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 SMP::op_readpc() {
|
|
||||||
tick();
|
|
||||||
if (regs.pc >= 0xffc0 && status.iplrom_enable) return iplrom[regs.pc++ & 0x3f];
|
|
||||||
return apuram[regs.pc++];
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8 SMP::op_readstack() {
|
|
||||||
tick();
|
|
||||||
return apuram[0x0100 | ++regs.sp];
|
|
||||||
}
|
|
||||||
|
|
||||||
void SMP::op_writestack(uint8 data) {
|
|
||||||
tick();
|
|
||||||
apuram[0x0100 | regs.sp--] = data;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SMP::op_step() {
|
void SMP::op_step() {
|
||||||
|
#define op_readpc() op_read(regs.pc++)
|
||||||
#define op_readdp(addr) op_read((regs.p.p << 8) + ((addr) & 0xff))
|
#define op_readdp(addr) op_read((regs.p.p << 8) + ((addr) & 0xff))
|
||||||
#define op_writedp(addr, data) op_write((regs.p.p << 8) + ((addr) & 0xff), data)
|
#define op_writedp(addr, data) op_write((regs.p.p << 8) + ((addr) & 0xff), data)
|
||||||
#define op_readaddr(addr) op_read(addr)
|
#define op_readaddr(addr) op_read(addr)
|
||||||
#define op_writeaddr(addr, data) op_write(addr, data)
|
#define op_writeaddr(addr, data) op_write(addr, data)
|
||||||
|
#define op_readstack() op_read(0x0100 | ++regs.sp)
|
||||||
|
#define op_writestack(data) op_write(0x0100 | regs.sp--, data)
|
||||||
|
|
||||||
if(opcode_cycle == 0)
|
if(opcode_cycle == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -94,9 +94,6 @@ public:
|
||||||
debugvirtual alwaysinline uint8 op_read(uint16 addr);
|
debugvirtual alwaysinline uint8 op_read(uint16 addr);
|
||||||
debugvirtual alwaysinline void op_write(uint16 addr, uint8 data);
|
debugvirtual alwaysinline void op_write(uint16 addr, uint8 data);
|
||||||
debugvirtual alwaysinline void op_step();
|
debugvirtual alwaysinline void op_step();
|
||||||
alwaysinline uint8 op_readpc();
|
|
||||||
alwaysinline uint8 op_readstack();
|
|
||||||
alwaysinline void op_writestack(uint8 data);
|
|
||||||
static const unsigned cycle_count_table[256];
|
static const unsigned cycle_count_table[256];
|
||||||
uint64 cycle_table_cpu[256];
|
uint64 cycle_table_cpu[256];
|
||||||
unsigned cycle_table_dsp[256];
|
unsigned cycle_table_dsp[256];
|
||||||
|
|
Loading…
Reference in New Issue