Just popping in
Joined: 2006/12/5 19:30 Last Login
: 7/4 21:52
Group:
Registered Users
|
@Hans
It's been long enough since I've seen Amiga nterrupt code t forget things exactly, I've been doing some ARM stuff at work to have some thoughts that may or may not work. You mentioned that interrupts are disabled in the reset handler.
In an interrupt handler, I'd think you'd be looking somewhere to see which of a possible set of events triggered an interrupt, to determine exactly what the handler needs to do each time in. For ARM, we use the AIC peripheral to enable/disable interrupts for each other peripheral block (usart, spi, usb controller, etc). Could you check that the Radeon interrupt in Amiga's interrupt controller is enabled or disabled, and if disabled then assume the reset brought us here, if enabled then interrupt brought us here? That'd use the interrupt controller itself as your global flag, though you'd want some assurance that an interrupt event would always look on and a reset event would always look off for that.
This would check the whole system interrupt controller status for Radeon interrupt enable, not checking inside the Radeon's own interrupt status values for which particular Radeon event triggered a Radeon interrupt.
|