53 "Jaleco Moero!! Nettou Yakuu '88 DAC", config,
54 strCat(FileOperations::stripExtension(rom.getFilename()),
'_'),
55 16,
"nettou_yakyuu/nettou_yakyuu_")
57 reset(EmuTime::dummy());
65 for (
auto i :
xrange(2, 6)) {
77 if ((address < 0x4000) || (0xC000 <= address))
return;
80 if ((0x6000 <= address) && (address < 0x8000)) {
82 byte region = (address >> 11) & 3;
83 redirectToSamplePlayer[region] = (value & 0x80) != 0;
84 if (redirectToSamplePlayer[region]) {
93 if (!redirectToSamplePlayer[(address >> 13) - 2]) {
99 if (!(value & 0x80)) {
100 samplePlayer.
reset();
110 samplePlayer.
repeat(value & 0xF);
118template<
typename Archive>
121 ar.template serializeBase<Rom8kBBlocks>(*
this);
122 ar.serialize(
"SamplePlayer", samplePlayer,
123 "redirectToSamplePlayer", redirectToSamplePlayer);
#define REGISTER_MSXDEVICE(CLASS, NAME)
void setUnmapped(unsigned region)
Select 'unmapped' memory for this region.
void setRom(unsigned region, unsigned block)
Selects a block of the ROM image for reading in a certain region.
void serialize(Archive &ar, unsigned version)
byte * getWriteCacheLine(word address) override
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing.
void writeMem(word address, byte value, EmuTime::param time) override
Write a given byte to a given location at a certain time to this device.
void reset(EmuTime::param time) override
This method is called on reset.
RomNettouYakyuu(const DeviceConfig &config, Rom &&rom)
void repeat(unsigned sampleNum)
Keep on repeating the given sample data.
void stopRepeat()
Stop repeat mode.
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
constexpr void fill(ForwardRange &&range, const T &value)
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)
constexpr auto xrange(T e)