From 268a53de823a6750d6256ee1fb1e7707b4b45740 Mon Sep 17 00:00:00 2001 From: Xavier ASUS Date: Fri, 18 Oct 2019 00:31:54 +0200 Subject: sdcc-3.9.0 fork implementing GNU assembler syntax This fork aims to provide better support for stm8-binutils --- sim/ucsim/gui.src/serio.src/frontend.hh | 64 +++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 sim/ucsim/gui.src/serio.src/frontend.hh (limited to 'sim/ucsim/gui.src/serio.src/frontend.hh') diff --git a/sim/ucsim/gui.src/serio.src/frontend.hh b/sim/ucsim/gui.src/serio.src/frontend.hh new file mode 100644 index 0000000..c7330ff --- /dev/null +++ b/sim/ucsim/gui.src/serio.src/frontend.hh @@ -0,0 +1,64 @@ +/****************************************************************************** + * to emulate the serial input and output of an 8051 controller * + * frontend.hh - ncurses frontend * + ******************************************************************************/ +#ifndef FRONTEND_HEADER +#define FRONTEND_HEADER + +#include +#include +#include + +#include "config.h" + +struct COORDS_S +{ + int min_x; + int max_x; + int min_y; + int max_y; +}; +typedef struct COORDS_S COORDS; + +struct COORDINATES_S +{ + int x; + int y; +}; +typedef struct COORDINATES_S COORDINATES; + +enum filter_t + { + flt_none, + flt_hex + }; + +class Viewer +{ +public: + Viewer(); + virtual ~Viewer(); + virtual void DrawBox(void); + virtual void AddStrOutWin(char *string); + virtual void GetStrInWin(char *string); + virtual void AddChOutWin(char b); + virtual int GetChInWin(char *res); + + virtual void iflt_mode(enum filter_t iflt); + virtual void oflt_mode(enum filter_t oflt); + virtual void set_length(int l); + +private: + WINDOW *inp, *outp; + COORDS win_c, inp_c, outp_c; + COORDINATES topleft, bottomright, current; + int middle_y, middle_x; + enum filter_t flt_in, flt_out; + unsigned int ocnt, icnt; + int line_length; + + uint8_t ohex_buf[16], ihex_buf[16]; + int ohex_ptr, ihex_ptr, ihex_high, ihex_val; +}; + +#endif -- cgit v1.2.3