The disassembler uses peekWord() which would do a real read on i/o

devices. That is now replaced by a return 012345 so that the (emulated)
devices don't get confused (e.g. the tty would miss characters).
This commit is contained in:
folkert van heusden 2022-06-12 21:00:26 +02:00
parent 11c7ee4593
commit 6e17f4b747
4 changed files with 7 additions and 4 deletions

View file

@ -59,6 +59,9 @@ uint16_t bus::read(const uint16_t a, const bool word_mode, const bool use_prev,
if (word_mode)
DOLOG(debug, false, "READ I/O %06o in byte mode", a);
if (peek_only)
return 012345;
if (a == 0177750) { // MAINT
DOLOG(debug, !peek_only, "read MAINT");
return 1; // POWER OK

2
bus.h
View file

@ -52,7 +52,7 @@ public:
void add_tm11(tm_11 *tm11) { this -> tm11 = tm11; }
void add_rk05(rk05 *rk05_) { this -> rk05_ = rk05_; }
void add_rl02(rl02 *rl02_) { this -> rl02_ = rl02_; }
void add_tty(tty *tty_) { this -> tty_ = tty_; }
void add_tty(tty *tty_) { this -> tty_ = tty_; }
cpu *getCpu() { return this->c; }

View file

@ -212,7 +212,7 @@ void console::put_string(const std::string & what)
void console::operator()()
{
DOLOG(::debug, true, "Console thread started");
DOLOG(::info, true, "Console thread started");
set_thread_name("kek::console");
@ -239,5 +239,5 @@ void console::operator()()
}
}
DOLOG(::debug, true, "Console thread terminating");
DOLOG(::info, true, "Console thread terminating");
}

View file

@ -66,7 +66,7 @@ uint64_t get_us()
int parity(int v)
{
return __builtin_parity(v); // FIXME
return __builtin_parity(v); // TODO
}
void myusleep(uint64_t us)