Convert Interrupts
This commit is contained in:
@@ -17,29 +17,29 @@ namespace JabyEngine {
|
||||
static constexpr auto Controller = Bit(10);
|
||||
static constexpr auto LightPen = Controller;
|
||||
|
||||
__declare_io_type(Status, uint32_t,
|
||||
);
|
||||
__new_declare_io_value(Status, uint32_t) {
|
||||
};
|
||||
|
||||
__declare_io_type(Mask, uint32_t,
|
||||
);
|
||||
__new_declare_io_value(Mask, uint32_t) {
|
||||
};
|
||||
|
||||
__declare_new_io_port(Status, 0x1F801070);
|
||||
__declare_new_io_port(Mask, 0x1F801074);
|
||||
__new_declare_io_port(inline, Status, 0x1F801070);
|
||||
__new_declare_io_port(inline, Mask, 0x1F801074);
|
||||
|
||||
static bool is_irq(Bit irq) {
|
||||
return Status.is_set(irq);
|
||||
return Status.read().is_set2(irq);
|
||||
}
|
||||
|
||||
static void ack_irq(Bit irq) {
|
||||
Status.clear(irq);
|
||||
Status.write(Status.read().clear2(irq));
|
||||
}
|
||||
|
||||
static void disable_irq(Bit irq) {
|
||||
Mask.clear(irq);
|
||||
Mask.write(Mask.read().clear2(irq));
|
||||
}
|
||||
|
||||
static void enable_irq(Bit irq) {
|
||||
Mask.set(irq);
|
||||
Mask.write(Mask.read().set2(irq));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user