(nw) more cleanup - remove more literal tags, split redline/offroad/etc. out of leland state

This commit is contained in:
Vas Crabb 2018-06-02 03:29:30 +10:00
parent 993b52015a
commit ea579a59a8
5 changed files with 150 additions and 133 deletions

View File

@ -97,13 +97,13 @@ void leland_state::master_map_io(address_map &map)
map(0xfd, 0xff).rw(this, FUNC(leland_state::leland_master_analog_key_r), FUNC(leland_state::leland_master_analog_key_w));
}
void leland_state::master_redline_map_io(address_map &map)
void redline_state::master_redline_map_io(address_map &map)
{
map.global_mask(0xff);
map(0xf0, 0xf0).w(this, FUNC(leland_state::leland_master_alt_bankswitch_w));
map(0xf0, 0xf0).w(this, FUNC(redline_state::redline_master_alt_bankswitch_w));
map(0xf2, 0xf2).rw(m_sound, FUNC(leland_80186_sound_device::leland_80186_response_r), FUNC(leland_80186_sound_device::leland_80186_command_lo_w));
map(0xf4, 0xf4).w(m_sound, FUNC(leland_80186_sound_device::leland_80186_command_hi_w));
map(0xfd, 0xff).rw(this, FUNC(leland_state::leland_master_analog_key_r), FUNC(leland_state::leland_master_analog_key_w));
map(0xfd, 0xff).rw(this, FUNC(redline_state::leland_master_analog_key_r), FUNC(redline_state::leland_master_analog_key_w));
}
@ -148,7 +148,7 @@ void leland_state::slave_small_map_program(address_map &map)
}
void leland_state::slave_large_map_program(address_map &map)
void redline_state::slave_large_map_program(address_map &map)
{
map(0x0000, 0x1fff).rom();
map(0x4000, 0xbfff).bankr(m_slave_bankslot);
@ -981,16 +981,16 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(leland_state::leland)
/* basic machine hardware */
MCFG_DEVICE_ADD("master", Z80, MASTER_CLOCK/2)
MCFG_DEVICE_ADD(m_master, Z80, MASTER_CLOCK/2)
MCFG_DEVICE_PROGRAM_MAP(master_map_program)
MCFG_DEVICE_IO_MAP(master_map_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", leland_state, leland_master_interrupt)
MCFG_DEVICE_ADD("slave", Z80, MASTER_CLOCK/2)
MCFG_DEVICE_ADD(m_slave, Z80, MASTER_CLOCK/2)
MCFG_DEVICE_PROGRAM_MAP(slave_small_map_program)
MCFG_DEVICE_IO_MAP(slave_map_io)
MCFG_EEPROM_SERIAL_93C46_ADD("eeprom")
MCFG_EEPROM_SERIAL_93C46_ADD(m_eeprom)
MCFG_NVRAM_ADD_0FILL("battery")
/* video hardware */
@ -1013,15 +1013,15 @@ MACHINE_CONFIG_START(leland_state::leland)
// MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(*this, leland_state, leland_sound_port_w))
// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
MCFG_DEVICE_ADD("dac0", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_DEVICE_ADD("dac1", DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u88 + r27-r34 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_DEVICE_ADD(m_dac[0], DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u79 + r17-r23 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_DEVICE_ADD(m_dac[1], DAC_8BIT_BINARY_WEIGHTED, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.0625) // ls374.u88 + r27-r34 (24k,12k,6.2k,3k,1.5k,750,390,180)
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
MCFG_SOUND_ROUTE(0, "dac0", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac0", -1.0, DAC_VREF_NEG_INPUT)
MCFG_SOUND_ROUTE(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac1", -1.0, DAC_VREF_NEG_INPUT)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(leland_state::redline)
MACHINE_CONFIG_START(redline_state::redline)
leland(config);
/* basic machine hardware */
@ -1029,19 +1029,19 @@ MACHINE_CONFIG_START(leland_state::redline)
MCFG_DEVICE_IO_MAP(master_redline_map_io)
/* sound hardware */
MCFG_DEVICE_ADD("custom", REDLINE_80186, 0)
MCFG_DEVICE_ADD(m_sound, REDLINE_80186, 0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(leland_state::quarterb)
MACHINE_CONFIG_START(redline_state::quarterb)
redline(config);
/* sound hardware */
MCFG_DEVICE_REPLACE("custom", LELAND_80186, 0)
MCFG_DEVICE_REPLACE(m_sound, LELAND_80186, 0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(leland_state::lelandi)
MACHINE_CONFIG_START(redline_state::lelandi)
quarterb(config);
/* basic machine hardware */
@ -1053,15 +1053,15 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(ataxx_state::ataxx)
/* basic machine hardware */
MCFG_DEVICE_ADD("master", Z80, 6000000)
MCFG_DEVICE_ADD(m_master, Z80, 6000000)
MCFG_DEVICE_PROGRAM_MAP(master_map_program_2)
MCFG_DEVICE_IO_MAP(master_map_io_2)
MCFG_DEVICE_ADD("slave", Z80, 6000000)
MCFG_DEVICE_ADD(m_slave, Z80, 6000000)
MCFG_DEVICE_PROGRAM_MAP(slave_map_program)
MCFG_DEVICE_IO_MAP(slave_map_io_2)
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
MCFG_EEPROM_SERIAL_93C56_ADD(m_eeprom)
MCFG_EEPROM_SERIAL_ENABLE_STREAMING()
MCFG_NVRAM_ADD_0FILL("battery")
@ -1070,15 +1070,14 @@ MACHINE_CONFIG_START(ataxx_state::ataxx)
ataxx_video(config);
/* sound hardware */
MCFG_DEVICE_ADD("custom", ATAXX_80186, 0)
MCFG_DEVICE_ADD(m_sound, ATAXX_80186, 0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(ataxx_state::wsf)
ataxx(config);
MCFG_DEVICE_REMOVE("custom")
MCFG_DEVICE_ADD("custom", WSF_80186, 0)
MCFG_DEVICE_REPLACE(m_sound, WSF_80186, 0)
MACHINE_CONFIG_END
@ -3075,7 +3074,7 @@ void leland_state::init_strkzone()
}
void leland_state::init_redlin2p()
void redline_state::init_redlin2p()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::redline_bankswitch;
@ -3086,14 +3085,14 @@ void leland_state::init_redlin2p()
init_master_ports(0x00, 0xc0);
/* set up additional input ports */
m_master->space(AS_IO).install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(leland_state::redline_pedal_1_r),this));
m_master->space(AS_IO).install_read_handler(0xd0, 0xd0, read8_delegate(FUNC(leland_state::redline_pedal_2_r),this));
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::redline_wheel_2_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::redline_wheel_1_r),this));
m_master->space(AS_IO).install_read_handler(0xc0, 0xc0, read8_delegate(FUNC(redline_state::redline_pedal_1_r),this));
m_master->space(AS_IO).install_read_handler(0xd0, 0xd0, read8_delegate(FUNC(redline_state::redline_pedal_2_r),this));
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::redline_wheel_2_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::redline_wheel_1_r),this));
}
void leland_state::init_quarterb()
void redline_state::init_quarterb()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3105,7 +3104,7 @@ void leland_state::init_quarterb()
}
void leland_state::init_viper()
void redline_state::init_viper()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3118,16 +3117,16 @@ void leland_state::init_viper()
init_master_ports(0x00, 0xc0);
/* set up additional input ports */
m_master->space(AS_IO).install_read_handler(0xa4, 0xa4, read8_delegate(FUNC(leland_state::dangerz_input_upper_r),this));
m_master->space(AS_IO).install_read_handler(0xb8, 0xb8, read8_delegate(FUNC(leland_state::dangerz_input_y_r),this));
m_master->space(AS_IO).install_read_handler(0xbc, 0xbc, read8_delegate(FUNC(leland_state::dangerz_input_x_r),this));
m_master->space(AS_IO).install_read_handler(0xa4, 0xa4, read8_delegate(FUNC(redline_state::dangerz_input_upper_r),this));
m_master->space(AS_IO).install_read_handler(0xb8, 0xb8, read8_delegate(FUNC(redline_state::dangerz_input_y_r),this));
m_master->space(AS_IO).install_read_handler(0xbc, 0xbc, read8_delegate(FUNC(redline_state::dangerz_input_x_r),this));
save_item(NAME(m_dangerz_x));
save_item(NAME(m_dangerz_y));
}
void leland_state::init_teamqb()
void redline_state::init_teamqb()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3145,7 +3144,7 @@ void leland_state::init_teamqb()
}
void leland_state::init_aafb()
void redline_state::init_aafb()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3163,7 +3162,7 @@ void leland_state::init_aafb()
}
void leland_state::init_aafbb()
void redline_state::init_aafbb()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3181,7 +3180,7 @@ void leland_state::init_aafbb()
}
void leland_state::init_aafbd2p()
void redline_state::init_aafbd2p()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::viper_bankswitch;
@ -3199,7 +3198,7 @@ void leland_state::init_aafbd2p()
}
void leland_state::init_offroad()
void redline_state::init_offroad()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::offroad_bankswitch;
@ -3213,13 +3212,13 @@ void leland_state::init_offroad()
init_master_ports(0x40, 0x80); /* yes, this is intentional */
/* set up additional input ports */
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),this));
m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),this));
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::offroad_wheel_3_r),this));
m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(redline_state::offroad_wheel_1_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::offroad_wheel_2_r),this));
}
void leland_state::init_offroadt()
void redline_state::init_offroadt()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::offroad_bankswitch;
@ -3232,13 +3231,13 @@ void leland_state::init_offroadt()
init_master_ports(0x80, 0x40);
/* set up additional input ports */
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(leland_state::offroad_wheel_3_r),this));
m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(leland_state::offroad_wheel_1_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(leland_state::offroad_wheel_2_r),this));
m_master->space(AS_IO).install_read_handler(0xf8, 0xf8, read8_delegate(FUNC(redline_state::offroad_wheel_3_r),this));
m_master->space(AS_IO).install_read_handler(0xf9, 0xf9, read8_delegate(FUNC(redline_state::offroad_wheel_1_r),this));
m_master->space(AS_IO).install_read_handler(0xfb, 0xfb, read8_delegate(FUNC(redline_state::offroad_wheel_2_r),this));
}
void leland_state::init_pigout()
void redline_state::init_pigout()
{
/* master CPU bankswitching */
m_update_master_bank = &leland_state::offroad_bankswitch;
@ -3293,7 +3292,7 @@ void ataxx_state::init_indyheat()
leland_rotate_memory("slave");
/* set up additional input ports */
m_master->space(AS_IO).install_read_handler(0x00, 0x02, read8_delegate(FUNC(ataxx_state::indyheat_wheel_r),this));
m_master->space(AS_IO).install_read_handler(0x00, 0x02, read8_delegate(FUNC(ataxx_state::ataxx_trackball_r),this));
m_master->space(AS_IO).install_read_handler(0x08, 0x0b, read8_delegate(FUNC(ataxx_state::indyheat_analog_r),this));
m_master->space(AS_IO).install_read_port(0x0d, 0x0d, "P1");
m_master->space(AS_IO).install_read_port(0x0e, 0x0e, "P2");
@ -3356,35 +3355,35 @@ GAME( 1987, dblplay, 0, leland, basebal2, leland_state, init_dblpl
GAME( 1988, strkzone, 0, leland, basebal2, leland_state, init_strkzone, ROT0, "Leland Corporation", "Strike Zone Baseball", 0 )
/* large master banks, small slave banks, 80186 sound */
GAME( 1987, redlin2p, 0, redline, redline, leland_state, init_redlin2p, ROT270, "Cinematronics (Tradewest license)", "Redline Racer (2 players)", 0 )
GAME( 1987, quarterb, 0, quarterb, quarterb, leland_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 5)", 0 )
GAME( 1987, quarterba, quarterb, quarterb, quarterb, leland_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 2)", 0 )
GAME( 1987, quarterbc, quarterb, quarterb, quarterb, leland_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 1, cocktail)", 0 )
GAME( 1987, redlin2p, 0, redline, redline, redline_state, init_redlin2p, ROT270, "Cinematronics (Tradewest license)", "Redline Racer (2 players)", 0 )
GAME( 1987, quarterb, 0, quarterb, quarterb, redline_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 5)", 0 )
GAME( 1987, quarterba, quarterb, quarterb, quarterb, redline_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 2)", 0 )
GAME( 1987, quarterbc, quarterb, quarterb, quarterb, redline_state, init_quarterb, ROT270, "Leland Corporation", "Quarterback (rev 1, cocktail)", 0 )
/* large master banks, large slave banks, 80186 sound */
GAME( 1988, viper, 0, lelandi, dangerz, leland_state, init_viper, ROT0, "Leland Corporation", "Viper (rev 3)", 0 )
GAME( 1988, teamqb, 0, lelandi, teamqb, leland_state, init_teamqb, ROT270, "Leland Corporation", "John Elway's Team Quarterback (rev 3)", 0 )
GAME( 1988, teamqb2, teamqb, lelandi, teamqb, leland_state, init_teamqb, ROT270, "Leland Corporation", "John Elway's Team Quarterback (rev 2)", 0 )
GAME( 1989, aafb, 0, lelandi, teamqb, leland_state, init_aafb, ROT270, "Leland Corporation", "All American Football (rev E)", 0 )
GAME( 1989, aafbd2p, aafb, lelandi, aafb2p, leland_state, init_aafbd2p, ROT270, "Leland Corporation", "All American Football (rev D, 2 Players)", 0 )
GAME( 1989, aafbc, aafb, lelandi, teamqb, leland_state, init_aafbb, ROT270, "Leland Corporation", "All American Football (rev C)", 0 )
GAME( 1989, aafbb, aafb, lelandi, teamqb, leland_state, init_aafbb, ROT270, "Leland Corporation", "All American Football (rev B)", MACHINE_NOT_WORKING )
GAME( 1988, viper, 0, lelandi, dangerz, redline_state, init_viper, ROT0, "Leland Corporation", "Viper (rev 3)", 0 )
GAME( 1988, teamqb, 0, lelandi, teamqb, redline_state, init_teamqb, ROT270, "Leland Corporation", "John Elway's Team Quarterback (rev 3)", 0 )
GAME( 1988, teamqb2, teamqb, lelandi, teamqb, redline_state, init_teamqb, ROT270, "Leland Corporation", "John Elway's Team Quarterback (rev 2)", 0 )
GAME( 1989, aafb, 0, lelandi, teamqb, redline_state, init_aafb, ROT270, "Leland Corporation", "All American Football (rev E)", 0 )
GAME( 1989, aafbd2p, aafb, lelandi, aafb2p, redline_state, init_aafbd2p, ROT270, "Leland Corporation", "All American Football (rev D, 2 Players)", 0 )
GAME( 1989, aafbc, aafb, lelandi, teamqb, redline_state, init_aafbb, ROT270, "Leland Corporation", "All American Football (rev C)", 0 )
GAME( 1989, aafbb, aafb, lelandi, teamqb, redline_state, init_aafbb, ROT270, "Leland Corporation", "All American Football (rev B)", MACHINE_NOT_WORKING )
/* huge master banks, large slave banks, 80186 sound */
GAME( 1989, offroad, 0, lelandi, offroad, leland_state, init_offroad, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road (rev 4)", 0 )
GAME( 1989, offroad3, offroad, lelandi, offroad, leland_state, init_offroad, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road (rev 3)", 0 )
GAME( 1989, offroadt, 0, lelandi, offroad, leland_state, init_offroadt, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road Track-Pak", 0 )
GAME( 1989, offroadt2p, offroadt, lelandi, offroadt2p, leland_state, init_offroadt, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road Track-Pak (rev 4, 2 Players)", 0 )
GAME( 1990, pigout, 0, lelandi, pigout, leland_state, init_pigout, ROT0, "Leland Corporation", "Pig Out: Dine Like a Swine! (rev 2?)", 0 ) /* need to verify revision */
GAME( 1990, pigouta, pigout, lelandi, pigout, leland_state, init_pigout, ROT0, "Leland Corporation", "Pig Out: Dine Like a Swine! (rev 1)", 0 )
GAME( 1989, offroad, 0, lelandi, offroad, redline_state, init_offroad, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road (rev 4)", 0 )
GAME( 1989, offroad3, offroad, lelandi, offroad, redline_state, init_offroad, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road (rev 3)", 0 )
GAME( 1989, offroadt, 0, lelandi, offroad, redline_state, init_offroadt, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road Track-Pak", 0 )
GAME( 1989, offroadt2p, offroadt, lelandi, offroadt2p, redline_state, init_offroadt, ROT0, "Leland Corporation", "Ironman Ivan Stewart's Super Off-Road Track-Pak (rev 4, 2 Players)", 0 )
GAME( 1990, pigout, 0, lelandi, pigout, redline_state, init_pigout, ROT0, "Leland Corporation", "Pig Out: Dine Like a Swine! (rev 2?)", 0 ) /* need to verify revision */
GAME( 1990, pigouta, pigout, lelandi, pigout, redline_state, init_pigout, ROT0, "Leland Corporation", "Pig Out: Dine Like a Swine! (rev 1)", 0 )
/* Ataxx-era PCB, 80186 sound */
GAME( 1990, ataxx, 0, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (rev 5)", 0 )
GAME( 1990, ataxxa, ataxx, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (rev 4)", 0 )
GAME( 1990, ataxxe, ataxx, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (Europe)", 0 )
GAME( 1990, ataxxj, ataxx, ataxx, ataxx, ataxx_state, init_ataxxj, ROT0, "Leland Corporation (Capcom license)", "Ataxx (Japan)", 0 )
GAME( 1990, wsf, 0, wsf, wsf, ataxx_state, init_wsf, ROT0, "Leland Corporation", "World Soccer Finals (rev 4)", 0 )
GAME( 1990, wsf3, wsf, wsf, wsf, ataxx_state, init_wsf, ROT0, "Leland Corporation", "World Soccer Finals (rev 3)", 0 )
GAME( 1991, indyheat, 0, wsf, indyheat, ataxx_state, init_indyheat, ROT0, "Leland Corporation", "Danny Sullivan's Indy Heat (rev 1)", 0 )
GAME( 1991, brutforc, 0, wsf, brutforc, ataxx_state, init_brutforc, ROT0, "Leland Corporation", "Brute Force", 0 )
GAME( 1991, asylum, 0, wsf, brutforc, ataxx_state, init_asylum, ROT270, "Leland Corporation", "Asylum (prototype)", 0 )
GAME( 1990, ataxx, 0, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (rev 5)", 0 )
GAME( 1990, ataxxa, ataxx, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (rev 4)", 0 )
GAME( 1990, ataxxe, ataxx, ataxx, ataxx, ataxx_state, init_ataxx, ROT0, "Leland Corporation", "Ataxx (Europe)", 0 )
GAME( 1990, ataxxj, ataxx, ataxx, ataxx, ataxx_state, init_ataxxj, ROT0, "Leland Corporation (Capcom license)", "Ataxx (Japan)", 0 )
GAME( 1990, wsf, 0, wsf, wsf, ataxx_state, init_wsf, ROT0, "Leland Corporation", "World Soccer Finals (rev 4)", 0 )
GAME( 1990, wsf3, wsf, wsf, wsf, ataxx_state, init_wsf, ROT0, "Leland Corporation", "World Soccer Finals (rev 3)", 0 )
GAME( 1991, indyheat, 0, wsf, indyheat, ataxx_state, init_indyheat, ROT0, "Leland Corporation", "Danny Sullivan's Indy Heat (rev 1)", 0 )
GAME( 1991, brutforc, 0, wsf, brutforc, ataxx_state, init_brutforc, ROT0, "Leland Corporation", "Brute Force", 0 )
GAME( 1991, asylum, 0, wsf, brutforc, ataxx_state, init_asylum, ROT270, "Leland Corporation", "Asylum (prototype)", 0 )

View File

@ -102,11 +102,11 @@ static constexpr XTAL MAIN_CLOCK = 15.9744_MHz_XTAL;
void osborne1_state::osborne1_mem(address_map &map)
{
map(0x0000, 0x0FFF).bankr("bank_0xxx").w(this, FUNC(osborne1_state::bank_0xxx_w));
map(0x1000, 0x1FFF).bankr("bank_1xxx").w(this, FUNC(osborne1_state::bank_1xxx_w));
map(0x0000, 0x0FFF).bankr(m_bank_0xxx).w(this, FUNC(osborne1_state::bank_0xxx_w));
map(0x1000, 0x1FFF).bankr(m_bank_1xxx).w(this, FUNC(osborne1_state::bank_1xxx_w));
map(0x2000, 0x3FFF).rw(this, FUNC(osborne1_state::bank_2xxx_3xxx_r), FUNC(osborne1_state::bank_2xxx_3xxx_w));
map(0x4000, 0xEFFF).ram();
map(0xF000, 0xFFFF).bankr("bank_fxxx").w(this, FUNC(osborne1_state::videoram_w));
map(0xF000, 0xFFFF).bankr(m_bank_fxxx).w(this, FUNC(osborne1_state::videoram_w));
}

View File

@ -73,7 +73,7 @@ ToDo:
void zorba_state::zorba_mem(address_map &map)
{
map(0x0000, 0x3fff).bankr("bankr0").bankw("bankw0");
map(0x0000, 0x3fff).bankr(m_read_bank).bankw("bankw0");
map(0x4000, 0xffff).ram();
}
@ -273,8 +273,8 @@ void zorba_state::machine_start()
{
uint8_t *main = memregion("maincpu")->base();
membank("bankr0")->configure_entry(0, &main[0x0000]);
membank("bankr0")->configure_entry(1, &main[0x10000]);
m_read_bank->configure_entry(0, &main[0x0000]);
m_read_bank->configure_entry(1, &main[0x10000]);
membank("bankw0")->configure_entry(0, &main[0x0000]);
save_item(NAME(m_intmask));
@ -304,7 +304,7 @@ void zorba_state::machine_reset()
m_pia0->cb1_w(m_printer_prowriter ? m_printer_select : m_printer_fault);
m_read_bank->set_entry(1); // point at rom
membank("bankw0")->set_entry(0); // always write to ram
membank("bankw0")->set_entry(0); // always write to RAM
m_maincpu->reset();
}

View File

@ -37,7 +37,6 @@ public:
, m_mainram(*this, "mainram")
, m_battery_ram(*this, "battery")
, m_eeprom(*this, "eeprom")
, m_sound(*this, "custom")
, m_dac(*this, "dac%u", 0U)
, m_ay8910(*this, "ay8910")
, m_ay8912(*this, "ay8912")
@ -57,7 +56,6 @@ public:
required_shared_ptr<uint8_t> m_mainram;
required_shared_ptr<uint8_t> m_battery_ram;
required_device<eeprom_serial_93cxx_device> m_eeprom;
optional_device<leland_80186_sound_device> m_sound;
optional_device_array<dac_byte_interface, 2> m_dac;
optional_device<ay8910_device> m_ay8910;
optional_device<ay8912_device> m_ay8912;
@ -107,13 +105,6 @@ public:
DECLARE_READ8_MEMBER(dangerz_input_y_r);
DECLARE_READ8_MEMBER(dangerz_input_x_r);
DECLARE_READ8_MEMBER(dangerz_input_upper_r);
DECLARE_READ8_MEMBER(redline_pedal_1_r);
DECLARE_READ8_MEMBER(redline_pedal_2_r);
DECLARE_READ8_MEMBER(redline_wheel_1_r);
DECLARE_READ8_MEMBER(redline_wheel_2_r);
DECLARE_READ8_MEMBER(offroad_wheel_1_r);
DECLARE_READ8_MEMBER(offroad_wheel_2_r);
DECLARE_READ8_MEMBER(offroad_wheel_3_r);
DECLARE_WRITE8_MEMBER(leland_master_alt_bankswitch_w);
DECLARE_WRITE8_MEMBER(leland_battery_ram_w);
DECLARE_READ8_MEMBER(leland_master_analog_key_r);
@ -138,25 +129,15 @@ public:
DECLARE_WRITE8_MEMBER(leland_gfx_port_w);
void init_dblplay();
void init_viper();
void init_quarterb();
void init_aafb();
void init_redlin2p();
void init_aafbb();
void init_dangerz();
void init_mayhem();
void init_offroad();
void init_pigout();
void init_alleymas();
void init_offroadt();
void init_teamqb();
void init_strkzone();
void init_wseries();
void init_powrplay();
void init_basebal2();
void init_upyoural();
void init_cerberus();
void init_aafbd2p();
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
@ -191,26 +172,65 @@ public:
void keycard_w(int data);
void leland_rotate_memory(const char *cpuname);
void init_master_ports(uint8_t mvram_base, uint8_t io_base);
void redline(machine_config &config);
void lelandi(machine_config &config);
void leland(machine_config &config);
void quarterb(machine_config &config);
void leland_video(machine_config &config);
void master_map_io(address_map &map);
void master_map_program(address_map &map);
void master_redline_map_io(address_map &map);
void slave_large_map_program(address_map &map);
void slave_map_io(address_map &map);
void slave_map_program(address_map &map);
void slave_small_map_program(address_map &map);
};
class redline_state : public leland_state
{
public:
redline_state(const machine_config &mconfig, device_type type, const char *tag)
: leland_state(mconfig, type, tag)
, m_sound(*this, "custom")
{
}
void init_redlin2p();
void init_quarterb();
void init_viper();
void init_teamqb();
void init_aafb();
void init_aafbb();
void init_aafbd2p();
void init_offroad();
void init_offroadt();
void init_pigout();
void redline(machine_config &config);
void quarterb(machine_config &config);
void lelandi(machine_config &config);
protected:
DECLARE_READ8_MEMBER(redline_pedal_1_r);
DECLARE_READ8_MEMBER(redline_pedal_2_r);
DECLARE_READ8_MEMBER(redline_wheel_1_r);
DECLARE_READ8_MEMBER(redline_wheel_2_r);
DECLARE_READ8_MEMBER(offroad_wheel_1_r);
DECLARE_READ8_MEMBER(offroad_wheel_2_r);
DECLARE_READ8_MEMBER(offroad_wheel_3_r);
DECLARE_WRITE8_MEMBER(redline_master_alt_bankswitch_w);
void master_redline_map_io(address_map &map);
void slave_large_map_program(address_map &map);
private:
required_device<leland_80186_sound_device> m_sound;
};
class ataxx_state : public leland_state
{
public:
ataxx_state(const machine_config &mconfig, device_type type, const char *tag)
: leland_state(mconfig, type, tag)
, m_sound(*this, "custom")
, m_track_axes(*this, "AN%u", 0U)
, m_xrom_base(*this, "xrom")
{
}
@ -227,7 +247,6 @@ public:
protected:
DECLARE_READ8_MEMBER(ataxx_trackball_r);
DECLARE_READ8_MEMBER(indyheat_wheel_r);
DECLARE_READ8_MEMBER(indyheat_analog_r);
DECLARE_WRITE8_MEMBER(indyheat_analog_w);
@ -259,6 +278,10 @@ protected:
void slave_map_io_2(address_map &map);
private:
required_device<leland_80186_sound_device> m_sound;
optional_ioport_array<4> m_track_axes;
required_region_ptr<uint8_t> m_xrom_base;
std::unique_ptr<uint8_t[]> m_ataxx_qram;

View File

@ -187,27 +187,27 @@ READ8_MEMBER(leland_state::dangerz_input_upper_r)
static const uint8_t redline_pedal_value[8] = { 0xf0, 0xe0, 0xc0, 0xd0, 0x90, 0xb0, 0x30, 0x70 };
READ8_MEMBER(leland_state::redline_pedal_1_r)
READ8_MEMBER(redline_state::redline_pedal_1_r)
{
int pedal = ioport("IN0")->read();
ioport_value const pedal = ioport("IN0")->read();
return redline_pedal_value[pedal >> 5] | 0x0f;
}
READ8_MEMBER(leland_state::redline_pedal_2_r)
READ8_MEMBER(redline_state::redline_pedal_2_r)
{
int pedal = ioport("IN2")->read();
ioport_value const pedal = ioport("IN2")->read();
return redline_pedal_value[pedal >> 5] | 0x0f;
}
READ8_MEMBER(leland_state::redline_wheel_1_r)
READ8_MEMBER(redline_state::redline_wheel_1_r)
{
return dial_compute_value(ioport("AN0")->read(), 0);
}
READ8_MEMBER(leland_state::redline_wheel_2_r)
READ8_MEMBER(redline_state::redline_wheel_2_r)
{
return dial_compute_value(ioport("AN1")->read(), 1);
}
@ -220,19 +220,19 @@ READ8_MEMBER(leland_state::redline_wheel_2_r)
*
*************************************/
READ8_MEMBER(leland_state::offroad_wheel_1_r)
READ8_MEMBER(redline_state::offroad_wheel_1_r)
{
return dial_compute_value(ioport("AN3")->read(), 0);
}
READ8_MEMBER(leland_state::offroad_wheel_2_r)
READ8_MEMBER(redline_state::offroad_wheel_2_r)
{
return dial_compute_value(ioport("AN4")->read(), 1);
}
READ8_MEMBER(leland_state::offroad_wheel_3_r)
READ8_MEMBER(redline_state::offroad_wheel_3_r)
{
return dial_compute_value(ioport("AN5")->read(), 2);
}
@ -247,9 +247,7 @@ READ8_MEMBER(leland_state::offroad_wheel_3_r)
READ8_MEMBER(ataxx_state::ataxx_trackball_r)
{
static const char *const tracknames[] = { "AN0", "AN1", "AN2", "AN3" };
return dial_compute_value(ioport(tracknames[offset])->read(), offset);
return dial_compute_value(m_track_axes[offset]->read(), offset);
}
@ -260,30 +258,22 @@ READ8_MEMBER(ataxx_state::ataxx_trackball_r)
*
*************************************/
READ8_MEMBER(ataxx_state::indyheat_wheel_r)
{
static const char *const tracknames[] = { "AN0", "AN1", "AN2" };
return dial_compute_value(ioport(tracknames[offset])->read(), offset);
}
READ8_MEMBER(ataxx_state::indyheat_analog_r)
{
switch (offset)
{
case 0:
return 0;
case 0:
return 0;
case 1:
return m_analog_result;
case 1:
return m_analog_result;
case 2:
return 0;
case 2:
return 0;
case 3:
logerror("Unexpected analog read(%02X)\n", 8 + offset);
break;
case 3:
logerror("Unexpected analog read(%02X)\n", 8 + offset);
break;
}
return 0xff;
}
@ -478,10 +468,15 @@ WRITE8_MEMBER(leland_state::leland_master_alt_bankswitch_w)
logerror("%04X:alternate_bank = %02X\n", m_master->pc(), data & 0x0f);
m_alternate_bank = data & 15;
(this->*m_update_master_bank)();
}
WRITE8_MEMBER(redline_state::redline_master_alt_bankswitch_w)
{
leland_master_alt_bankswitch_w(space, offset, data, mem_mask);
/* sound control is in the rest */
if (m_sound)
m_sound->leland_80186_control_w(space, offset, data);
m_sound->leland_80186_control_w(space, offset, data, mem_mask);
}