#include #include #include #include #include #include "console.h" #include "utils.h" console::console(std::atomic_bool *const terminate, bus *const b) : terminate(terminate), b(b) { memset(screen_buffer, ' ', sizeof screen_buffer); } console::~console() { } bool console::poll_char() { return input_buffer.empty() == false; } uint8_t console::get_char() { if (input_buffer.empty()) return 0x00; char c = input_buffer.at(0); input_buffer.erase(input_buffer.begin() + 0); return c; } void console::debug(const std::string fmt, ...) { char *buffer = nullptr; va_list ap; va_start(ap, fmt); int len = vasprintf(&buffer, fmt.c_str(), ap); va_end(ap); for(int i=0; i