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:
parent
11c7ee4593
commit
6e17f4b747
4 changed files with 7 additions and 4 deletions
3
bus.cpp
3
bus.cpp
|
@ -59,6 +59,9 @@ uint16_t bus::read(const uint16_t a, const bool word_mode, const bool use_prev,
|
||||||
if (word_mode)
|
if (word_mode)
|
||||||
DOLOG(debug, false, "READ I/O %06o in byte mode", a);
|
DOLOG(debug, false, "READ I/O %06o in byte mode", a);
|
||||||
|
|
||||||
|
if (peek_only)
|
||||||
|
return 012345;
|
||||||
|
|
||||||
if (a == 0177750) { // MAINT
|
if (a == 0177750) { // MAINT
|
||||||
DOLOG(debug, !peek_only, "read MAINT");
|
DOLOG(debug, !peek_only, "read MAINT");
|
||||||
return 1; // POWER OK
|
return 1; // POWER OK
|
||||||
|
|
2
bus.h
2
bus.h
|
@ -52,7 +52,7 @@ public:
|
||||||
void add_tm11(tm_11 *tm11) { this -> tm11 = tm11; }
|
void add_tm11(tm_11 *tm11) { this -> tm11 = tm11; }
|
||||||
void add_rk05(rk05 *rk05_) { this -> rk05_ = rk05_; }
|
void add_rk05(rk05 *rk05_) { this -> rk05_ = rk05_; }
|
||||||
void add_rl02(rl02 *rl02_) { this -> rl02_ = rl02_; }
|
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; }
|
cpu *getCpu() { return this->c; }
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@ void console::put_string(const std::string & what)
|
||||||
|
|
||||||
void console::operator()()
|
void console::operator()()
|
||||||
{
|
{
|
||||||
DOLOG(::debug, true, "Console thread started");
|
DOLOG(::info, true, "Console thread started");
|
||||||
|
|
||||||
set_thread_name("kek::console");
|
set_thread_name("kek::console");
|
||||||
|
|
||||||
|
@ -239,5 +239,5 @@ void console::operator()()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DOLOG(::debug, true, "Console thread terminating");
|
DOLOG(::info, true, "Console thread terminating");
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ uint64_t get_us()
|
||||||
|
|
||||||
int parity(int v)
|
int parity(int v)
|
||||||
{
|
{
|
||||||
return __builtin_parity(v); // FIXME
|
return __builtin_parity(v); // TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
void myusleep(uint64_t us)
|
void myusleep(uint64_t us)
|
||||||
|
|
Loading…
Add table
Reference in a new issue