mirror of
https://github.com/libretro/bsnes-libretro-cplusplus98.git
synced 2025-04-12 23:20:49 +00:00
Merge pull request #17 from hizzlekizzle/master
add perf core SMP fix for Dark Law
This commit is contained in:
commit
09dbe5216a
@ -33,8 +33,8 @@ void SMP::op_write(uint16 addr, uint8 data) {
|
||||
|
||||
void SMP::op_step() {
|
||||
#define op_readpc() op_read(regs.pc++)
|
||||
#define op_readdp(addr) op_read((regs.p.p << 8) + addr)
|
||||
#define op_writedp(addr, data) op_write((regs.p.p << 8) + addr, data)
|
||||
#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_readaddr(addr) op_read(addr)
|
||||
#define op_writeaddr(addr, data) op_write(addr, data)
|
||||
#define op_readstack() op_read(0x0100 | ++regs.sp)
|
||||
|
@ -274,6 +274,15 @@ void DSP::power() {
|
||||
voice[i].t_envx_out = 0;
|
||||
voice[i].hidden_env = 0;
|
||||
}
|
||||
|
||||
//note: memory is pseudo-random at startup; but internal state is less so
|
||||
//exact differences are unknown. need to separate memory from internal state
|
||||
for(unsigned r = 0; r < 0x80; r++) {
|
||||
state.regs[r] = 0x00;
|
||||
}
|
||||
REG(endx) = random(0x00);
|
||||
|
||||
REG(flg) = 0xe0;
|
||||
}
|
||||
|
||||
void DSP::reset() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user