1 /*
2  *  KCemu -- The emulator for the KC85 homecomputer series and much more.
3  *  Copyright (C) 1997-2010 Torsten Paul
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License along
16  *  with this program; if not, write to the Free Software Foundation, Inc.,
17  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #ifndef __kc_pio2_h
21 #define __kc_pio2_h
22 
23 #include "kc/pio.h"
24 #include "kc/tape.h"
25 
26 class PIO2 : public PIO, public TapeCallback
27 {
28 protected:
29   virtual void change_A(byte_t changed, byte_t val);
30   virtual void change_B(byte_t changed, byte_t val);
31 
32 public:
33   PIO2(void);
34   virtual ~PIO2(void);
35   virtual byte_t in(word_t addr);
36   virtual void out(word_t addr, byte_t val);
37 
38   /*
39    *  TapeCallback
40    */
41   virtual void tape_callback(byte_t val);
42 };
43 
44 #endif /* __kc_pio2_h */
45