From d2377f4dbe0dc42960d47d89d5b55b57088576e8 Mon Sep 17 00:00:00 2001 From: Stephen Crane Date: Mon, 11 Feb 2019 18:28:38 +0000 Subject: [PATCH] filer extends serialio --- acia.cpp | 1 + acia.h | 17 ----------------- checkpoint.cpp | 1 + filer.cpp | 1 + filer.h | 4 +++- r65emu.h | 1 + serialio.h | 19 +++++++++++++++++++ 7 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 serialio.h diff --git a/acia.cpp b/acia.cpp index 2fbc932..b76d174 100644 --- a/acia.cpp +++ b/acia.cpp @@ -1,6 +1,7 @@ #include #include "memory.h" +#include "serialio.h" #include "acia.h" void acia::operator=(uint8_t b) { diff --git a/acia.h b/acia.h index c4fe24e..d545852 100644 --- a/acia.h +++ b/acia.h @@ -1,23 +1,6 @@ #ifndef __ACIA_H__ #define __ACIA_H__ -enum parity { - none, - even, - odd, -}; - -class serialio { -public: - virtual void reset() {} - virtual void framing(unsigned data_bits, unsigned stop_bits, parity p) {} - - virtual void write(uint8_t) {} - - virtual uint8_t read() =0; - virtual bool more() { return false; } -}; - class acia: public Memory::Device { public: void operator= (uint8_t); diff --git a/checkpoint.cpp b/checkpoint.cpp index 481fb2e..b67132e 100644 --- a/checkpoint.cpp +++ b/checkpoint.cpp @@ -2,6 +2,7 @@ #include #include #include "hardware.h" +#include "serialio.h" #include "filer.h" #include "checkpoint.h" diff --git a/filer.cpp b/filer.cpp index b6c7223..1edae58 100644 --- a/filer.cpp +++ b/filer.cpp @@ -11,6 +11,7 @@ #include #endif +#include "serialio.h" #include "filer.h" #if defined(DISK) diff --git a/filer.h b/filer.h index 406b45a..491e180 100644 --- a/filer.h +++ b/filer.h @@ -1,7 +1,7 @@ #ifndef __FILER_H__ #define __FILER_H__ -class filer { +class filer: public serialio { public: virtual const char *advance() =0; virtual const char *rewind() =0; @@ -10,6 +10,8 @@ public: virtual void stop() =0; }; +// split into sd_filer and fs_filer +// implement write to new file (like checkpoint) class flash_filer: public filer { public: const char *advance(); diff --git a/r65emu.h b/r65emu.h index d269d79..2ab8013 100644 --- a/r65emu.h +++ b/r65emu.h @@ -9,6 +9,7 @@ #include "ps2drv.h" #include "tftdisplay.h" #include "keyboard.h" +#include "serialio.h" #include "filer.h" #include "timed.h" #include "hardware.h" diff --git a/serialio.h b/serialio.h new file mode 100644 index 0000000..07337a9 --- /dev/null +++ b/serialio.h @@ -0,0 +1,19 @@ +#ifndef __SERIALIO_H__ +#define __SERIALIO_H__ + +enum parity { + none, + even, + odd, +}; + +class serialio { +public: + virtual void reset() {} + virtual void framing(unsigned data_bits, unsigned stop_bits, parity p) {} + virtual void write(uint8_t) {} + + virtual uint8_t read() =0; + virtual bool more() { return false; } +}; +#endif