summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/model2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/model2.cpp')
-rw-r--r--src/mame/drivers/model2.cpp114
1 files changed, 57 insertions, 57 deletions
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index ac63d020273..990fb90579b 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -444,12 +444,12 @@ void model2_tgp_state::copro_tgp_data_map(address_map &map)
void model2_tgp_state::copro_tgp_bank_map(address_map &map)
{
- map(0x00020, 0x00023).rw(this, FUNC(model2_tgp_state::copro_sincos_r), FUNC(model2_tgp_state::copro_sincos_w));
- map(0x00024, 0x00027).rw(this, FUNC(model2_tgp_state::copro_atan_r), FUNC(model2_tgp_state::copro_atan_w));
- map(0x00028, 0x00029).rw(this, FUNC(model2_tgp_state::copro_inv_r), FUNC(model2_tgp_state::copro_inv_w));
- map(0x0002a, 0x0002b).rw(this, FUNC(model2_tgp_state::copro_isqrt_r), FUNC(model2_tgp_state::copro_isqrt_w));
+ map(0x00020, 0x00023).rw(FUNC(model2_tgp_state::copro_sincos_r), FUNC(model2_tgp_state::copro_sincos_w));
+ map(0x00024, 0x00027).rw(FUNC(model2_tgp_state::copro_atan_r), FUNC(model2_tgp_state::copro_atan_w));
+ map(0x00028, 0x00029).rw(FUNC(model2_tgp_state::copro_inv_r), FUNC(model2_tgp_state::copro_inv_w));
+ map(0x0002a, 0x0002b).rw(FUNC(model2_tgp_state::copro_isqrt_r), FUNC(model2_tgp_state::copro_isqrt_w));
- map(0x10000, 0x1ffff).rw(this, FUNC(model2_tgp_state::copro_tgp_memory_r), FUNC(model2_tgp_state::copro_tgp_memory_w));
+ map(0x10000, 0x1ffff).rw(FUNC(model2_tgp_state::copro_tgp_memory_r), FUNC(model2_tgp_state::copro_tgp_memory_w));
}
void model2_tgp_state::copro_tgp_io_map(address_map &map)
@@ -462,7 +462,7 @@ void model2_tgp_state::copro_tgp_rf_map(address_map &map)
map(0x0, 0x0).nopw(); // leds? busy flag?
map(0x1, 0x1).r(m_copro_fifo_in, FUNC(generic_fifo_u32_device::read));
map(0x2, 0x2).w(m_copro_fifo_out, FUNC(generic_fifo_u32_device::write));
- map(0x3, 0x3).w(this, FUNC(model2_tgp_state::copro_tgp_bank_w));
+ map(0x3, 0x3).w(FUNC(model2_tgp_state::copro_tgp_bank_w));
}
READ32_MEMBER(model2_tgp_state::copro_tgp_memory_r)
@@ -635,7 +635,7 @@ void model2b_state::copro_sharc_map(address_map &map)
{
map(0x0400000, 0x0bfffff).r(m_copro_fifo_in, FUNC(generic_fifo_u32_device::read));
map(0x0c00000, 0x13fffff).w(m_copro_fifo_out, FUNC(generic_fifo_u32_device::write));
- map(0x1400000, 0x1bfffff).rw(this, FUNC(model2b_state::copro_sharc_buffer_r), FUNC(model2b_state::copro_sharc_buffer_w));
+ map(0x1400000, 0x1bfffff).rw(FUNC(model2b_state::copro_sharc_buffer_r), FUNC(model2b_state::copro_sharc_buffer_w));
map(0x1c00000, 0x1dfffff).rom().region("copro_data", 0);
}
@@ -1121,7 +1121,7 @@ void model2_state::model2_base_mem(address_map &map)
map(0x00500000, 0x005fffff).ram().share("workram");
- map(0x00800000, 0x00803fff).rw(this, FUNC(model2_state::geo_r), FUNC(model2_state::geo_w));
+ map(0x00800000, 0x00803fff).rw(FUNC(model2_state::geo_r), FUNC(model2_state::geo_w));
//AM_RANGE(0x00800010, 0x00800013) AM_WRITENOP
//AM_RANGE(0x008000b0, 0x008000b3) AM_WRITENOP
//AM_RANGE(0x00804004, 0x0080400f) AM_WRITENOP // quiet psikyo games
@@ -1130,15 +1130,15 @@ void model2_state::model2_base_mem(address_map &map)
map(0x00900000, 0x0091ffff).mirror(0x60000).ram().share("bufferram");
- map(0x00980004, 0x00980007).r(this, FUNC(model2_state::fifo_control_2a_r));
- map(0x0098000c, 0x0098000f).rw(this, FUNC(model2_state::videoctl_r), FUNC(model2_state::videoctl_w));
- map(0x00980030, 0x0098003f).r(this, FUNC(model2_state::tgpid_r));
+ map(0x00980004, 0x00980007).r(FUNC(model2_state::fifo_control_2a_r));
+ map(0x0098000c, 0x0098000f).rw(FUNC(model2_state::videoctl_r), FUNC(model2_state::videoctl_w));
+ map(0x00980030, 0x0098003f).r(FUNC(model2_state::tgpid_r));
map(0x00e00000, 0x00e00037).ram(); // CPU control (wait-states)
- map(0x00e80000, 0x00e80003).rw(this, FUNC(model2_state::irq_request_r), FUNC(model2_state::irq_ack_w));
- map(0x00e80004, 0x00e80007).rw(this, FUNC(model2_state::irq_enable_r), FUNC(model2_state::irq_enable_w));
+ map(0x00e80000, 0x00e80003).rw(FUNC(model2_state::irq_request_r), FUNC(model2_state::irq_ack_w));
+ map(0x00e80004, 0x00e80007).rw(FUNC(model2_state::irq_enable_r), FUNC(model2_state::irq_enable_w));
- map(0x00f00000, 0x00f0000f).rw(this, FUNC(model2_state::timers_r), FUNC(model2_state::timers_w));
+ map(0x00f00000, 0x00f0000f).rw(FUNC(model2_state::timers_r), FUNC(model2_state::timers_w));
map(0x01000000, 0x0100ffff).rw("tile", FUNC(segas24_tile_device::tile_r), FUNC(segas24_tile_device::tile_w)).mirror(0x110000);
map(0x01020000, 0x01020003).nopw().mirror(0x100000); // ABSEL, always 0
@@ -1147,9 +1147,9 @@ void model2_state::model2_base_mem(address_map &map)
map(0x01070000, 0x01070003).nopw().mirror(0x100000); // Video synchronization switch
map(0x01080000, 0x010fffff).rw("tile", FUNC(segas24_tile_device::char_r), FUNC(segas24_tile_device::char_w)).mirror(0x100000);
- map(0x01800000, 0x01803fff).rw(this, FUNC(model2_state::palette_r), FUNC(model2_state::palette_w));
- map(0x01810000, 0x0181bfff).rw(this, FUNC(model2_state::colorxlat_r), FUNC(model2_state::colorxlat_w));
- map(0x0181c000, 0x0181c003).w(this, FUNC(model2_state::model2_3d_zclip_w));
+ map(0x01800000, 0x01803fff).rw(FUNC(model2_state::palette_r), FUNC(model2_state::palette_w));
+ map(0x01810000, 0x0181bfff).rw(FUNC(model2_state::colorxlat_r), FUNC(model2_state::colorxlat_w));
+ map(0x0181c000, 0x0181c003).w(FUNC(model2_state::model2_3d_zclip_w));
map(0x01a10000, 0x01a13fff).rw(m_m2comm, FUNC(m2comm_device::share_r), FUNC(m2comm_device::share_w));
map(0x01a14000, 0x01a14000).rw(m_m2comm, FUNC(m2comm_device::cn_r), FUNC(m2comm_device::cn_w));
map(0x01a14002, 0x01a14002).rw(m_m2comm, FUNC(m2comm_device::fg_r), FUNC(m2comm_device::fg_w));
@@ -1159,19 +1159,19 @@ void model2_state::model2_base_mem(address_map &map)
// "extra" data
map(0x06000000, 0x06ffffff).rom().region("main_data", 0x1000000);
- map(0x10000000, 0x101fffff).rw(this, FUNC(model2_state::render_mode_r), FUNC(model2_state::render_mode_w));
+ map(0x10000000, 0x101fffff).rw(FUNC(model2_state::render_mode_r), FUNC(model2_state::render_mode_w));
// AM_RANGE(0x10200000, 0x103fffff) renderer status register
- map(0x10400000, 0x105fffff).r(this, FUNC(model2_state::polygon_count_r));
+ map(0x10400000, 0x105fffff).r(FUNC(model2_state::polygon_count_r));
// AM_RANGE(0x10600000, 0x107fffff) polygon data ping
// AM_RANGE(0x10800000, 0x109fffff) polygon data pong
// AM_RANGE(0x10a00000, 0x10bfffff) fill memory ping
// AM_RANGE(0x10c00000, 0x10dfffff) fill memory pong
// format is xGGGGGRRRRRBBBBB (512x400)
- map(0x11600000, 0x1167ffff).rw(this, FUNC(model2_state::fbvram_bankA_r), FUNC(model2_state::fbvram_bankA_w)); // framebuffer A (last bronx title screen)
- map(0x11680000, 0x116fffff).rw(this, FUNC(model2_state::fbvram_bankB_r), FUNC(model2_state::fbvram_bankB_w)); // framebuffer B
+ map(0x11600000, 0x1167ffff).rw(FUNC(model2_state::fbvram_bankA_r), FUNC(model2_state::fbvram_bankA_w)); // framebuffer A (last bronx title screen)
+ map(0x11680000, 0x116fffff).rw(FUNC(model2_state::fbvram_bankB_r), FUNC(model2_state::fbvram_bankB_w)); // framebuffer B
- map(0x12800000, 0x1281ffff).rw(this, FUNC(model2_state::lumaram_r), FUNC(model2_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
+ map(0x12800000, 0x1281ffff).rw(FUNC(model2_state::lumaram_r), FUNC(model2_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
}
/* common map for 5881 protection */
@@ -1300,16 +1300,16 @@ void model2_tgp_state::model2_tgp_mem(address_map &map)
{
model2_base_mem(map);
- map(0x00804000, 0x00807fff).rw(this, FUNC(model2_tgp_state::geo_prg_r), FUNC(model2_tgp_state::geo_prg_w));
- map(0x00880000, 0x00883fff).w(this, FUNC(model2_tgp_state::copro_function_port_w));
- map(0x00884000, 0x00887fff).rw(this, FUNC(model2_tgp_state::copro_fifo_r), FUNC(model2_tgp_state::copro_fifo_w));
+ map(0x00804000, 0x00807fff).rw(FUNC(model2_tgp_state::geo_prg_r), FUNC(model2_tgp_state::geo_prg_w));
+ map(0x00880000, 0x00883fff).w(FUNC(model2_tgp_state::copro_function_port_w));
+ map(0x00884000, 0x00887fff).rw(FUNC(model2_tgp_state::copro_fifo_r), FUNC(model2_tgp_state::copro_fifo_w));
- map(0x00980000, 0x00980003).rw(this, FUNC(model2_tgp_state::copro_ctl1_r), FUNC(model2_tgp_state::copro_ctl1_w));
- map(0x00980008, 0x0098000b).w(this, FUNC(model2_tgp_state::geo_ctl1_w));
- map(0x009c0000, 0x009cffff).rw(this, FUNC(model2_tgp_state::model2_serial_r), FUNC(model2_tgp_state::model2_serial_w));
+ map(0x00980000, 0x00980003).rw(FUNC(model2_tgp_state::copro_ctl1_r), FUNC(model2_tgp_state::copro_ctl1_w));
+ map(0x00980008, 0x0098000b).w(FUNC(model2_tgp_state::geo_ctl1_w));
+ map(0x009c0000, 0x009cffff).rw(FUNC(model2_tgp_state::model2_serial_r), FUNC(model2_tgp_state::model2_serial_w));
- map(0x12000000, 0x121fffff).ram().w(this, FUNC(model2o_state::tex0_w)).mirror(0x200000).share("textureram0"); // texture RAM 0
- map(0x12400000, 0x125fffff).ram().w(this, FUNC(model2o_state::tex1_w)).mirror(0x200000).share("textureram1"); // texture RAM 1
+ map(0x12000000, 0x121fffff).ram().w(FUNC(model2o_state::tex0_w)).mirror(0x200000).share("textureram0"); // texture RAM 0
+ map(0x12400000, 0x125fffff).ram().w(FUNC(model2o_state::tex1_w)).mirror(0x200000).share("textureram1"); // texture RAM 1
}
/* original Model 2 overrides */
@@ -1319,9 +1319,9 @@ void model2o_state::model2o_mem(address_map &map)
map(0x00200000, 0x0021ffff).ram();
map(0x00220000, 0x0023ffff).rom().region("maincpu", 0x20000);
- map(0x00980004, 0x00980007).r(this, FUNC(model2o_state::fifo_control_2o_r));
+ map(0x00980004, 0x00980007).r(FUNC(model2o_state::fifo_control_2o_r));
map(0x01c00000, 0x01c00fff).rw("dpram", FUNC(mb8421_device::right_r), FUNC(mb8421_device::right_w)).umask32(0x00ff00ff); // 2k*8-bit dual port ram
- map(0x01c80000, 0x01c80003).rw(this, FUNC(model2o_state::model2_serial_r), FUNC(model2o_state::model2_serial_w));
+ map(0x01c80000, 0x01c80003).rw(FUNC(model2o_state::model2_serial_r), FUNC(model2o_state::model2_serial_w));
}
/* Daytona "To The MAXX" PIC protection simulation */
@@ -1369,7 +1369,7 @@ READ32_MEMBER(model2o_maxx_state::maxx_r)
void model2o_maxx_state::model2o_maxx_mem(address_map &map)
{
model2o_mem(map);
- map(0x00240000, 0x0024ffff).r(this, FUNC(model2o_maxx_state::maxx_r));
+ map(0x00240000, 0x0024ffff).r(FUNC(model2o_maxx_state::maxx_r));
}
READ8_MEMBER(model2o_gtx_state::gtx_r)
@@ -1389,7 +1389,7 @@ READ8_MEMBER(model2o_gtx_state::gtx_r)
void model2o_gtx_state::model2o_gtx_mem(address_map &map)
{
model2o_mem(map);
- map(0x02c00000,0x02cfffff).r(this, FUNC(model2o_gtx_state::gtx_r));
+ map(0x02c00000,0x02cfffff).r(FUNC(model2o_gtx_state::gtx_r));
}
/* TODO: read by Sonic the Fighters (bit 1), unknown purpose */
@@ -1409,7 +1409,7 @@ void model2a_state::model2a_crx_mem(address_map &map)
map(0x00200000, 0x0023ffff).ram();
map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
map(0x01c00040, 0x01c00043).nopw();
- map(0x01c80000, 0x01c80003).rw(this, FUNC(model2a_state::model2_serial_r), FUNC(model2a_state::model2_serial_w));
+ map(0x01c80000, 0x01c80003).rw(FUNC(model2a_state::model2_serial_r), FUNC(model2a_state::model2_serial_w));
}
void model2a_state::model2a_5881_mem(address_map &map)
@@ -1425,31 +1425,31 @@ void model2b_state::model2b_crx_mem(address_map &map)
map(0x00200000, 0x0023ffff).ram();
- map(0x00804000, 0x00807fff).rw(this, FUNC(model2b_state::geo_prg_r), FUNC(model2b_state::geo_prg_w));
+ map(0x00804000, 0x00807fff).rw(FUNC(model2b_state::geo_prg_r), FUNC(model2b_state::geo_prg_w));
//AM_RANGE(0x00804000, 0x00807fff) AM_READWRITE(geo_sharc_fifo_r, geo_sharc_fifo_w)
//AM_RANGE(0x00840000, 0x00840fff) AM_WRITE(geo_sharc_iop_w)
- map(0x00880000, 0x00883fff).w(this, FUNC(model2b_state::copro_function_port_w));
- map(0x00884000, 0x00887fff).rw(this, FUNC(model2b_state::copro_fifo_r), FUNC(model2b_state::copro_fifo_w));
- map(0x008c0000, 0x008c0fff).w(this, FUNC(model2b_state::copro_sharc_iop_w));
+ map(0x00880000, 0x00883fff).w(FUNC(model2b_state::copro_function_port_w));
+ map(0x00884000, 0x00887fff).rw(FUNC(model2b_state::copro_fifo_r), FUNC(model2b_state::copro_fifo_w));
+ map(0x008c0000, 0x008c0fff).w(FUNC(model2b_state::copro_sharc_iop_w));
- map(0x00980000, 0x00980003).rw(this, FUNC(model2b_state::copro_ctl1_r), FUNC(model2b_state::copro_ctl1_w));
- map(0x00980008, 0x0098000b).w(this, FUNC(model2b_state::geo_ctl1_w));
- map(0x00980014, 0x00980017).r(this, FUNC(model2b_state::copro_status_r));
+ map(0x00980000, 0x00980003).rw(FUNC(model2b_state::copro_ctl1_r), FUNC(model2b_state::copro_ctl1_w));
+ map(0x00980008, 0x0098000b).w(FUNC(model2b_state::geo_ctl1_w));
+ map(0x00980014, 0x00980017).r(FUNC(model2b_state::copro_status_r));
//AM_RANGE(0x00980008, 0x0098000b) AM_WRITE(geo_sharc_ctl1_w )
- map(0x009c0000, 0x009cffff).rw(this, FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
+ map(0x009c0000, 0x009cffff).rw(FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
map(0x11000000, 0x110fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
map(0x11100000, 0x111fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
map(0x11200000, 0x112fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
map(0x11300000, 0x113fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
- map(0x11400000, 0x1140ffff).rw(this, FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w)); // polygon "luma" RAM (2b/2c)
- map(0x12800000, 0x1281ffff).rw(this, FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
+ map(0x11400000, 0x1140ffff).rw(FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w)); // polygon "luma" RAM (2b/2c)
+ map(0x12800000, 0x1281ffff).rw(FUNC(model2b_state::lumaram_r), FUNC(model2b_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
map(0x01c00040, 0x01c00043).nopw();
- map(0x01c80000, 0x01c80003).rw(this, FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
+ map(0x01c80000, 0x01c80003).rw(FUNC(model2b_state::model2_serial_r), FUNC(model2b_state::model2_serial_w));
}
void model2b_state::model2b_5881_mem(address_map &map)
@@ -1465,22 +1465,22 @@ void model2c_state::model2c_crx_mem(address_map &map)
map(0x00200000, 0x0023ffff).ram();
- map(0x00804000, 0x00807fff).rw(this, FUNC(model2c_state::geo_prg_r), FUNC(model2c_state::geo_prg_w));
- map(0x00880000, 0x00883fff).w(this, FUNC(model2c_state::copro_function_port_w));
- map(0x00884000, 0x00887fff).rw(this, FUNC(model2c_state::copro_fifo_r), FUNC(model2c_state::copro_fifo_w));
+ map(0x00804000, 0x00807fff).rw(FUNC(model2c_state::geo_prg_r), FUNC(model2c_state::geo_prg_w));
+ map(0x00880000, 0x00883fff).w(FUNC(model2c_state::copro_function_port_w));
+ map(0x00884000, 0x00887fff).rw(FUNC(model2c_state::copro_fifo_r), FUNC(model2c_state::copro_fifo_w));
- map(0x00980000, 0x00980003).rw(this, FUNC(model2c_state::copro_ctl1_r), FUNC(model2c_state::copro_ctl1_w));
- map(0x00980008, 0x0098000b).w(this, FUNC(model2c_state::geo_ctl1_w));
- map(0x00980014, 0x00980017).r(this, FUNC(model2c_state::copro_status_r));
- map(0x009c0000, 0x009cffff).rw(this, FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
+ map(0x00980000, 0x00980003).rw(FUNC(model2c_state::copro_ctl1_r), FUNC(model2c_state::copro_ctl1_w));
+ map(0x00980008, 0x0098000b).w(FUNC(model2c_state::geo_ctl1_w));
+ map(0x00980014, 0x00980017).r(FUNC(model2c_state::copro_status_r));
+ map(0x009c0000, 0x009cffff).rw(FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
map(0x11000000, 0x111fffff).ram().share("textureram0"); // texture RAM 0 (2b/2c)
map(0x11200000, 0x113fffff).ram().share("textureram1"); // texture RAM 1 (2b/2c)
- map(0x11400000, 0x1140ffff).rw(this, FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w)); // polygon "luma" RAM (2b/2c)
- map(0x12800000, 0x1281ffff).rw(this, FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
+ map(0x11400000, 0x1140ffff).rw(FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w)); // polygon "luma" RAM (2b/2c)
+ map(0x12800000, 0x1281ffff).rw(FUNC(model2c_state::lumaram_r), FUNC(model2c_state::lumaram_w)).umask32(0x0000ffff); // polygon "luma" RAM
map(0x01c00000, 0x01c0001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
- map(0x01c80000, 0x01c80003).rw(this, FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
+ map(0x01c80000, 0x01c80003).rw(FUNC(model2c_state::model2_serial_r), FUNC(model2c_state::model2_serial_w));
}
void model2c_state::model2c_5881_mem(address_map &map)
@@ -2390,7 +2390,7 @@ void model2_state::model2_snd(address_map &map)
{
map(0x000000, 0x07ffff).ram().region("audiocpu", 0).share("soundram");
map(0x100000, 0x100fff).rw(m_scsp, FUNC(scsp_device::read), FUNC(scsp_device::write));
- map(0x400000, 0x400001).w(this, FUNC(model2_state::model2snd_ctrl));
+ map(0x400000, 0x400001).w(FUNC(model2_state::model2snd_ctrl));
map(0x600000, 0x67ffff).rom().region("audiocpu", 0x80000);
map(0x800000, 0x9fffff).rom().region("scsp", 0);
map(0xa00000, 0xdfffff).bankr("bank4");