openMSX
Main Page
Namespaces
Classes
Files
File List
File Members
memory
RomMajutsushi.cc
Go to the documentation of this file.
1
// Mapper for "Hai no Majutsushi" from Konami.
2
// It's a Konami mapper with a DAC.
3
4
#include "
RomMajutsushi.hh
"
5
#include "
DACSound8U.hh
"
6
#include "
Rom.hh
"
7
#include "
serialize.hh
"
8
#include "
memory.hh
"
9
10
namespace
openmsx {
11
12
RomMajutsushi::RomMajutsushi
(
const
DeviceConfig
& config, std::unique_ptr<Rom> rom)
13
:
RomKonami
(config, std::move(rom))
14
, dac(
make_unique
<
DACSound8U
>(
15
"Majutsushi-DAC"
,
"Hai no Majutsushi's DAC"
, config))
16
{
17
}
18
19
RomMajutsushi::~RomMajutsushi
()
20
{
21
}
22
23
void
RomMajutsushi::reset
(
EmuTime::param
time)
24
{
25
RomKonami::reset
(time);
26
dac->reset(time);
27
}
28
29
void
RomMajutsushi::writeMem
(
word
address,
byte
value,
EmuTime::param
time)
30
{
31
if
(0x5000 <= address && address < 0x6000) {
32
dac->writeDAC(value, time);
33
}
else
{
34
RomKonami::writeMem
(address, value, time);
35
}
36
}
37
38
byte
*
RomMajutsushi::getWriteCacheLine
(
word
address)
const
39
{
40
return
(0x5000 <= address && address < 0x6000)
41
?
nullptr
:
RomKonami::getWriteCacheLine
(address);
42
}
43
44
template
<
typename
Archive>
45
void
RomMajutsushi::serialize
(Archive& ar,
unsigned
/*version*/
)
46
{
47
ar.template serializeBase<RomKonami>(*this);
48
ar.serialize(
"DAC"
, *dac);
49
}
50
INSTANTIATE_SERIALIZE_METHODS
(
RomMajutsushi
);
51
REGISTER_MSXDEVICE
(
RomMajutsushi
,
"RomMajutsushi"
);
52
53
}
// namespace openmsx
Generated on Sun May 19 2013 23:16:25 for openMSX by
1.8.1.2