diff --git a/hardware.cpp b/hardware.cpp index 69cfe9a..43debc6 100644 --- a/hardware.cpp +++ b/hardware.cpp @@ -71,7 +71,7 @@ void hardware_init(CPU &cpu) { _cpu = &cpu; memory.begin(); -#if defined(DEBUGGING) || defined(CPU_DEBUG) +#if defined(DEBUGGING) || defined(CPU_DEBUG) || defined(USE_SERIAL) Serial.begin(TERMINAL_SPEED); #endif diff --git a/hw_serial_dsp.h b/hw_serial_dsp.h new file mode 100644 index 0000000..b08a112 --- /dev/null +++ b/hw_serial_dsp.h @@ -0,0 +1,14 @@ +#if !defined(__HW_SERIAL_DSP_H__) +#define __HW_SERIAL_DSP_H__ + +class hw_serial_dsp: public serial_dsp { +public: + hw_serial_dsp(Print &p): _print(p) {} + + void write(uint8_t b) { _print.write(b); } + +private: + Print &_print; +}; + +#endif diff --git a/hw_serial_kbd.cpp b/hw_serial_kbd.cpp index 22d6d88..3ffa5a4 100644 --- a/hw_serial_kbd.cpp +++ b/hw_serial_kbd.cpp @@ -1,7 +1,6 @@ #include #include "hardware.h" -#if defined(HW_SERIAL_KBD) #include "serial_kbd.h" #include "hw_serial_kbd.h" @@ -25,4 +24,3 @@ bool hw_serial_kbd::available() { void hw_serial_kbd::reset() { _serial.begin(TERMINAL_SPEED); } -#endif diff --git a/r65emu.h b/r65emu.h index 6ee76b6..9fbe119 100644 --- a/r65emu.h +++ b/r65emu.h @@ -19,5 +19,7 @@ #include "serial_kbd.h" #include "ps2_serial_kbd.h" #include "hw_serial_kbd.h" +#include "serial_dsp.h" +#include "hw_serial_dsp.h" #endif diff --git a/serial_dsp.h b/serial_dsp.h new file mode 100644 index 0000000..bb459fc --- /dev/null +++ b/serial_dsp.h @@ -0,0 +1,10 @@ +#if !defined(__SERIAL_DSP_H__) +#define __SERIAL_DSP_H__ + +class serial_dsp { +public: + virtual void write(uint8_t) =0; + virtual void reset() {} +}; + +#endif