openMSX
Main Page
Namespaces
Classes
Files
File List
File Members
cpu
MSXWatchIODevice.hh
Go to the documentation of this file.
1
#ifndef MSXWATCHIODEVICE_HH
2
#define MSXWATCHIODEVICE_HH
3
4
#include "
MSXMultiDevice.hh
"
5
#include "
WatchPoint.hh
"
6
#include <memory>
7
8
namespace
openmsx {
9
10
class
MSXCPUInterface
;
11
class
MSXWatchIODevice;
12
13
class
WatchIO
:
public
WatchPoint
14
{
15
public
:
16
WatchIO
(
MSXMotherBoard
& motherboard,
17
WatchPoint::Type
type,
18
unsigned
beginAddr,
unsigned
endAddr,
19
TclObject
command,
TclObject
condition,
20
unsigned
newId = -1);
21
virtual
~WatchIO
();
22
23
MSXWatchIODevice
&
getDevice
(
byte
port);
24
25
private
:
26
void
doReadCallback(
unsigned
port);
27
void
doWriteCallback(
unsigned
port,
unsigned
value);
28
29
MSXCPUInterface
& cpuInterface;
30
std::vector<std::unique_ptr<MSXWatchIODevice>> ios;
31
32
friend
class
MSXWatchIODevice
;
33
};
34
35
class
MSXWatchIODevice
:
public
MSXMultiDevice
36
{
37
public
:
38
MSXWatchIODevice
(
const
HardwareConfig
& hwConf,
WatchIO
& watchIO);
39
40
MSXDevice
*&
getDevicePtr
();
41
42
private
:
43
// MSXDevice
44
virtual
std::string getName()
const
;
45
virtual
byte
readIO(
word
port,
EmuTime::param
time);
46
virtual
byte
peekIO(
word
port,
EmuTime::param
time)
const
;
47
virtual
void
writeIO(
word
port,
byte
value,
EmuTime::param
time);
48
49
WatchIO
& watchIO;
50
MSXDevice
* device;
51
};
52
53
}
// namespace openmsx
54
55
#endif
Generated on Fri May 24 2013 22:18:00 for openMSX by
1.8.1.2