2014-11-11 17:13:25 +00:00
|
|
|
#ifndef _IO_H
|
|
|
|
#define _IO_H
|
|
|
|
|
2014-11-17 20:00:40 +00:00
|
|
|
// http://mamedev.org/source/src/mess/machine/apple1.c.html
|
2018-11-12 07:47:06 +00:00
|
|
|
class io: public TFTDisplay, Keyboard, public pia {
|
2014-11-11 17:13:25 +00:00
|
|
|
public:
|
2014-11-12 08:28:32 +00:00
|
|
|
virtual void reset();
|
2018-08-14 10:00:03 +00:00
|
|
|
virtual void down(uint8_t scan);
|
|
|
|
virtual void up(uint8_t scan);
|
2014-11-11 17:13:25 +00:00
|
|
|
|
2014-11-17 20:00:40 +00:00
|
|
|
virtual void checkpoint(Stream &);
|
|
|
|
virtual void restore(Stream &);
|
|
|
|
|
2018-08-14 10:00:03 +00:00
|
|
|
virtual void write_portb(uint8_t);
|
|
|
|
virtual uint8_t read_porta_cr();
|
2014-11-11 17:13:25 +00:00
|
|
|
|
2014-11-14 11:45:28 +00:00
|
|
|
void load();
|
|
|
|
sdtape tape;
|
2014-11-11 17:13:25 +00:00
|
|
|
private:
|
2018-08-14 10:00:03 +00:00
|
|
|
void display(uint8_t);
|
2014-11-12 08:28:32 +00:00
|
|
|
void draw(char, int, int);
|
2018-08-14 10:00:03 +00:00
|
|
|
void enter(uint8_t);
|
2014-11-11 17:13:25 +00:00
|
|
|
|
2014-11-12 08:28:32 +00:00
|
|
|
bool _shift;
|
2014-11-14 11:45:28 +00:00
|
|
|
bool _loading;
|
2014-11-11 17:13:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|