mirror of
https://github.com/libretro/blastem.git
synced 2026-11-07 10:15:58 -10:00
Fix Jaguar video interrupt cycle calculation
This commit is contained in:
1 parent
04bf2bb31d
commit
f48ea91330
2 files changed
+3
-2
No files matched your search
+1
-1
@@ -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:
|
||||
|
||||
Reference in new issue
Block a user