mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
daytona: Add feedback driver board (including ROM)
This commit is contained in:
parent
fa514ee347
commit
8a472f2aae
@ -2424,6 +2424,55 @@ static MACHINE_CONFIG_START( model2o, model2_state )
|
||||
MCFG_M2COMM_ADD("m2comm")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
READ8_MEMBER(model2_state::driveio_portg_r)
|
||||
{
|
||||
return m_driveio_comm_data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(model2_state::driveio_porth_r)
|
||||
{
|
||||
return m_driveio_comm_data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(model2_state::driveio_port_w)
|
||||
{
|
||||
// TODO: hook up to the main CPU
|
||||
// popmessage("%02x",data);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( drive_map, AS_PROGRAM, 8, model2_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( drive_io_map, AS_IO, 8, model2_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITENOP //watchdog
|
||||
AM_RANGE(0x20, 0x2f) AM_DEVREADWRITE("driveio1", sega_315_5296_device, read, write)
|
||||
AM_RANGE(0x40, 0x4f) AM_DEVREADWRITE("driveio2", sega_315_5296_device, read, write)
|
||||
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("driveadc", msm6253_device, d7_r, address_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( sj25_0207_01 )
|
||||
MCFG_CPU_ADD("drivecpu", Z80, 16000000/4) //???
|
||||
MCFG_CPU_PROGRAM_MAP(drive_map)
|
||||
MCFG_CPU_IO_MAP(drive_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", model2_state, irq0_line_hold)
|
||||
|
||||
MCFG_DEVICE_ADD("driveio1", SEGA_315_5296, 0) // unknown clock
|
||||
MCFG_315_5296_OUT_PORTD_CB(WRITE8(model2_state, driveio_port_w))
|
||||
MCFG_315_5296_IN_PORTG_CB(READ8(model2_state, driveio_portg_r))
|
||||
MCFG_315_5296_IN_PORTH_CB(READ8(model2_state, driveio_porth_r))
|
||||
|
||||
MCFG_DEVICE_ADD("driveio2", SEGA_315_5296, 0) // unknown clock
|
||||
|
||||
MCFG_DEVICE_ADD("driveadc", MSM6253, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( daytona, model2o )
|
||||
MCFG_FRAGMENT_ADD(sj25_0207_01)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* 2A-CRX */
|
||||
static MACHINE_CONFIG_START( model2a, model2_state )
|
||||
MCFG_CPU_ADD("maincpu", I960, 25000000)
|
||||
@ -2507,50 +2556,8 @@ static MACHINE_CONFIG_DERIVED( model2a_0229, model2a )
|
||||
// MCFG_SET_5838_READ_CALLBACK(model2_state, crypt_read_callback)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
READ8_MEMBER(model2_state::driveio_portg_r)
|
||||
{
|
||||
return m_driveio_comm_data;
|
||||
}
|
||||
|
||||
READ8_MEMBER(model2_state::driveio_porth_r)
|
||||
{
|
||||
return m_driveio_comm_data;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(model2_state::driveio_port_w)
|
||||
{
|
||||
// TODO: hook up to the main CPU
|
||||
// popmessage("%02x",data);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( drive_map, AS_PROGRAM, 8, model2_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( drive_io_map, AS_IO, 8, model2_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_WRITENOP //watchdog
|
||||
AM_RANGE(0x20, 0x2f) AM_DEVREADWRITE("driveio1", sega_315_5296_device, read, write)
|
||||
AM_RANGE(0x40, 0x4f) AM_DEVREADWRITE("driveio2", sega_315_5296_device, read, write)
|
||||
AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("driveadc", msm6253_device, d7_r, address_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( srallyc, model2a )
|
||||
|
||||
MCFG_CPU_ADD("drivecpu", Z80, 16000000/4) //???
|
||||
MCFG_CPU_PROGRAM_MAP(drive_map)
|
||||
MCFG_CPU_IO_MAP(drive_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", model2_state, irq0_line_hold)
|
||||
|
||||
MCFG_DEVICE_ADD("driveio1", SEGA_315_5296, 0) // unknown clock
|
||||
MCFG_315_5296_OUT_PORTD_CB(WRITE8(model2_state, driveio_port_w))
|
||||
MCFG_315_5296_IN_PORTG_CB(READ8(model2_state, driveio_portg_r))
|
||||
MCFG_315_5296_IN_PORTH_CB(READ8(model2_state, driveio_porth_r))
|
||||
|
||||
MCFG_DEVICE_ADD("driveio2", SEGA_315_5296, 0) // unknown clock
|
||||
|
||||
MCFG_DEVICE_ADD("driveadc", MSM6253, 0)
|
||||
MCFG_FRAGMENT_ADD(sj25_0207_01)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* 2B-CRX */
|
||||
@ -5559,8 +5566,11 @@ ROM_START( daytona ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Mode
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( daytonase ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Model 1 sound board */
|
||||
@ -5620,8 +5630,11 @@ ROM_START( daytonase ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Mo
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( daytona93 ) /* Daytona USA Deluxe '93 version (There is said to be a Deluxe '94 edition) */
|
||||
@ -5680,8 +5693,11 @@ ROM_START( daytona93 ) /* Daytona USA Deluxe '93 version (There is said to be a
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, BAD_DUMP CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) ) // unconfirmed
|
||||
ROM_END
|
||||
|
||||
ROM_START( daytonas ) /* Daytona USA (With Saturn Adverts) */
|
||||
@ -5741,8 +5757,11 @@ ROM_START( daytonas ) /* Daytona USA (With Saturn Adverts) */
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, BAD_DUMP CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) ) // unconfirmed
|
||||
ROM_END
|
||||
|
||||
ROM_START( daytonat )/* Daytona USA (Japan, Turbo hack) */
|
||||
@ -5804,8 +5823,11 @@ ROM_START( daytonat )/* Daytona USA (Japan, Turbo hack) */
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( daytonata )/* Daytona USA (Japan, Turbo hack) */
|
||||
@ -5865,8 +5887,11 @@ ROM_START( daytonata )/* Daytona USA (Japan, Turbo hack) */
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
@ -5937,8 +5962,11 @@ ROM_START( daytonam ) /* Daytona USA (Japan, To The MAXX) */
|
||||
|
||||
MODEL2_CPU_BOARD /* Model 2 CPU board extra roms */
|
||||
|
||||
ROM_REGION( 0x10000, "user7", 0 ) // Unknown ROM
|
||||
ROM_REGION( 0x10000, "iocpu", 0 ) // 837-10539 I/O board
|
||||
ROM_LOAD("epr-14869c.25", 0x000000, 0x010000, CRC(24b68e64) SHA1(c19d044d4c2fe551474492aa51922587394dd371) )
|
||||
|
||||
ROM_REGION( 0x10000, "drivecpu", 0 ) // 838-10646 drive board
|
||||
ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( vcop ) /* Virtua Cop Revision B, Model 2 */
|
||||
@ -6098,6 +6126,7 @@ DRIVER_INIT_MEMBER(model2_state,zerogun)
|
||||
|
||||
DRIVER_INIT_MEMBER(model2_state,daytonam)
|
||||
{
|
||||
DRIVER_INIT_CALL(srallyc);
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x240000, 0x24ffff, read32_delegate(FUNC(model2_state::maxx_r),this));
|
||||
}
|
||||
|
||||
@ -6131,13 +6160,13 @@ DRIVER_INIT_MEMBER(model2_state,srallyc)
|
||||
|
||||
|
||||
// Model 2 (TGPs, Model 1 sound board)
|
||||
GAME( 1993, daytona, 0, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonase, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA Special Edition (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytona93, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA Deluxe '93", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonas, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (With Saturn Adverts)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonat, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (Japan, Turbo hack, set 1)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonata, daytona, model2o, daytona, driver_device, 0, ROT0, "Sega", "Daytona USA (Japan, Turbo hack, set 2)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonam, daytona, model2o, daytona, model2_state, daytonam, ROT0, "Sega", "Daytona USA (Japan, To The MAXX)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytona, 0, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonase, daytona, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA Special Edition (Japan, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytona93, daytona, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA Deluxe '93", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonas, daytona, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA (With Saturn Adverts)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonat, daytona, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA (Japan, Turbo hack, set 1)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonata, daytona, daytona, daytona, model2_state, srallyc, ROT0, "Sega", "Daytona USA (Japan, Turbo hack, set 2)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1993, daytonam, daytona, daytona, daytona, model2_state, daytonam, ROT0, "Sega", "Daytona USA (Japan, To The MAXX)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, desert, 0, model2o, desert, driver_device, 0, ROT0, "Sega / Martin Marietta", "Desert Tank", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vcop, 0, model2o, vcop, driver_device, 0, ROT0, "Sega", "Virtua Cop (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, vcopa, vcop, model2o, vcop, driver_device, 0, ROT0, "Sega", "Virtua Cop (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
Loading…
Reference in New Issue
Block a user