diff options
Diffstat (limited to 'src/devices/bus/isa/stereo_fx.cpp')
-rw-r--r-- | src/devices/bus/isa/stereo_fx.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp index 1c1d2852472..01e369944be 100644 --- a/src/devices/bus/isa/stereo_fx.cpp +++ b/src/devices/bus/isa/stereo_fx.cpp @@ -93,19 +93,21 @@ ROM_START( stereo_fx ) ROM_LOAD("ati_stereo_fx.bin", 0x0000, 0x8000, CRC(1bebffa6) SHA1(e66c2619a6c05199554b5702d67877ae3799d415)) ROM_END -ADDRESS_MAP_START(stereo_fx_device::stereo_fx_io) - AM_RANGE(0xFF00, 0xFF00) AM_WRITE(port00_w) - AM_RANGE(0xFF10, 0xFF10) AM_DEVWRITE("rdac", dac_byte_interface, write) - AM_RANGE(0xFF20, 0xFF20) AM_WRITE(port20_w) +void stereo_fx_device::stereo_fx_io(address_map &map) +{ + map(0xFF00, 0xFF00).w(this, FUNC(stereo_fx_device::port00_w)); + map(0xFF10, 0xFF10).w("rdac", FUNC(dac_byte_interface::write)); + map(0xFF20, 0xFF20).w(this, FUNC(stereo_fx_device::port20_w)); //AM_RANGE(0xFF30, 0xFF30) AM_WRITE() // used only on reset and undocumented cmd 0xc4 - AM_RANGE(0xFF40, 0xFF40) AM_READWRITE(dev_dsp_data_r, dev_dsp_data_w) - AM_RANGE(0xFF50, 0xFF50) AM_WRITE(raise_drq_w) - AM_RANGE(0xFF60, 0xFF60) AM_WRITE(dev_host_irq_w) -ADDRESS_MAP_END - -ADDRESS_MAP_START(stereo_fx_device::stereo_fx_rom) - AM_RANGE(0x0000, 0x7fff) AM_ROM -ADDRESS_MAP_END + map(0xFF40, 0xFF40).rw(this, FUNC(stereo_fx_device::dev_dsp_data_r), FUNC(stereo_fx_device::dev_dsp_data_w)); + map(0xFF50, 0xFF50).w(this, FUNC(stereo_fx_device::raise_drq_w)); + map(0xFF60, 0xFF60).w(this, FUNC(stereo_fx_device::dev_host_irq_w)); +} + +void stereo_fx_device::stereo_fx_rom(address_map &map) +{ + map(0x0000, 0x7fff).rom(); +} const tiny_rom_entry *stereo_fx_device::device_rom_region() const { |