diff options
Diffstat (limited to 'src/cpu/cpu.ts')
| -rw-r--r-- | src/cpu/cpu.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cpu/cpu.ts b/src/cpu/cpu.ts index 096d9eb..de5b294 100644 --- a/src/cpu/cpu.ts +++ b/src/cpu/cpu.ts @@ -34,10 +34,10 @@ export interface ICPU { cycles: number; readData(addr: u16): u8; - writeData(addr: u16, value: u8): void; + writeData(addr: u16, value: u8, mask?: u8): void; } -export type CPUMemoryHook = (value: u8, oldValue: u8, addr: u16) => boolean | void; +export type CPUMemoryHook = (value: u8, oldValue: u8, addr: u16, mask: u8) => boolean | void; export interface CPUMemoryHooks { [key: number]: CPUMemoryHook; } @@ -102,10 +102,10 @@ export class CPU implements ICPU { return this.data[addr]; } - writeData(addr: number, value: number) { + writeData(addr: number, value: number, mask = 0xff) { const hook = this.writeHooks[addr]; if (hook) { - if (hook(value, this.data[addr], addr)) { + if (hook(value, this.data[addr], addr, mask)) { return; } } |
