Convert Interrupts

This commit is contained in:
Jaby Blubb 2023-09-17 22:25:54 +02:00
parent e2c8283076
commit ec09918254
2 changed files with 11 additions and 11 deletions

View File

@ -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));
}
};
}

View File

@ -65,7 +65,7 @@ namespace JabyEngine {
constexpr T& clear2(Bit bit) {
this->raw = bit::clear(this->raw, bit);
return *this;
return static_cast<T&>(*this);
}
constexpr bool is_set2(Bit bit) const {