1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-26 03:29:40 +00:00

Adds index hole interrupt.

This commit is contained in:
Thomas Harte
2021-10-09 04:08:59 -07:00
parent d6e2a3f425
commit eb157f15f3
5 changed files with 69 additions and 45 deletions
@@ -54,6 +54,14 @@ void MOS6526<BusHandlerT, personality>::set_cnt_input(bool active) {
cnt_state_ = active;
}
template <typename BusHandlerT, Personality personality>
void MOS6526<BusHandlerT, personality>::set_flag_input(bool low) {
if(low && !flag_state_) {
posit_interrupt(0x10);
}
flag_state_ = low;
}
template <typename BusHandlerT, Personality personality>
void MOS6526<BusHandlerT, personality>::write(int address, uint8_t value) {
address &= 0xf;
@@ -178,6 +178,7 @@ template <> class TODStorage<true>: public TODBase {
struct MOS6526Storage {
bool cnt_state_ = false; // Inactive by default.
bool cnt_edge_ = false;
bool flag_state_ = false;
HalfCycles half_divider_;
uint8_t output_[2] = {0, 0};