Struct rz80::Daisychain
[−]
[src]
pub struct Daisychain { pub num_ctrl: usize, pub ctrl: [Controller; 16], }
interrupt controller daisychain
Fields
num_ctrl: usize
ctrl: [Controller; 16]
Methods
impl Daisychain
[src]
fn new(num_controllers: usize) -> Daisychain
initialize a new daisychain
fn reset(&mut self)
reset interrupt controllers in daisychain
fn irq(&mut self, bus: &Bus, ctrl_id: usize, vec: u8)
request an interrupt from an interrupt controller, called by bus
fn irq_ack(&mut self) -> RegT
CPU acknowledges interrupt request, return the interrupt vector
fn irq_reti(&mut self)
CPU executes a RETI, this enabled interrupts on downstream controllers