diff options
Diffstat (limited to 'src/mame/drivers/model2.cpp')
-rw-r--r-- | src/mame/drivers/model2.cpp | 114 |
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"); |