KW11-L fixes

This commit is contained in:
folkert van heusden 2024-04-25 14:39:03 +02:00
parent cdccde1956
commit 3879721b28
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1
3 changed files with 15 additions and 10 deletions

View file

@ -833,9 +833,12 @@ write_rc_t bus::write(const uint16_t addr_in, const word_mode_t word_mode, uint1
return { false };
}
if (a == ADDR_LFC) // line frequency clock and status register
if (a == ADDR_LFC) { // line frequency clock and status register
kw11_l_->writeWord(a, value);
return { false };
}
if (tm11 && a >= TM_11_BASE && a < TM_11_END) {
DOLOG(debug, false, "WRITE-I/O TM11 register %d: %06o", (a - TM_11_BASE) / 2, value);
word_mode == wm_byte ? tm11->writeByte(a, value) : tm11->writeWord(a, value);

View file

@ -34,8 +34,11 @@ kw11_l::~kw11_l()
stop_flag = true;
#if !defined(ESP32) && !defined(BUILD_FOR_RP2040)
if (th) {
th->join();
delete th;
}
#endif
}
@ -62,7 +65,6 @@ void kw11_l::operator()()
while(!stop_flag) {
if (*cnsl->get_running_flag()) {
DOLOG(debug, true, "KW11-L tick");
set_lf_crs_b7();
if (get_lf_crs() & 64)

View file

@ -17,7 +17,7 @@ private:
#if defined(BUILD_FOR_RP2040)
SemaphoreHandle_t lf_csr_lock { xSemaphoreCreateBinary() };
#else
std::thread * th { nullptr };
std::thread *th { nullptr };
std::mutex lf_csr_lock;
#endif
uint16_t lf_csr { 0 };