mirror of
https://github.com/TomHarte/CLK.git
synced 2025-04-10 22:37:30 +00:00
Implements set_status as per advice.
This commit is contained in:
parent
a3e98907ca
commit
a791680e6f
@ -109,15 +109,19 @@ uint8_t GLU::get_status() {
|
||||
return status_;
|
||||
}
|
||||
|
||||
void GLU::set_status(uint8_t status) {
|
||||
// This permits only the interrupt flags to be set.
|
||||
constexpr uint8_t interrupt_flags =
|
||||
uint8_t(CPUFlags::MouseInterruptEnabled) |
|
||||
uint8_t(CPUFlags::CommandDataInterruptEnabled) |
|
||||
uint8_t(CPUFlags::KeyboardDataInterruptEnabled);
|
||||
status_ = (status_ & ~interrupt_flags) | (status & interrupt_flags);
|
||||
}
|
||||
|
||||
void GLU::set_command(uint8_t command) {
|
||||
registers_[1] = command;
|
||||
registers_[4] |= uint8_t(MicrocontrollerFlags::CommandRegisterFull);
|
||||
status_ |= uint8_t(CPUFlags::CommandRegisterFull);
|
||||
// printf("!!!%02x!!!\n", command);
|
||||
}
|
||||
|
||||
void GLU::set_status(uint8_t status) {
|
||||
printf("TODO: set ADB status %02x\n", status);
|
||||
}
|
||||
|
||||
// MARK: - Setup and run.
|
||||
|
Loading…
x
Reference in New Issue
Block a user