mirror of
https://github.com/holub/mame
synced 2025-05-24 23:05:32 +03:00
rascot boots up now
This commit is contained in:
parent
0da3b45f12
commit
8978edb769
@ -13,6 +13,7 @@
|
||||
due to testing an out-of-bounds value
|
||||
* abcop doesn't like IC41/IC108 (divide chips) in self-test
|
||||
due to testing an out-of-bounds value
|
||||
* rascot is not working at all
|
||||
|
||||
|
||||
Sega X-Board System Overview
|
||||
@ -28,6 +29,7 @@ GP Rider (C) Sega 1990
|
||||
*Last Survivor (C) Sega 1989
|
||||
Line of Fire (C) Sega 1989
|
||||
Racing Hero (C) Sega 1990
|
||||
Royal Ascot (C) Sega 1991 dumped, but very likely incomplete
|
||||
Super Monaco GP (C) Sega 1989
|
||||
Thunder Blade (C) Sega 1987
|
||||
|
||||
@ -704,6 +706,37 @@ static WRITE16_HANDLER( smgp_excs_w )
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Royal Ascot external access
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static READ16_HANDLER( rascot_excs_r )
|
||||
{
|
||||
/* patch out bootup link test */
|
||||
UINT16 *rom = (UINT16 *)space->machine().root_device().memregion("sub")->base();
|
||||
rom[0x57e/2] = 0x4e71;
|
||||
rom[0x5d0/2] = 0x6000;
|
||||
rom[0x5d2/2] = 0x0008;
|
||||
rom[0x606/2] = 0x4e71;
|
||||
|
||||
logerror("%06X:rascot_excs_r(%04X)\n", cpu_get_pc(&space->device()), offset*2);
|
||||
|
||||
// probably receives commands from the server here
|
||||
//return space->machine().rand() & 0xff;
|
||||
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
|
||||
static WRITE16_HANDLER( rascot_excs_w )
|
||||
{
|
||||
logerror("%06X:rascot_excs_w(%04X) = %04X & %04X\n", cpu_get_pc(&space->device()), offset*2, data, mem_mask);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Main CPU memory handlers
|
||||
@ -804,6 +837,17 @@ static ADDRESS_MAP_START( smgp_comm_portmap, AS_IO, 8, segas1x_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( rascot_z80_map, AS_PROGRAM, 8, segas1x_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xafff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( rascot_z80_portmap, AS_IO, 8, segas1x_state )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -1227,6 +1271,12 @@ static INPUT_PORTS_START( gprider )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( rascot )
|
||||
PORT_INCLUDE( xboard_generic )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -1349,6 +1399,14 @@ static MACHINE_CONFIG_DERIVED( smgp, xboard )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( rascot, xboard )
|
||||
|
||||
MCFG_CPU_MODIFY("soundcpu")
|
||||
MCFG_CPU_PROGRAM_MAP(rascot_z80_map)
|
||||
MCFG_CPU_IO_MAP(rascot_z80_portmap)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -2618,8 +2676,8 @@ ROM_END
|
||||
*/
|
||||
ROM_START( gprider )
|
||||
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "epr-13408.ic63", 0x00001, 0x20000, CRC(8e410e97) SHA1(2021d738064e57d175b59ba053d9ee35ed4516c8) )
|
||||
ROM_LOAD16_BYTE( "epr-13409.ic58", 0x00000, 0x20000, CRC(9abb81b6) SHA1(f6308f3ec99ee66677e86f6a915e4dff8557d25f) )
|
||||
ROM_LOAD16_BYTE( "epr-13408.ic63", 0x00001, 0x20000, CRC(8e410e97) SHA1(2021d738064e57d175b59ba053d9ee35ed4516c8) )
|
||||
|
||||
ROM_REGION( 0x2000, "user1", 0 ) /* decryption key */
|
||||
ROM_LOAD( "317-0163.key", 0x0000, 0x2000, CRC(c1d4d207) SHA1(c35b0a49fb6a1e0e9a1c087f0ccd190ad5c2bb2c) )
|
||||
@ -2673,8 +2731,8 @@ ROM_END
|
||||
*/
|
||||
ROM_START( gprideru )
|
||||
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "epr-13406.ic63", 0x00001, 0x20000, CRC(122c711f) SHA1(2bcc51347e771a7e7f770e68b24d82497d24aa2e) )
|
||||
ROM_LOAD16_BYTE( "epr-13407.ic58", 0x00000, 0x20000, CRC(03553ebd) SHA1(041a71a2dce2ad56360f500cb11e29a629020160) )
|
||||
ROM_LOAD16_BYTE( "epr-13406.ic63", 0x00001, 0x20000, CRC(122c711f) SHA1(2bcc51347e771a7e7f770e68b24d82497d24aa2e) )
|
||||
|
||||
ROM_REGION( 0x2000, "user1", 0 ) /* decryption key */
|
||||
ROM_LOAD( "317-0162.key", 0x0000, 0x2000, CRC(8067de53) SHA1(e8cd1dfbad94856c6bd51569557667e72f0a5dd4) )
|
||||
@ -2720,16 +2778,15 @@ ROM_START( gprideru )
|
||||
ROM_LOAD( "epr-13389.ic13", 0x40000, 0x20000, CRC(4e4c758e) SHA1(181750dfcdd6d5b28b063c980c251991163d9474) )
|
||||
ROM_END
|
||||
|
||||
/* Royal Ascot 2 - should be X-Board, or closely related, although it's a main display / terminal setup, and we only have the ROMs for one of those parts.. */
|
||||
|
||||
ROM_START( rascot2 )
|
||||
/* Royal Ascot - should be X-Board, or closely related, although it's a main display / terminal setup, and we only have the ROMs for one of those parts.. */
|
||||
ROM_START( rascot )
|
||||
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
|
||||
ROM_LOAD16_BYTE( "epr-13694a", 0x00001, 0x20000, CRC(15b86498) SHA1(ccb57063ca53347b5f771b0d7ceaeb9cd50d246a) ) // 13964a?
|
||||
ROM_LOAD16_BYTE( "epr-13965a", 0x00000, 0x20000, CRC(7eacdfb3) SHA1(fad23352d9c5e266ad9f7fe3ccbd29b5b912b90b) )
|
||||
ROM_LOAD16_BYTE( "epr-13965a.ic58", 0x00000, 0x20000, CRC(7eacdfb3) SHA1(fad23352d9c5e266ad9f7fe3ccbd29b5b912b90b) )
|
||||
ROM_LOAD16_BYTE( "epr-13694a.ic63", 0x00001, 0x20000, CRC(15b86498) SHA1(ccb57063ca53347b5f771b0d7ceaeb9cd50d246a) ) // 13964a?
|
||||
|
||||
ROM_REGION( 0x80000, "sub", 0 ) /* 2nd 68000 code */
|
||||
ROM_LOAD16_BYTE( "epr-13966", 0x00001, 0x20000, CRC(eaa644e1) SHA1(b9cc171523995f5120ea7b9748af2f8de697b933) )
|
||||
ROM_LOAD16_BYTE( "epr-13967", 0x00000, 0x20000, CRC(3b92e2b8) SHA1(5d456d7d6fa540709facda1fd8813707ebfd99d8) )
|
||||
ROM_LOAD16_BYTE( "epr-13967.ic20", 0x00000, 0x20000, CRC(3b92e2b8) SHA1(5d456d7d6fa540709facda1fd8813707ebfd99d8) )
|
||||
ROM_LOAD16_BYTE( "epr-13966.ic29", 0x00001, 0x20000, CRC(eaa644e1) SHA1(b9cc171523995f5120ea7b9748af2f8de697b933) )
|
||||
|
||||
ROM_REGION( 0x30000, "gfx1", 0 ) /* tiles */
|
||||
ROM_LOAD( "epr-13961", 0x00000, 0x10000, CRC(68038629) SHA1(fbe8605840331096c5156d695772e5f36b2e131a) )
|
||||
@ -2816,6 +2873,13 @@ static DRIVER_INIT( smgp )
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( rascot )
|
||||
{
|
||||
xboard_generic_init(machine);
|
||||
machine.device("sub")->memory().space(AS_PROGRAM)->install_legacy_readwrite_handler(0x0f0000, 0x0f3fff, FUNC(rascot_excs_r), FUNC(rascot_excs_w));
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( gprider )
|
||||
{
|
||||
segas1x_state *state = machine.driver_data<segas1x_state>();
|
||||
@ -2852,4 +2916,4 @@ GAME( 1989, smgpja, smgp, smgp, smgp, smgp, ROT0, "Sega
|
||||
GAME( 1990, abcop, 0, xboard, abcop, generic_xboard, ROT0, "Sega", "A.B. Cop (FD1094 317-0169b)", 0 )
|
||||
GAME( 1990, gprider, 0, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (World, FD1094 317-0163)", 0 )
|
||||
GAME( 1990, gprideru, gprider, xboard, gprider, gprider, ROT0, "Sega", "GP Rider (US, FD1094 317-0162)", 0 )
|
||||
GAME( 1991, rascot2, 0, xboard, thndrbld, generic_xboard, ROT0, "Sega", "Royal Ascot 2", GAME_IS_SKELETON )
|
||||
GAME( 1991, rascot, 0, rascot, rascot, rascot, ROT0, "Sega", "Royal Ascot (Japan, terminal?)", GAME_NOT_WORKING | GAME_NO_SOUND )
|
||||
|
@ -4352,7 +4352,7 @@ abcop // 1990.?? A.B.Cop (World, FD1094, decrypted)
|
||||
// 1990.10 GP Rider (Japan)
|
||||
gprider // 1990.?? GP Rider (World, FD1094, decrypted)
|
||||
gprideru // 1990.12 GP Rider (US, FD1094, decrypted)
|
||||
rascot2 // 1991
|
||||
rascot // 1991.?? Royal Ascot (Japan)
|
||||
|
||||
|
||||
// Y-Board
|
||||
|
Loading…
Reference in New Issue
Block a user