summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/m6800/m6801.h
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-03-16 09:30:49 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-03-16 09:31:01 -0400
commitb5a63a8e557a048e75556710bf25013b57dcb675 (patch)
treed84e9641fbac7736ed8ae86f657ce01e9f804aee /src/devices/cpu/m6800/m6801.h
parente302ab780a35c896834163a4618385d6a3ec28c6 (diff)
Add second timer output comparator and associated status register to the HD6301X and HD6301Y
Diffstat (limited to 'src/devices/cpu/m6800/m6801.h')
-rw-r--r--src/devices/cpu/m6800/m6801.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h
index af911a48842..b9d65bb9d02 100644
--- a/src/devices/cpu/m6800/m6801.h
+++ b/src/devices/cpu/m6800/m6801.h
@@ -166,7 +166,10 @@ protected:
virtual void EAT_CYCLES() override;
virtual void CLEANUP_COUNTERS() override;
- void check_timer_event();
+ virtual void modified_tcsr();
+ virtual void set_timer_event();
+ virtual void modified_counters();
+ virtual void check_timer_event();
void set_rmcr(uint8_t data);
virtual void write_port2();
int m6800_rx();
@@ -274,11 +277,29 @@ protected:
uint8_t p7_data_r();
void p7_data_w(uint8_t data);
+ uint8_t tcsr2_r();
+ void tcsr2_w(uint8_t data);
+ uint8_t ocr2h_r();
+ void ocr2h_w(uint8_t data);
+ uint8_t ocr2l_r();
+ void ocr2l_w(uint8_t data);
+
+ virtual void m6800_check_irq2() override;
+ virtual void modified_tcsr() override;
+ virtual void set_timer_event() override;
+ virtual void modified_counters() override;
+ virtual void check_timer_event() override;
+ virtual void CLEANUP_COUNTERS() override;
+
devcb_read8::array<2> m_in_portx_func;
devcb_write8::array<3> m_out_portx_func;
uint8_t m_portx_ddr[2];
uint8_t m_portx_data[3];
+
+ uint8_t m_tcsr2;
+ uint8_t m_pending_tcsr2;
+ PAIR m_output_compare2;
};