summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/suna16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/suna16.cpp')
-rw-r--r--src/mame/drivers/suna16.cpp268
1 files changed, 142 insertions, 126 deletions
diff --git a/src/mame/drivers/suna16.cpp b/src/mame/drivers/suna16.cpp
index 121c6d0da25..eb125547a6c 100644
--- a/src/mame/drivers/suna16.cpp
+++ b/src/mame/drivers/suna16.cpp
@@ -95,19 +95,20 @@ WRITE16_MEMBER(suna16_state::bestbest_coin_w)
Back Street Soccer
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::bssoccer_map)
- AM_RANGE(0x000000, 0x1fffff) AM_ROM // ROM
- AM_RANGE(0x200000, 0x203fff) AM_RAM // RAM
- AM_RANGE(0x400000, 0x4001ff) AM_READWRITE(paletteram_r, paletteram_w) // Banked Palette
- AM_RANGE(0x400200, 0x400fff) AM_RAM //
- AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
- AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("P2") AM_WRITE(flipscreen_w) // Flip Screen
- AM_RANGE(0xa00004, 0xa00005) AM_READ_PORT("P3") AM_WRITE(bssoccer_leds_w) // Leds
- AM_RANGE(0xa00006, 0xa00007) AM_READ_PORT("P4") AM_WRITENOP // ? IRQ 1 Ack
- AM_RANGE(0xa00008, 0xa00009) AM_READ_PORT("DSW1") AM_WRITENOP // ? IRQ 2 Ack
- AM_RANGE(0xa0000a, 0xa0000b) AM_READ_PORT("DSW2")
-ADDRESS_MAP_END
+void suna16_state::bssoccer_map(address_map &map)
+{
+ map(0x000000, 0x1fffff).rom(); // ROM
+ map(0x200000, 0x203fff).ram(); // RAM
+ map(0x400000, 0x4001ff).rw(this, FUNC(suna16_state::paletteram_r), FUNC(suna16_state::paletteram_w)); // Banked Palette
+ map(0x400200, 0x400fff).ram(); //
+ map(0x600000, 0x61ffff).ram().share("spriteram"); // Sprites
+ map(0xa00000, 0xa00001).portr("P1").w(this, FUNC(suna16_state::soundlatch_w)); // To Sound CPU
+ map(0xa00002, 0xa00003).portr("P2").w(this, FUNC(suna16_state::flipscreen_w)); // Flip Screen
+ map(0xa00004, 0xa00005).portr("P3").w(this, FUNC(suna16_state::bssoccer_leds_w)); // Leds
+ map(0xa00006, 0xa00007).portr("P4").nopw(); // ? IRQ 1 Ack
+ map(0xa00008, 0xa00009).portr("DSW1").nopw(); // ? IRQ 2 Ack
+ map(0xa0000a, 0xa0000b).portr("DSW2");
+}
/***************************************************************************
@@ -151,38 +152,40 @@ WRITE8_MEMBER(suna16_state::uballoon_prot_w)
}
}
-ADDRESS_MAP_START(suna16_state::uballoon_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x800000, 0x803fff) AM_RAM // RAM
- AM_RANGE(0x200000, 0x2001ff) AM_READWRITE(paletteram_r, paletteram_w) // Banked Palette
- AM_RANGE(0x200200, 0x200fff) AM_RAM //
- AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x1e0000) AM_RAM AM_SHARE("spriteram") // Sprites
- AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
- AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2")
- AM_RANGE(0x600004, 0x600005) AM_READ_PORT("DSW1") AM_WRITE(flipscreen_w) // Flip Screen
- AM_RANGE(0x600006, 0x600007) AM_READ_PORT("DSW2")
- AM_RANGE(0x600008, 0x600009) AM_WRITE(uballoon_leds_w) // Leds
- AM_RANGE(0x60000c, 0x60000d) AM_WRITENOP // ? IRQ 1 Ack
- AM_RANGE(0x600010, 0x600011) AM_WRITENOP // ? IRQ 1 Ack
- AM_RANGE(0xa00000, 0xa0ffff) AM_READWRITE8(uballoon_prot_r, uballoon_prot_w, 0x00ff) // Protection
-ADDRESS_MAP_END
+void suna16_state::uballoon_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom(); // ROM
+ map(0x800000, 0x803fff).ram(); // RAM
+ map(0x200000, 0x2001ff).rw(this, FUNC(suna16_state::paletteram_r), FUNC(suna16_state::paletteram_w)); // Banked Palette
+ map(0x200200, 0x200fff).ram(); //
+ map(0x400000, 0x41ffff).mirror(0x1e0000).ram().share("spriteram"); // Sprites
+ map(0x600000, 0x600001).portr("P1").w(this, FUNC(suna16_state::soundlatch_w)); // To Sound CPU
+ map(0x600002, 0x600003).portr("P2");
+ map(0x600004, 0x600005).portr("DSW1").w(this, FUNC(suna16_state::flipscreen_w)); // Flip Screen
+ map(0x600006, 0x600007).portr("DSW2");
+ map(0x600008, 0x600009).w(this, FUNC(suna16_state::uballoon_leds_w)); // Leds
+ map(0x60000c, 0x60000d).nopw(); // ? IRQ 1 Ack
+ map(0x600010, 0x600011).nopw(); // ? IRQ 1 Ack
+ map(0xa00000, 0xa0ffff).rw(this, FUNC(suna16_state::uballoon_prot_r), FUNC(suna16_state::uballoon_prot_w)).umask16(0x00ff); // Protection
+}
/***************************************************************************
Suna Quiz 6000 Academy
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::sunaq_map)
- AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM
- AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
- AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2") AM_WRITE(flipscreen_w) // Flip Screen
- AM_RANGE(0x500004, 0x500005) AM_READ_PORT("DSW1")
- AM_RANGE(0x500006, 0x500007) AM_READ_PORT("DSW2") // (unused?)
- AM_RANGE(0x540000, 0x5401ff) AM_READWRITE(paletteram_r, paletteram_w)
- AM_RANGE(0x540200, 0x540fff) AM_RAM // RAM
- AM_RANGE(0x580000, 0x583fff) AM_RAM // RAM
- AM_RANGE(0x5c0000, 0x5dffff) AM_RAM AM_SHARE("spriteram") // Sprites
-ADDRESS_MAP_END
+void suna16_state::sunaq_map(address_map &map)
+{
+ map(0x000000, 0x0fffff).rom(); // ROM
+ map(0x500000, 0x500001).portr("P1").w(this, FUNC(suna16_state::soundlatch_w)); // To Sound CPU
+ map(0x500002, 0x500003).portr("P2").w(this, FUNC(suna16_state::flipscreen_w)); // Flip Screen
+ map(0x500004, 0x500005).portr("DSW1");
+ map(0x500006, 0x500007).portr("DSW2"); // (unused?)
+ map(0x540000, 0x5401ff).rw(this, FUNC(suna16_state::paletteram_r), FUNC(suna16_state::paletteram_w));
+ map(0x540200, 0x540fff).ram(); // RAM
+ map(0x580000, 0x583fff).ram(); // RAM
+ map(0x5c0000, 0x5dffff).ram().share("spriteram"); // Sprites
+}
/***************************************************************************
@@ -205,20 +208,21 @@ WRITE8_MEMBER(suna16_state::bestbest_prot_w)
}
}
-ADDRESS_MAP_START(suna16_state::bestbest_map)
- AM_RANGE( 0x000000, 0x03ffff ) AM_ROM AM_MIRROR(0xc0000) // ROM
- AM_RANGE( 0x200000, 0x2fffff ) AM_ROM AM_REGION("user1", 0) // ROM
- AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT("P1") AM_WRITE(soundlatch_w) // To Sound CPU
- AM_RANGE( 0x500002, 0x500003 ) AM_READ_PORT("P2") AM_WRITE(bestbest_flipscreen_w) // P2 + Coins, Flip Screen
- AM_RANGE( 0x500004, 0x500005 ) AM_READ_PORT("DSW") AM_WRITE(bestbest_coin_w) // Coin Counter
- AM_RANGE( 0x500008, 0x500009 ) AM_WRITE8(bestbest_prot_w, 0x00ff) // Protection
- AM_RANGE( 0x500018, 0x500019 ) AM_READ8(bestbest_prot_r, 0x00ff) // "
- AM_RANGE( 0x540000, 0x540fff ) AM_READWRITE(paletteram_r, paletteram_w ) // Banked(?) Palette
- AM_RANGE( 0x541000, 0x54ffff ) AM_RAM //
- AM_RANGE( 0x580000, 0x58ffff ) AM_RAM // RAM
- AM_RANGE( 0x5c0000, 0x5dffff ) AM_RAM AM_SHARE("spriteram") // Sprites (Chip 1)
- AM_RANGE( 0x5e0000, 0x5fffff ) AM_RAM AM_SHARE("spriteram2") // Sprites (Chip 2)
-ADDRESS_MAP_END
+void suna16_state::bestbest_map(address_map &map)
+{
+ map(0x000000, 0x03ffff).rom().mirror(0xc0000); // ROM
+ map(0x200000, 0x2fffff).rom().region("user1", 0); // ROM
+ map(0x500000, 0x500001).portr("P1").w(this, FUNC(suna16_state::soundlatch_w)); // To Sound CPU
+ map(0x500002, 0x500003).portr("P2").w(this, FUNC(suna16_state::bestbest_flipscreen_w)); // P2 + Coins, Flip Screen
+ map(0x500004, 0x500005).portr("DSW").w(this, FUNC(suna16_state::bestbest_coin_w)); // Coin Counter
+ map(0x500009, 0x500009).w(this, FUNC(suna16_state::bestbest_prot_w)); // Protection
+ map(0x500019, 0x500019).r(this, FUNC(suna16_state::bestbest_prot_r)); // "
+ map(0x540000, 0x540fff).rw(this, FUNC(suna16_state::paletteram_r), FUNC(suna16_state::paletteram_w)); // Banked(?) Palette
+ map(0x541000, 0x54ffff).ram(); //
+ map(0x580000, 0x58ffff).ram(); // RAM
+ map(0x5c0000, 0x5dffff).ram().share("spriteram"); // Sprites (Chip 1)
+ map(0x5e0000, 0x5fffff).ram().share("spriteram2"); // Sprites (Chip 2)
+}
MACHINE_START_MEMBER(suna16_state,bestbest)
{
@@ -241,49 +245,53 @@ MACHINE_START_MEMBER(suna16_state,bestbest)
Back Street Soccer
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::bssoccer_sound_map)
- AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
- AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
- AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
- AM_RANGE(0xfd00, 0xfd00) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // To PCM Z80 #1
- AM_RANGE(0xfe00, 0xfe00) AM_DEVWRITE("soundlatch3", generic_latch_8_device, write) // To PCM Z80 #2
-ADDRESS_MAP_END
+void suna16_state::bssoccer_sound_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom(); // ROM
+ map(0xf000, 0xf7ff).ram(); // RAM
+ map(0xf800, 0xf801).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); // YM2151
+ map(0xfc00, 0xfc00).r(m_soundlatch, FUNC(generic_latch_8_device::read)); // From Main CPU
+ map(0xfd00, 0xfd00).w("soundlatch2", FUNC(generic_latch_8_device::write)); // To PCM Z80 #1
+ map(0xfe00, 0xfe00).w("soundlatch3", FUNC(generic_latch_8_device::write)); // To PCM Z80 #2
+}
/***************************************************************************
Ultra Balloon
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::uballoon_sound_map)
- AM_RANGE(0x0000, 0xefff) AM_ROM // ROM
- AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
- AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // To PCM Z80
-ADDRESS_MAP_END
+void suna16_state::uballoon_sound_map(address_map &map)
+{
+ map(0x0000, 0xefff).rom(); // ROM
+ map(0xf000, 0xf7ff).ram(); // RAM
+ map(0xf800, 0xf801).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); // YM2151
+ map(0xfc00, 0xfc00).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w("soundlatch2", FUNC(generic_latch_8_device::write)); // To PCM Z80
+}
/***************************************************************************
Suna Quiz 6000 Academy
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::sunaq_sound_map)
- AM_RANGE(0x0000, 0xe82f) AM_ROM // ROM
- AM_RANGE(0xe830, 0xf7ff) AM_RAM // RAM (writes to efxx, could be a program bug tho)
- AM_RANGE(0xf800, 0xf801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) // YM2151
- AM_RANGE(0xfc00, 0xfc00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // To PCM Z80
-ADDRESS_MAP_END
+void suna16_state::sunaq_sound_map(address_map &map)
+{
+ map(0x0000, 0xe82f).rom(); // ROM
+ map(0xe830, 0xf7ff).ram(); // RAM (writes to efxx, could be a program bug tho)
+ map(0xf800, 0xf801).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); // YM2151
+ map(0xfc00, 0xfc00).r(m_soundlatch, FUNC(generic_latch_8_device::read)).w("soundlatch2", FUNC(generic_latch_8_device::write)); // To PCM Z80
+}
/***************************************************************************
Best Of Best
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::bestbest_sound_map)
- AM_RANGE( 0x0000, 0xbfff ) AM_ROM // ROM
- AM_RANGE( 0xc000, 0xc001 ) AM_DEVWRITE("ymsnd", ym3526_device, write)
- AM_RANGE( 0xc002, 0xc003 ) AM_DEVWRITE("aysnd", ay8910_device, address_data_w) // AY8910
- AM_RANGE( 0xe000, 0xe7ff ) AM_RAM // RAM
- AM_RANGE( 0xf000, 0xf000 ) AM_DEVWRITE("soundlatch2", generic_latch_8_device, write) // To PCM Z80
- AM_RANGE( 0xf800, 0xf800 ) AM_DEVREAD("soundlatch", generic_latch_8_device, read) // From Main CPU
-ADDRESS_MAP_END
+void suna16_state::bestbest_sound_map(address_map &map)
+{
+ map(0x0000, 0xbfff).rom(); // ROM
+ map(0xc000, 0xc001).w("ymsnd", FUNC(ym3526_device::write));
+ map(0xc002, 0xc003).w("aysnd", FUNC(ay8910_device::address_data_w)); // AY8910
+ map(0xe000, 0xe7ff).ram(); // RAM
+ map(0xf000, 0xf000).w("soundlatch2", FUNC(generic_latch_8_device::write)); // To PCM Z80
+ map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); // From Main CPU
+}
/***************************************************************************
@@ -325,33 +333,37 @@ WRITE8_MEMBER(suna16_state::bssoccer_pcm_2_bankswitch_w)
/* Memory maps: Yes, *no* RAM */
-ADDRESS_MAP_START(suna16_state::bssoccer_pcm_1_map)
- AM_RANGE(0x0000, 0x0fff) AM_ROM // ROM
- AM_RANGE(0x1000, 0xffff) AM_ROMBANK("bank1") // Banked ROM
-ADDRESS_MAP_END
+void suna16_state::bssoccer_pcm_1_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom(); // ROM
+ map(0x1000, 0xffff).bankr("bank1"); // Banked ROM
+}
-ADDRESS_MAP_START(suna16_state::bssoccer_pcm_2_map)
- AM_RANGE(0x0000, 0x0fff) AM_ROM // ROM
- AM_RANGE(0x1000, 0xffff) AM_ROMBANK("bank2") // Banked ROM
-ADDRESS_MAP_END
+void suna16_state::bssoccer_pcm_2_map(address_map &map)
+{
+ map(0x0000, 0x0fff).rom(); // ROM
+ map(0x1000, 0xffff).bankr("bank2"); // Banked ROM
+}
-ADDRESS_MAP_START(suna16_state::bssoccer_pcm_1_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
- AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
- AM_RANGE(0x01, 0x01) AM_DEVWRITE("rdac", dac_byte_interface, write)
- AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_1_bankswitch_w) // Rom Bank
-ADDRESS_MAP_END
+void suna16_state::bssoccer_pcm_1_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r("soundlatch2", FUNC(generic_latch_8_device::read)); // From The Sound Z80
+ map(0x00, 0x00).w("ldac", FUNC(dac_byte_interface::write));
+ map(0x01, 0x01).w("rdac", FUNC(dac_byte_interface::write));
+ map(0x03, 0x03).w(this, FUNC(suna16_state::bssoccer_pcm_1_bankswitch_w)); // Rom Bank
+}
-ADDRESS_MAP_START(suna16_state::bssoccer_pcm_2_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch3", generic_latch_8_device, read) // From The Sound Z80
- AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac2", dac_byte_interface, write)
- AM_RANGE(0x01, 0x01) AM_DEVWRITE("rdac2", dac_byte_interface, write)
- AM_RANGE(0x03, 0x03) AM_WRITE(bssoccer_pcm_2_bankswitch_w) // Rom Bank
-ADDRESS_MAP_END
+void suna16_state::bssoccer_pcm_2_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r("soundlatch3", FUNC(generic_latch_8_device::read)); // From The Sound Z80
+ map(0x00, 0x00).w("ldac2", FUNC(dac_byte_interface::write));
+ map(0x01, 0x01).w("rdac2", FUNC(dac_byte_interface::write));
+ map(0x03, 0x03).w(this, FUNC(suna16_state::bssoccer_pcm_2_bankswitch_w)); // Rom Bank
+}
/***************************************************************************
@@ -369,18 +381,20 @@ WRITE8_MEMBER(suna16_state::uballoon_pcm_1_bankswitch_w)
/* Memory maps: Yes, *no* RAM */
-ADDRESS_MAP_START(suna16_state::uballoon_pcm_1_map)
- AM_RANGE(0x0000, 0x03ff) AM_ROM // ROM
- AM_RANGE(0x0400, 0xffff) AM_ROMBANK("bank1") // Banked ROM
-ADDRESS_MAP_END
+void suna16_state::uballoon_pcm_1_map(address_map &map)
+{
+ map(0x0000, 0x03ff).rom(); // ROM
+ map(0x0400, 0xffff).bankr("bank1"); // Banked ROM
+}
-ADDRESS_MAP_START(suna16_state::uballoon_pcm_1_io_map)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
- AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
- AM_RANGE(0x01, 0x01) AM_DEVWRITE("rdac", dac_byte_interface, write)
- AM_RANGE(0x03, 0x03) AM_WRITE(uballoon_pcm_1_bankswitch_w) // Rom Bank
-ADDRESS_MAP_END
+void suna16_state::uballoon_pcm_1_io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r("soundlatch2", FUNC(generic_latch_8_device::read)); // From The Sound Z80
+ map(0x00, 0x00).w("ldac", FUNC(dac_byte_interface::write));
+ map(0x01, 0x01).w("rdac", FUNC(dac_byte_interface::write));
+ map(0x03, 0x03).w(this, FUNC(suna16_state::uballoon_pcm_1_bankswitch_w)); // Rom Bank
+}
MACHINE_START_MEMBER(suna16_state,uballoon)
{
@@ -400,18 +414,20 @@ MACHINE_RESET_MEMBER(suna16_state,uballoon)
Best Of Best
***************************************************************************/
-ADDRESS_MAP_START(suna16_state::bestbest_pcm_1_map)
- AM_RANGE(0x0000, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(suna16_state::bestbest_pcm_1_iomap)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch2", generic_latch_8_device, read) // From The Sound Z80
- AM_RANGE(0x00, 0x00) AM_DEVWRITE("ldac", dac_byte_interface, write)
- AM_RANGE(0x01, 0x01) AM_DEVWRITE("rdac", dac_byte_interface, write)
- AM_RANGE(0x02, 0x02) AM_DEVWRITE("ldac2", dac_byte_interface, write)
- AM_RANGE(0x03, 0x03) AM_DEVWRITE("rdac2", dac_byte_interface, write)
-ADDRESS_MAP_END
+void suna16_state::bestbest_pcm_1_map(address_map &map)
+{
+ map(0x0000, 0xffff).rom();
+}
+
+void suna16_state::bestbest_pcm_1_iomap(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x00, 0x00).r("soundlatch2", FUNC(generic_latch_8_device::read)); // From The Sound Z80
+ map(0x00, 0x00).w("ldac", FUNC(dac_byte_interface::write));
+ map(0x01, 0x01).w("rdac", FUNC(dac_byte_interface::write));
+ map(0x02, 0x02).w("ldac2", FUNC(dac_byte_interface::write));
+ map(0x03, 0x03).w("rdac2", FUNC(dac_byte_interface::write));
+}
/***************************************************************************