diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/.gitignore | 2 | ||||
| -rw-r--r-- | src/z80.c | 5 | ||||
| -rw-r--r-- | src/z80_decode.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..ce59529 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,2 @@ +espec +*.o @@ -49,6 +49,8 @@ static void InitTables() static void Z80_CheckInterrupt(Z80 *cpu) { + Z80Word vector; + /* Check interrupts */ if (cpu->raise) @@ -95,7 +97,8 @@ static void Z80_CheckInterrupt(Z80 *cpu) case 2: PUSH(cpu->PC); - cpu->PC=(Z80Word)cpu->I*256+cpu->devbyte; + vector=(Z80Word)cpu->I*256+cpu->devbyte; + cpu->PC=PEEKW(vector); break; } } diff --git a/src/z80_decode.c b/src/z80_decode.c index 23408da..a508a9b 100644 --- a/src/z80_decode.c +++ b/src/z80_decode.c @@ -116,13 +116,13 @@ void Z80_InitialiseInternals(void) } } -static Z80Word FPEEKW(Z80 *cpu, Z80Word addr) +Z80Word FPEEKW(Z80 *cpu, Z80Word addr) { return (PEEK(addr) | (Z80Word)PEEK(addr+1)<<8); } -static void FPOKEW(Z80 *cpu, Z80Word addr, Z80Word val) +void FPOKEW(Z80 *cpu, Z80Word addr, Z80Word val) { cpu->mwrite(cpu,addr,val); cpu->mwrite(cpu,addr+1,val>>8); |
