diff options
-rw-r--r-- | jag_video.c | 2 | ||||
-rw-r--r-- | jaguar.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/jag_video.c b/jag_video.c index bfb97bd..2532b02 100644 --- a/jag_video.c +++ b/jag_video.c @@ -189,7 +189,7 @@ enum { uint32_t jag_cycles_to_halfline(jag_video *context, uint32_t target) { - uint32_t cycles = context->regs[VID_HPERIOD] - (context->regs[VID_HCOUNT & 0x3FF]); + uint32_t cycles = context->regs[VID_HPERIOD] - (context->regs[VID_HCOUNT] & 0x3FF); uint32_t num_lines; if (context->regs[VID_VCOUNT] < target) { num_lines = target - 1 - context->regs[VID_VCOUNT]; @@ -145,9 +145,10 @@ void rom0_write_16(uint32_t address, jaguar_context *system, uint16_t value) system->memcon2 = value; break; case 0xE0: - printf("INT1 write: %X\n", value); system->cpu_int_control = value & 0x1F; system->video->cpu_int_pending &= ~(value >> 8); + printf("INT1 write: %X @ %d - int_pending: %X, int_control: %X\n", value, system->m68k->current_cycle, system->video->cpu_int_pending, system->cpu_int_control); + jag_update_m68k_int(system); //TODO: apply mask to int pending fields on other components once they are implemented break; case 0xE2: |