mirror of
https://github.com/holub/mame
synced 2025-05-31 18:11:50 +03:00
Merge pull request #5070 from cam900/segaic16_args
segaic16_road.cpp : Updates
This commit is contained in:
commit
52c6f4d1f3
@ -406,7 +406,7 @@ void segahang_state::hangon_map(address_map &map)
|
||||
map(0x600000, 0x6007ff).ram().share("sprites");
|
||||
map(0xa00000, 0xa00fff).ram().w(FUNC(segahang_state::paletteram_w)).share("paletteram");
|
||||
map(0xc00000, 0xc3ffff).rom().region("subcpu", 0);
|
||||
map(0xc68000, 0xc68fff).ram().share("roadram");
|
||||
map(0xc68000, 0xc68fff).ram().share("segaic16road:roadram");
|
||||
map(0xc7c000, 0xc7ffff).ram().share("subram");
|
||||
map(0xe00000, 0xffffff).rw(FUNC(segahang_state::hangon_io_r), FUNC(segahang_state::hangon_io_w));
|
||||
}
|
||||
@ -428,7 +428,7 @@ void segahang_state::sharrier_map(address_map &map)
|
||||
map(0x124000, 0x127fff).ram().share("subram");
|
||||
map(0x130000, 0x130fff).ram().share("sprites");
|
||||
map(0x140000, 0x14ffff).rw(FUNC(segahang_state::sharrier_io_r), FUNC(segahang_state::sharrier_io_w));
|
||||
map(0xc68000, 0xc68fff).ram().share("roadram");
|
||||
map(0xc68000, 0xc68fff).ram().share("segaic16road:roadram");
|
||||
}
|
||||
|
||||
|
||||
@ -443,7 +443,7 @@ void segahang_state::sub_map(address_map &map)
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0x7ffff);
|
||||
map(0x000000, 0x03ffff).rom();
|
||||
map(0x068000, 0x068fff).ram().share("roadram");
|
||||
map(0x068000, 0x068fff).ram().share("segaic16road:roadram");
|
||||
map(0x07c000, 0x07ffff).ram().share("subram");
|
||||
}
|
||||
|
||||
@ -1058,7 +1058,7 @@ ROM_START( hangon )
|
||||
ROM_LOAD16_BYTE( "epr-6845.ic18", 0x060001, 0x8000, CRC(ba08c9b8) SHA1(65ceaefa18999c468b38576c29101674d1f63e5f) )
|
||||
ROM_LOAD16_BYTE( "epr-6846.ic25", 0x060000, 0x8000, CRC(f21e57a3) SHA1(92ce0723e722f446c0cef9e23080a008aa9752e7) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1118,7 +1118,7 @@ ROM_START( hangon1 )
|
||||
ROM_LOAD16_BYTE( "epr-6845.ic18", 0x060001, 0x8000, CRC(ba08c9b8) SHA1(65ceaefa18999c468b38576c29101674d1f63e5f) )
|
||||
ROM_LOAD16_BYTE( "epr-6846.ic25", 0x060000, 0x8000, CRC(f21e57a3) SHA1(92ce0723e722f446c0cef9e23080a008aa9752e7) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1190,7 +1190,7 @@ ROM_START( hangon2 )
|
||||
ROM_LOAD( "epr-6831.ic5", 0x00000, 0x8000, CRC(cfef5481) SHA1(c04b302fee58f0e59a097b2be2b61e5d03df7c91) )
|
||||
ROM_LOAD( "epr-6832.ic6", 0x08000, 0x8000, CRC(4165aea5) SHA1(be05c6d295807af2f396a1ff72d5a3d2a1e6054d) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-6840.ic108", 0x0000, 0x8000, CRC(581230e3) SHA1(954eab35059322a12a197bba04bf85f816132f20) )
|
||||
|
||||
ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table
|
||||
@ -1254,7 +1254,7 @@ ROM_START( shangonro )
|
||||
ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.7", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1308,7 +1308,7 @@ ROM_START( shangonho )
|
||||
ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.7", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1360,7 +1360,7 @@ ROM_START( shangonrb )
|
||||
ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.7", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1412,7 +1412,7 @@ ROM_START( shangonrb2 )
|
||||
ROM_LOAD16_BYTE( "sho-philco-s-7-h2.bin", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "sho-philco-s-6-h1.bin", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "sho-philco-s-26-t1.bin", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1491,7 +1491,7 @@ ROM_START( sharrier )
|
||||
ROM_LOAD32_BYTE( "epr-7207.ic11", 0xe0002, 0x8000, CRC(a2c07741) SHA1(747c029ab399c4110dbe360b8913f5c2e57c87cc) )
|
||||
ROM_LOAD32_BYTE( "epr-7199.ic1", 0xe0003, 0x8000, CRC(b191e22f) SHA1(406c7f4eed0b8fe93fa0bef370e496894f4d46a4) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7181.ic2", 0x0000, 0x8000, CRC(b4740419) SHA1(8ece2dc85692e32d0ba0b427c260c3d10ac0b7cc) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1572,7 +1572,7 @@ ROM_START( sharrier1 )
|
||||
ROM_LOAD32_BYTE( "epr-7207.ic11", 0xe0002, 0x8000, CRC(a2c07741) SHA1(747c029ab399c4110dbe360b8913f5c2e57c87cc) )
|
||||
ROM_LOAD32_BYTE( "epr-7199.ic1", 0xe0003, 0x8000, CRC(b191e22f) SHA1(406c7f4eed0b8fe93fa0bef370e496894f4d46a4) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7181.ic2", 0x0000, 0x8000, CRC(b4740419) SHA1(8ece2dc85692e32d0ba0b427c260c3d10ac0b7cc) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1655,7 +1655,7 @@ ROM_START( enduror )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1710,7 +1710,7 @@ ROM_START( endurora )
|
||||
ROM_LOAD32_BYTE( "mpr-10141.ic14", 0x80002, 0x20000, CRC(560360b9) SHA1(ddae8cc2c5a35540d4a115313049b30f5d2ebeae) )
|
||||
ROM_LOAD32_BYTE( "mpr-10139.ic4", 0x80003, 0x20000, CRC(863c7d9e) SHA1(a77648beeed180b3f00d66ba91b20459e32025fe) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1782,7 +1782,7 @@ ROM_START( endurord )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1858,7 +1858,7 @@ ROM_START( enduror1 )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -1931,7 +1931,7 @@ ROM_START( enduror1d )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -2005,7 +2005,7 @@ ROM_START( endurobl )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -2080,7 +2080,7 @@ ROM_START( endurob2 )
|
||||
ROM_LOAD32_BYTE( "epr-7655.ic11", 0xe0002, 0x8000, CRC(3433fe7b) SHA1(636449a0707d6629bf6ea503cfb52ad24af1c017) )
|
||||
ROM_LOAD32_BYTE( "epr-7647.ic1", 0xe0003, 0x8000, CRC(2e7fbec0) SHA1(a59ec5fc3341833671fb948cd21b47f3a49db538) )
|
||||
|
||||
ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x8000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-7633.ic1", 0x0000, 0x8000, CRC(6f146210) SHA1(2f58f0c3563b434ed02700b9ca1545a696a5716e) )
|
||||
|
||||
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
|
||||
@ -2106,9 +2106,6 @@ ROM_END
|
||||
|
||||
void segahang_state::init_generic()
|
||||
{
|
||||
// point globals to allocated memory regions
|
||||
m_segaic16road->segaic16_roadram_0 = reinterpret_cast<uint16_t *>(memshare("roadram")->ptr());
|
||||
|
||||
// save states
|
||||
save_item(NAME(m_adc_select));
|
||||
save_item(NAME(m_shadow));
|
||||
|
@ -442,7 +442,7 @@ void segaorun_state::memory_mapper(sega_315_5195_mapper_device &mapper, uint8_t
|
||||
{
|
||||
case 5:
|
||||
mapper.map_as_handler(0x90000, 0x10000, 0xf00000, read16_delegate(FUNC(segaorun_state::sega_road_control_0_r), this), write16_delegate(FUNC(segaorun_state::sega_road_control_0_w), this));
|
||||
mapper.map_as_ram(0x80000, 0x01000, 0xf0f000, "roadram", write16_delegate());
|
||||
mapper.map_as_ram(0x80000, 0x01000, 0xf0f000, "segaic16road:roadram", write16_delegate());
|
||||
mapper.map_as_ram(0x60000, 0x08000, 0xf18000, "cpu1ram", write16_delegate());
|
||||
mapper.map_as_ram(0x00000, 0x60000, 0xf00000, "cpu1rom", write16_delegate(FUNC(segaorun_state::nop_w), this));
|
||||
break;
|
||||
@ -868,7 +868,7 @@ void segaorun_state::sub_map(address_map &map)
|
||||
map.global_mask(0xfffff);
|
||||
map(0x000000, 0x05ffff).rom().share("cpu1rom");
|
||||
map(0x060000, 0x067fff).mirror(0x018000).ram().share("cpu1ram");
|
||||
map(0x080000, 0x080fff).mirror(0x00f000).ram().share("roadram");
|
||||
map(0x080000, 0x080fff).mirror(0x00f000).ram().share("segaic16road:roadram");
|
||||
map(0x090000, 0x09ffff).rw(m_segaic16road, FUNC(segaic16_road_device::segaic16_road_control_0_r), FUNC(segaic16_road_device::segaic16_road_control_0_w));
|
||||
}
|
||||
|
||||
@ -1321,7 +1321,7 @@ ROM_START( outrun )
|
||||
ROM_LOAD32_BYTE( "mpr-10376.15", 0x80002, 0x20000, CRC(f3b8f318) SHA1(a5f2532613f33a64441e0f75443c10ba78dccc6e) )
|
||||
ROM_LOAD32_BYTE( "mpr-10378.16", 0x80003, 0x20000, CRC(a1062984) SHA1(4399030a155caf71f2dec7f75c4b65531ab53576) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1375,7 +1375,7 @@ ROM_START( outruneh )
|
||||
ROM_LOAD32_BYTE( "mpr-10376.15", 0x80002, 0x20000, CRC(f3b8f318) SHA1(a5f2532613f33a64441e0f75443c10ba78dccc6e) )
|
||||
ROM_LOAD32_BYTE( "mpr-10378.16", 0x80003, 0x20000, CRC(a1062984) SHA1(4399030a155caf71f2dec7f75c4b65531ab53576) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1442,7 +1442,7 @@ ROM_START( outrunra )
|
||||
ROM_LOAD32_BYTE( "mpr-10376.15", 0x80002, 0x20000, CRC(f3b8f318) SHA1(a5f2532613f33a64441e0f75443c10ba78dccc6e) )
|
||||
ROM_LOAD32_BYTE( "mpr-10378.16", 0x80003, 0x20000, CRC(a1062984) SHA1(4399030a155caf71f2dec7f75c4b65531ab53576) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1531,7 +1531,7 @@ ROM_START( outrundx )
|
||||
ROM_LOAD32_BYTE( "epr-10219.59", 0xe0002, 0x08000, CRC(e73b9224) SHA1(1904a71a0c18ab2a3a5929e72b1c215dbb0fa213) )
|
||||
ROM_LOAD32_BYTE( "epr-10228.73", 0xe0003, 0x08000, CRC(25803978) SHA1(1a18922aeb516e8deb026d52e3cdcc4e69385af5) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1609,7 +1609,7 @@ ROM_START( outrundxeh )
|
||||
ROM_LOAD32_BYTE( "epr-10219.59", 0xe0002, 0x08000, CRC(e73b9224) SHA1(1904a71a0c18ab2a3a5929e72b1c215dbb0fa213) )
|
||||
ROM_LOAD32_BYTE( "epr-10228.73", 0xe0003, 0x08000, CRC(25803978) SHA1(1a18922aeb516e8deb026d52e3cdcc4e69385af5) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1672,7 +1672,7 @@ ROM_START( outrundxj )
|
||||
ROM_LOAD32_BYTE( "mpr-10376.15", 0x80002, 0x20000, CRC(f3b8f318) SHA1(a5f2532613f33a64441e0f75443c10ba78dccc6e) )
|
||||
ROM_LOAD32_BYTE( "mpr-10378.16", 0x80003, 0x20000, CRC(a1062984) SHA1(4399030a155caf71f2dec7f75c4b65531ab53576) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1771,7 +1771,7 @@ ROM_START( outrundxa )
|
||||
ROM_LOAD32_BYTE( "epr-10219.59", 0xe0002, 0x08000, CRC(e73b9224) SHA1(1904a71a0c18ab2a3a5929e72b1c215dbb0fa213) )
|
||||
ROM_LOAD32_BYTE( "epr-10228.73", 0xe0003, 0x08000, CRC(25803978) SHA1(1a18922aeb516e8deb026d52e3cdcc4e69385af5) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "opr-10186.47", 0x0000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
ROM_LOAD( "opr-10185.11", 0x8000, 0x8000, CRC(22794426) SHA1(a554d4b68e71861a0d0da4d031b3b811b246f082) )
|
||||
|
||||
@ -1861,7 +1861,7 @@ ROM_START( outrunb )
|
||||
ROM_LOAD32_BYTE( "a-31.bin", 0xc0002, 0x10000, CRC(ef7d06fe) SHA1(541b5ba45f4140e2cc29a9da2592b476d414af5d) )
|
||||
ROM_LOAD32_BYTE( "a-33.bin", 0xc0003, 0x10000, CRC(1222af9f) SHA1(2364bd54cbe21dd688efff32e93bf154546c93d6) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx - correct order unknown (identical after bitswapping)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx - correct order unknown (identical after bitswapping)
|
||||
ROM_LOAD( "a-2.bin", 0x0000, 0x8000, CRC(ed5bda9c) SHA1(f09a34caf1f9f6b119700a00635ab8fa8244362d) )
|
||||
ROM_LOAD( "a-3.bin", 0x8000, 0x8000, CRC(666fe754) SHA1(606090db53d658d7b04dca4748014a411e12f259) )
|
||||
|
||||
@ -1916,7 +1916,7 @@ ROM_START( shangon )
|
||||
ROM_LOAD16_BYTE( "mpr-10797.2", 0x0c0001, 0x020000, CRC(27f2870d) SHA1(40a34e4555885bf3c6a42e472b80d11c3bd4dcba) )
|
||||
ROM_LOAD16_BYTE( "mpr-10801.10", 0x0c0000, 0x020000, CRC(12781795) SHA1(44bf6f657f32b9fab119557eb73c2fbf78700204) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -1980,7 +1980,7 @@ ROM_START( shangon3 )
|
||||
ROM_LOAD16_BYTE( "epr-10681.2", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.10", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -2035,7 +2035,7 @@ ROM_START( shangon3d )
|
||||
ROM_LOAD16_BYTE( "epr-10681.2", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.10", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -2093,7 +2093,7 @@ ROM_START( shangon2 )
|
||||
ROM_LOAD16_BYTE( "epr-10681.2", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.10", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -2154,7 +2154,7 @@ ROM_START( shangon1 )
|
||||
ROM_LOAD16_BYTE( "epr-10681.2", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.10", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -2215,7 +2215,7 @@ ROM_START( shangonle )
|
||||
ROM_LOAD16_BYTE( "epr-10681.2", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) )
|
||||
ROM_LOAD16_BYTE( "epr-10688.10", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // Road Graphics
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // Road Graphics
|
||||
ROM_LOAD( "epr-10642.47", 0x0000, 0x8000, CRC(7836bcc3) SHA1(26f308bf96224311ddf685799d7aa29aac42dd2f) )
|
||||
// socket IC11 not populated
|
||||
|
||||
@ -2277,7 +2277,7 @@ ROM_START( toutrun )
|
||||
ROM_LOAD32_BYTE( "mpr-12366.15", 0x80002, 0x20000, CRC(385cb3ab) SHA1(fec6d80d488bfe26524fa3a48b195a45a073e481) )
|
||||
ROM_LOAD32_BYTE( "mpr-12367.16", 0x80003, 0x20000, CRC(4930254a) SHA1(00f24be3bf02b143fa554f4d32e283bdac79af6a) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2324,7 +2324,7 @@ ROM_START( toutrund )
|
||||
ROM_LOAD32_BYTE( "mpr-12366.15", 0x80002, 0x20000, CRC(385cb3ab) SHA1(fec6d80d488bfe26524fa3a48b195a45a073e481) )
|
||||
ROM_LOAD32_BYTE( "mpr-12367.16", 0x80003, 0x20000, CRC(4930254a) SHA1(00f24be3bf02b143fa554f4d32e283bdac79af6a) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2382,7 +2382,7 @@ ROM_START( toutrunj )
|
||||
ROM_LOAD32_BYTE( "mpr-12366.15", 0x80002, 0x20000, CRC(385cb3ab) SHA1(fec6d80d488bfe26524fa3a48b195a45a073e481) )
|
||||
ROM_LOAD32_BYTE( "mpr-12367.16", 0x80003, 0x20000, CRC(4930254a) SHA1(00f24be3bf02b143fa554f4d32e283bdac79af6a) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2430,7 +2430,7 @@ ROM_START( toutrunjd )
|
||||
ROM_LOAD32_BYTE( "mpr-12366.15", 0x80002, 0x20000, CRC(385cb3ab) SHA1(fec6d80d488bfe26524fa3a48b195a45a073e481) )
|
||||
ROM_LOAD32_BYTE( "mpr-12367.16", 0x80003, 0x20000, CRC(4930254a) SHA1(00f24be3bf02b143fa554f4d32e283bdac79af6a) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2497,7 +2497,7 @@ ROM_START( toutrun3 )
|
||||
ROM_LOAD32_BYTE( "opr-12321.23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "opr-12322.24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2551,7 +2551,7 @@ ROM_START( toutrun3d )
|
||||
ROM_LOAD32_BYTE( "opr-12321.23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "opr-12322.24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2618,7 +2618,7 @@ ROM_START( toutrun2 )
|
||||
ROM_LOAD32_BYTE( "opr-12321.23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "opr-12322.24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2673,7 +2673,7 @@ ROM_START( toutrun2d )
|
||||
ROM_LOAD32_BYTE( "opr-12321.23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "opr-12322.24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2737,7 +2737,7 @@ ROM_START( toutrun1 )
|
||||
ROM_LOAD32_BYTE( "opr-12321.23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "opr-12322.24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12299.47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Manual shows both as EPR-12298
|
||||
ROM_LOAD( "epr-12298.11", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2806,7 +2806,7 @@ ROM_START( toutrunj1 )
|
||||
ROM_LOAD32_BYTE( "epr-12321.ic23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "epr-12322.ic24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12298.ic47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Both are EPR-12298
|
||||
ROM_LOAD( "epr-12298.ic28", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2861,7 +2861,7 @@ ROM_START( toutrunj1d )
|
||||
ROM_LOAD32_BYTE( "epr-12321.ic23", 0xc0002, 0x10000, CRC(830bacd4) SHA1(5a4816969437ee1edca5845006c0b8e9ba365491) )
|
||||
ROM_LOAD32_BYTE( "epr-12322.ic24", 0xc0003, 0x10000, CRC(8b812492) SHA1(bf1f9e059c093c0991c7caf1b01c739ed54b8357) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx3", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_REGION( 0x10000, "segaic16road", 0 ) // road gfx (2 identical ROMs, 1 for each road)
|
||||
ROM_LOAD( "epr-12298.ic47", 0x0000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) ) // Both are EPR-12298
|
||||
ROM_LOAD( "epr-12298.ic28", 0x8000, 0x8000, CRC(fc9bc41b) SHA1(9af73e096253cf2c4f283f227530110a4b37fcee) )
|
||||
|
||||
@ -2896,9 +2896,6 @@ void segaorun_state::init_generic()
|
||||
if (m_nvram != nullptr)
|
||||
m_nvram->set_base(m_workram, m_workram.bytes());
|
||||
|
||||
// point globals to allocated memory regions
|
||||
m_segaic16road->segaic16_roadram_0 = reinterpret_cast<uint16_t *>(memshare("roadram")->ptr());
|
||||
|
||||
// save state
|
||||
save_item(NAME(m_adc_select));
|
||||
save_item(NAME(m_vblank_irq_state));
|
||||
@ -2940,8 +2937,8 @@ void segaorun_state::init_outrunb()
|
||||
// road gfx
|
||||
// ROM a-2.bin: swap bits 6,7
|
||||
// ROM a-3.bin: swap bits 5,6
|
||||
uint8_t *byte = memregion("gfx3")->base();
|
||||
length = memregion("gfx3")->bytes() / 2;
|
||||
uint8_t *byte = memregion("segaic16road")->base();
|
||||
length = memregion("segaic16road")->bytes() / 2;
|
||||
for (uint32_t i = 0; i < length; i++)
|
||||
{
|
||||
byte[i] = bitswap<8>(byte[i], 6,7,5,4,3,2,1,0);
|
||||
|
@ -323,15 +323,12 @@ void segaxbd_state::device_start()
|
||||
throw device_missing_dependencies();
|
||||
|
||||
m_lamps.resolve();
|
||||
// point globals to allocated memory regions
|
||||
m_segaic16road->segaic16_roadram_0 = reinterpret_cast<uint16_t *>(memshare("roadram")->ptr());
|
||||
|
||||
video_start();
|
||||
|
||||
// allocate a scanline timer
|
||||
m_scanline_timer = timer_alloc(TID_SCANLINE);
|
||||
|
||||
|
||||
// save state
|
||||
save_item(NAME(m_timer_irq_state));
|
||||
save_item(NAME(m_vblank_irq_state));
|
||||
@ -951,7 +948,7 @@ void segaxbd_state::main_map(address_map &map)
|
||||
map(0x2e0000, 0x2e0007).mirror(0x003ff8).rw("multiplier_subx", FUNC(sega_315_5248_multiplier_device::read), FUNC(sega_315_5248_multiplier_device::write));
|
||||
map(0x2e4000, 0x2e401f).mirror(0x003fe0).rw("divider_subx", FUNC(sega_315_5249_divider_device::read), FUNC(sega_315_5249_divider_device::write));
|
||||
map(0x2e8000, 0x2e800f).mirror(0x003ff0).rw("cmptimer_subx", FUNC(sega_315_5250_compare_timer_device::read), FUNC(sega_315_5250_compare_timer_device::write));
|
||||
map(0x2ec000, 0x2ecfff).mirror(0x001000).ram().share("roadram");
|
||||
map(0x2ec000, 0x2ecfff).mirror(0x001000).ram().share("segaic16road:roadram");
|
||||
map(0x2ee000, 0x2effff).rw("segaic16road", FUNC(segaic16_road_device::segaic16_road_control_0_r), FUNC(segaic16_road_device::segaic16_road_control_0_w));
|
||||
// AM_RANGE(0x2f0000, 0x2f3fff) AM_READWRITE(excs_r, excs_w)
|
||||
map(0x3f8000, 0x3fbfff).ram().share("backup1");
|
||||
@ -977,7 +974,7 @@ void segaxbd_state::sub_map(address_map &map)
|
||||
map(0x0e0000, 0x0e0007).mirror(0x003ff8).rw("multiplier_subx", FUNC(sega_315_5248_multiplier_device::read), FUNC(sega_315_5248_multiplier_device::write));
|
||||
map(0x0e4000, 0x0e401f).mirror(0x003fe0).rw("divider_subx", FUNC(sega_315_5249_divider_device::read), FUNC(sega_315_5249_divider_device::write));
|
||||
map(0x0e8000, 0x0e800f).mirror(0x003ff0).rw("cmptimer_subx", FUNC(sega_315_5250_compare_timer_device::read), FUNC(sega_315_5250_compare_timer_device::write));
|
||||
map(0x0ec000, 0x0ecfff).mirror(0x001000).ram().share("roadram");
|
||||
map(0x0ec000, 0x0ecfff).mirror(0x001000).ram().share("segaic16road:roadram");
|
||||
map(0x0ee000, 0x0effff).rw("segaic16road", FUNC(segaic16_road_device::segaic16_road_control_0_r), FUNC(segaic16_road_device::segaic16_road_control_0_w));
|
||||
}
|
||||
|
||||
@ -2079,7 +2076,7 @@ ROM_START( aburner )
|
||||
ROM_LOAD32_BYTE( "epr-10948.101", 0x180002, 0x20000, CRC(64284761) SHA1(9594c671900f7f49d8fb965bc17b4380ce2c68d5) )
|
||||
ROM_LOAD32_BYTE( "epr-10949.105", 0x180003, 0x20000, CRC(d8437d92) SHA1(480291358c3d197645d7bd149bdfe5d41071d52d) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_LOAD( "epr-10922.40", 0x000000, 0x10000, CRC(b49183d4) SHA1(71d87bfbce858049ccde9597ab15575b3cdba892) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2130,7 +2127,7 @@ ROM_START( aburner2 )
|
||||
ROM_LOAD32_BYTE( "epr-11118.101", 0x180002, 0x20000, CRC(8f38540b) SHA1(1fdfb157d1aca96cb635bd3d64f94545eb88c133) )
|
||||
ROM_LOAD32_BYTE( "epr-11119.105", 0x180003, 0x20000, CRC(d0343a8e) SHA1(8c0c0addb6dfd0ea04c3900a9f7f7c731ca6e9ea) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_LOAD( "epr-10922.40", 0x000000, 0x10000, CRC(b49183d4) SHA1(71d87bfbce858049ccde9597ab15575b3cdba892) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2179,7 +2176,7 @@ ROM_START( aburner2g )
|
||||
ROM_LOAD32_BYTE( "epr-11118.101", 0x180002, 0x20000, CRC(8f38540b) SHA1(1fdfb157d1aca96cb635bd3d64f94545eb88c133) )
|
||||
ROM_LOAD32_BYTE( "epr-11119.105", 0x180003, 0x20000, CRC(d0343a8e) SHA1(8c0c0addb6dfd0ea04c3900a9f7f7c731ca6e9ea) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_LOAD( "epr-10922.40", 0x000000, 0x10000, CRC(b49183d4) SHA1(71d87bfbce858049ccde9597ab15575b3cdba892) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2246,7 +2243,7 @@ ROM_START( loffire )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2292,7 +2289,7 @@ ROM_START( loffired )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2346,7 +2343,7 @@ ROM_START( loffireu )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2392,7 +2389,7 @@ ROM_START( loffireud )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2449,7 +2446,7 @@ ROM_START( loffirej )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2495,7 +2492,7 @@ ROM_START( loffirejd )
|
||||
ROM_LOAD32_BYTE( "epr-12777.101", 0x180002, 0x20000, CRC(29d5b953) SHA1(0c932a67e2aecffa7a1dbaa587c96214e1a2cc7f) )
|
||||
ROM_LOAD32_BYTE( "epr-12778.105", 0x180003, 0x20000, CRC(2fb68e07) SHA1(8685e72aed115cbc9c6c7511217996a573b30d16) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2554,7 +2551,7 @@ ROM_START( thndrbld )
|
||||
ROM_LOAD32_BYTE( "epr-11393.ic101", 0x180002, 0x20000, CRC(525e2e1d) SHA1(6fd09f775e7e6cad8078513d1af0a8ff40fb1360) ) // replaced from original rev?
|
||||
ROM_LOAD32_BYTE( "epr-11392.ic105", 0x180003, 0x20000, CRC(b4a382f7) SHA1(c03a05ba521f654db1a9c5f5717b7a15e5a29d4e) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_LOAD( "epr-11313.ic29", 0x00000, 0x10000, CRC(6a56c4c3) SHA1(c1b8023cb2ba4e96be052031c24b6ae424225c71) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2602,7 +2599,7 @@ ROM_START( thndrbldd )
|
||||
ROM_LOAD32_BYTE( "epr-11393.ic101", 0x180002, 0x20000, CRC(525e2e1d) SHA1(6fd09f775e7e6cad8078513d1af0a8ff40fb1360) ) // replaced from original rev?
|
||||
ROM_LOAD32_BYTE( "epr-11392.ic105", 0x180003, 0x20000, CRC(b4a382f7) SHA1(c03a05ba521f654db1a9c5f5717b7a15e5a29d4e) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_LOAD( "epr-11313.ic29", 0x00000, 0x10000, CRC(6a56c4c3) SHA1(c1b8023cb2ba4e96be052031c24b6ae424225c71) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2656,7 +2653,7 @@ ROM_START( thndrbld1 )
|
||||
ROM_LOAD32_BYTE( "epr-11333.ic101", 0x180002, 0x20000, CRC(05a2333f) SHA1(70f213945fa7fe056fe17a02558638e87f2c001e) )
|
||||
ROM_LOAD32_BYTE( "epr-11332.ic105", 0x180003, 0x20000, CRC(dc089ec6) SHA1(d72390c45138a507e79af112addbc015560fc248) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_LOAD( "epr-11313.ic29", 0x00000, 0x10000, CRC(6a56c4c3) SHA1(c1b8023cb2ba4e96be052031c24b6ae424225c71) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2714,7 +2711,7 @@ ROM_START( lastsurv )
|
||||
ROM_LOAD32_BYTE( "epr-12074.ic101", 0x180002, 0x20000, CRC(ee6cbb73) SHA1(c68d825ded83dd06ba7b816622db3d57631b4fcc) )
|
||||
ROM_LOAD32_BYTE( "epr-12073.ic105", 0x180003, 0x20000, CRC(167e6342) SHA1(2f87074d6821a974cbb137ca2bec28fafc0df46f) )
|
||||
|
||||
ROM_REGION( 0x20000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_REGION( 0x20000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // Road Data
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2762,7 +2759,7 @@ ROM_START( lastsurvd )
|
||||
ROM_LOAD32_BYTE( "epr-12074.ic101", 0x180002, 0x20000, CRC(ee6cbb73) SHA1(c68d825ded83dd06ba7b816622db3d57631b4fcc) )
|
||||
ROM_LOAD32_BYTE( "epr-12073.ic105", 0x180003, 0x20000, CRC(167e6342) SHA1(2f87074d6821a974cbb137ca2bec28fafc0df46f) )
|
||||
|
||||
ROM_REGION( 0x20000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // Road Data
|
||||
ROM_REGION( 0x20000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // Road Data
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2817,7 +2814,7 @@ ROM_START( rachero )
|
||||
ROM_LOAD32_BYTE( "epr-12862.ic101", 0x180002, 0x20000, CRC(7d4c3b05) SHA1(4e25a077b403549c681c5047912d0e28f4c07720) )
|
||||
ROM_LOAD32_BYTE( "epr-12863.ic105", 0x180003, 0x20000, CRC(85095053) SHA1(f93194ecc0300956280cc0515b3e3ba2c9f71364) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2863,7 +2860,7 @@ ROM_START( racherod )
|
||||
ROM_LOAD32_BYTE( "epr-12862.ic101", 0x180002, 0x20000, CRC(7d4c3b05) SHA1(4e25a077b403549c681c5047912d0e28f4c07720) )
|
||||
ROM_LOAD32_BYTE( "epr-12863.ic105", 0x180003, 0x20000, CRC(85095053) SHA1(f93194ecc0300956280cc0515b3e3ba2c9f71364) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
// none
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -2958,7 +2955,7 @@ ROM_START( smgp )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3016,7 +3013,7 @@ ROM_START( smgpd )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3082,7 +3079,7 @@ ROM_START( smgp6 )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3140,7 +3137,7 @@ ROM_START( smgp6d )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3256,7 +3253,7 @@ ROM_START( smgp5 )
|
||||
ROM_LOAD32_BYTE( "epr-12415.101", 0x180002, 0x20000, CRC(6080e9ed) SHA1(eb1b871453f76e6a65d20fa9d4bddc1c9f940b4d) )
|
||||
ROM_LOAD32_BYTE( "epr-12416.105", 0x180003, 0x20000, CRC(6f1f2769) SHA1(d00d26cd1052d4b46c432b6b69cb2d83179d52a6) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3314,7 +3311,7 @@ ROM_START( smgp5d )
|
||||
ROM_LOAD32_BYTE( "epr-12415.101", 0x180002, 0x20000, CRC(6080e9ed) SHA1(eb1b871453f76e6a65d20fa9d4bddc1c9f940b4d) )
|
||||
ROM_LOAD32_BYTE( "epr-12416.105", 0x180003, 0x20000, CRC(6f1f2769) SHA1(d00d26cd1052d4b46c432b6b69cb2d83179d52a6) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3379,7 +3376,7 @@ ROM_START( smgpu )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3437,7 +3434,7 @@ ROM_START( smgpud )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3503,7 +3500,7 @@ ROM_START( smgpu1 )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3561,7 +3558,7 @@ ROM_START( smgpu1d )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3669,7 +3666,7 @@ ROM_START( smgpu2 )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3727,7 +3724,7 @@ ROM_START( smgpu2d )
|
||||
ROM_LOAD32_BYTE( "epr-12611.101", 0x180002, 0x20000, CRC(bd5c6ab0) SHA1(7632dc4daa8eabe74769369856a8ba451e5bd420) ) // these differ from japan set
|
||||
ROM_LOAD32_BYTE( "epr-12612.105", 0x180003, 0x20000, CRC(ac86e890) SHA1(7720c1c8df6de5de50254e97772c15161b796031) ) //
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3792,7 +3789,7 @@ ROM_START( smgpj )
|
||||
ROM_LOAD32_BYTE( "epr-12415.101", 0x180002, 0x20000, CRC(6080e9ed) SHA1(eb1b871453f76e6a65d20fa9d4bddc1c9f940b4d) )
|
||||
ROM_LOAD32_BYTE( "epr-12416.105", 0x180003, 0x20000, CRC(6f1f2769) SHA1(d00d26cd1052d4b46c432b6b69cb2d83179d52a6) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3851,7 +3848,7 @@ ROM_START( smgpjd )
|
||||
ROM_LOAD32_BYTE( "epr-12415.101", 0x180002, 0x20000, CRC(6080e9ed) SHA1(eb1b871453f76e6a65d20fa9d4bddc1c9f940b4d) )
|
||||
ROM_LOAD32_BYTE( "epr-12416.105", 0x180003, 0x20000, CRC(6f1f2769) SHA1(d00d26cd1052d4b46c432b6b69cb2d83179d52a6) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3917,7 +3914,7 @@ ROM_START( smgpja )
|
||||
ROM_LOAD32_BYTE( "epr-12415.101", 0x180002, 0x20000, CRC(6080e9ed) SHA1(eb1b871453f76e6a65d20fa9d4bddc1c9f940b4d) )
|
||||
ROM_LOAD32_BYTE( "epr-12416.105", 0x180003, 0x20000, CRC(6f1f2769) SHA1(d00d26cd1052d4b46c432b6b69cb2d83179d52a6) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -3987,7 +3984,7 @@ ROM_START( abcop )
|
||||
ROM_LOAD32_BYTE( "opr-13538.ic101", 0x180002, 0x20000, CRC(bf9a4586) SHA1(6013dee83375d72d262c8c04c2e668afea2e216c) )
|
||||
ROM_LOAD32_BYTE( "opr-13537.ic105", 0x180003, 0x20000, CRC(fa14ed3e) SHA1(d684496ade2517696a56c1423dd4686d283c133f) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_LOAD( "opr-13564.ic40", 0x00000, 0x10000, CRC(e70ba138) SHA1(85eb6618f408642227056d278f10dec8dcc5a80d) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4033,7 +4030,7 @@ ROM_START( abcopd )
|
||||
ROM_LOAD32_BYTE( "opr-13538.ic101", 0x180002, 0x20000, CRC(bf9a4586) SHA1(6013dee83375d72d262c8c04c2e668afea2e216c) )
|
||||
ROM_LOAD32_BYTE( "opr-13537.ic105", 0x180003, 0x20000, CRC(fa14ed3e) SHA1(d684496ade2517696a56c1423dd4686d283c133f) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_LOAD( "opr-13564.ic40", 0x00000, 0x10000, CRC(e70ba138) SHA1(85eb6618f408642227056d278f10dec8dcc5a80d) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4086,7 +4083,7 @@ ROM_START( abcopj )
|
||||
ROM_LOAD32_BYTE( "opr-13538.ic101", 0x180002, 0x20000, CRC(bf9a4586) SHA1(6013dee83375d72d262c8c04c2e668afea2e216c) )
|
||||
ROM_LOAD32_BYTE( "opr-13537.ic105", 0x180003, 0x20000, CRC(fa14ed3e) SHA1(d684496ade2517696a56c1423dd4686d283c133f) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_LOAD( "opr-13564.ic40", 0x00000, 0x10000, CRC(e70ba138) SHA1(85eb6618f408642227056d278f10dec8dcc5a80d) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4132,7 +4129,7 @@ ROM_START( abcopjd )
|
||||
ROM_LOAD32_BYTE( "opr-13538.ic101", 0x180002, 0x20000, CRC(bf9a4586) SHA1(6013dee83375d72d262c8c04c2e668afea2e216c) )
|
||||
ROM_LOAD32_BYTE( "opr-13537.ic105", 0x180003, 0x20000, CRC(fa14ed3e) SHA1(d684496ade2517696a56c1423dd4686d283c133f) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // ground data
|
||||
ROM_LOAD( "opr-13564.ic40", 0x00000, 0x10000, CRC(e70ba138) SHA1(85eb6618f408642227056d278f10dec8dcc5a80d) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4190,7 +4187,7 @@ ROM_START( gpriders )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4240,7 +4237,7 @@ ROM_START( gprider )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4287,7 +4284,7 @@ ROM_START( gprider )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "subpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4343,7 +4340,7 @@ ROM_START( gpriderus )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4393,7 +4390,7 @@ ROM_START( gprideru )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4440,7 +4437,7 @@ ROM_START( gprideru )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "subpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4495,7 +4492,7 @@ ROM_START( gpriderjs )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4545,7 +4542,7 @@ ROM_START( gpriderj )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4592,7 +4589,7 @@ ROM_START( gpriderj )
|
||||
ROM_LOAD32_BYTE( "epr-13368.ic101", 0x180002, 0x20000, CRC(0f50716c) SHA1(eb4c7f47e11c58fe0d58f67e6dafabc6291eabb8) )
|
||||
ROM_LOAD32_BYTE( "epr-13367.ic105", 0x180003, 0x20000, CRC(4b1bb51f) SHA1(17fd5ac9e18dd6097a015e9d7b6815826f9c53f1) )
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "subpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "subpcb:soundcpu", 0 ) // sound CPU
|
||||
@ -4630,7 +4627,7 @@ ROM_START( rascot )
|
||||
ROM_LOAD32_BYTE( "epr-13958", 0x000002, 0x20000, CRC(7803a027) SHA1(ff659da334e4440a6de9be43dde9dfa21dae5f14) )
|
||||
ROM_LOAD32_BYTE( "epr-13957", 0x000003, 0x20000, CRC(6d50fb54) SHA1(d21462c30a5555980b964930ddef4dc1963e1d8e) )
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:gfx3", ROMREGION_ERASE00 ) // road gfx
|
||||
ROM_REGION( 0x10000, "mainpcb:segaic16road", ROMREGION_ERASE00 ) // road gfx
|
||||
// none??
|
||||
|
||||
ROM_REGION( 0x10000, "mainpcb:commcpu", 0 ) // link ROM?
|
||||
|
@ -91,8 +91,8 @@ protected:
|
||||
|
||||
DECLARE_WRITE16_MEMBER( tileram_w ) { m_segaic16vid->tileram_w(space,offset,data,mem_mask); };
|
||||
DECLARE_WRITE16_MEMBER( textram_w ) { m_segaic16vid->textram_w(space,offset,data,mem_mask); };
|
||||
DECLARE_READ16_MEMBER( sega_road_control_0_r ) { return m_segaic16road->segaic16_road_control_0_r(space,offset,mem_mask); };
|
||||
DECLARE_WRITE16_MEMBER( sega_road_control_0_w ) { m_segaic16road->segaic16_road_control_0_w(space,offset,data,mem_mask); };
|
||||
DECLARE_READ16_MEMBER( sega_road_control_0_r ) { return m_segaic16road->segaic16_road_control_0_r(); };
|
||||
DECLARE_WRITE16_MEMBER( sega_road_control_0_w ) { m_segaic16road->segaic16_road_control_0_w(offset,data,mem_mask); };
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(bankmotor_update);
|
||||
|
||||
|
@ -21,7 +21,7 @@ void segahang_state::video_start()
|
||||
m_segaic16vid->tilemap_init( 0, segaic16_video_device::TILEMAP_HANGON, 0x000, 0, 2);
|
||||
|
||||
// initialize the road
|
||||
m_segaic16road->segaic16_road_init(machine(), 0, m_sharrier_video ? segaic16_road_device::ROAD_SHARRIER : segaic16_road_device::ROAD_HANGON, 0x038, 0x7c0, 0x7c0, 0);
|
||||
m_segaic16road->segaic16_road_init(0, m_sharrier_video ? segaic16_road_device::ROAD_SHARRIER : segaic16_road_device::ROAD_HANGON, 0x038, 0x7c0, 0x7c0, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -8,8 +8,10 @@
|
||||
|
||||
DEFINE_DEVICE_TYPE(SEGAIC16_ROAD, segaic16_road_device, "segaic16_road", "Sega 16-bit Road Generator")
|
||||
|
||||
segaic16_road_device::segaic16_road_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
segaic16_road_device::segaic16_road_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: device_t(mconfig, SEGAIC16_ROAD, tag, owner, clock)
|
||||
, m_gfx_region(*this, DEVICE_SELF)
|
||||
, m_roadram(*this, "roadram")
|
||||
{
|
||||
}
|
||||
|
||||
@ -23,12 +25,6 @@ void segaic16_road_device::device_reset()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* Hang On/Space Harrier-style road chip
|
||||
@ -68,47 +64,41 @@ void segaic16_road_device::device_reset()
|
||||
*******************************************************************************************/
|
||||
|
||||
|
||||
|
||||
void segaic16_road_device::segaic16_road_hangon_decode(running_machine &machine, road_info *info)
|
||||
void segaic16_road_device::segaic16_road_hangon_decode(road_info *info)
|
||||
{
|
||||
int x, y;
|
||||
const uint8_t *gfx = memregion("^gfx3")->base();
|
||||
int len = memregion("^gfx3")->bytes();
|
||||
const int len = m_gfx_region.length();
|
||||
|
||||
/* allocate memory for the unpacked road data */
|
||||
info->gfx = std::make_unique<uint8_t[]>(256 * 512);
|
||||
info->gfx = std::make_unique<u8[]>(256 * 512);
|
||||
|
||||
/* loop over rows */
|
||||
for (y = 0; y < 256; y++)
|
||||
for (int y = 0; y < 256; y++)
|
||||
{
|
||||
const uint8_t *src = gfx + ((y & 0xff) * 0x40) % len;
|
||||
uint8_t *dst = info->gfx.get() + y * 512;
|
||||
const u8 *src = m_gfx_region + ((y & 0xff) * 0x40) % len;
|
||||
u8 *dst = info->gfx.get() + y * 512;
|
||||
|
||||
/* loop over columns */
|
||||
for (x = 0; x < 512; x++)
|
||||
dst[x] = (((src[x/8] >> (~x & 7)) & 1) << 0) | (((src[x/8 + 0x4000] >> (~x & 7)) & 1) << 1);
|
||||
for (int x = 0; x < 512; x++)
|
||||
dst[x] = (((src[x >> 3] >> (~x & 7)) & 1) << 0) | (((src[(x >> 3) + 0x4000] >> (~x & 7)) & 1) << 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
|
||||
{
|
||||
uint16_t *roadram = info->roadram;
|
||||
int x, y;
|
||||
const u16 *roadram = info->roadram;
|
||||
|
||||
/* loop over scanlines */
|
||||
for (y = cliprect.min_y; y <= cliprect.max_y; y++)
|
||||
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
|
||||
{
|
||||
uint16_t *dest = &bitmap.pix16(y);
|
||||
int control = roadram[0x000 + y];
|
||||
u16 *dest = &bitmap.pix16(y);
|
||||
const u16 control = roadram[0x000 + y];
|
||||
int hpos = roadram[0x100 + (control & 0xff)];
|
||||
int color0 = roadram[0x200 + (control & 0xff)];
|
||||
int color1 = roadram[0x300 + (control & 0xff)];
|
||||
int ff9j1, ff9j2, ctr9m, ctr9n9p, ctr9n9p_ena, ss8j, plycont;
|
||||
uint8_t *src;
|
||||
const u16 color0 = roadram[0x200 + (control & 0xff)];
|
||||
const u16 color1 = roadram[0x300 + (control & 0xff)];
|
||||
|
||||
/* the PLYCONT signal controls the road layering */
|
||||
plycont = (control >> 10) & 3;
|
||||
const u16 plycont = (control >> 10) & 3;
|
||||
|
||||
/* skip layers we aren't supposed to be drawing */
|
||||
if ((plycont == 0 && priority != segaic16_road_device::ROAD_BACKGROUND) ||
|
||||
@ -116,32 +106,32 @@ static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bit
|
||||
continue;
|
||||
|
||||
/* compute the offset of the road graphics for this line */
|
||||
src = info->gfx.get() + (0x000 + (control & 0xff)) * 512;
|
||||
u8 *src = info->gfx.get() + (0x000 + (control & 0xff)) * 512;
|
||||
|
||||
/* initialize the 4-bit counter at 9M, which counts bits within each road byte */
|
||||
ctr9m = hpos & 7;
|
||||
int ctr9m = hpos & 7;
|
||||
|
||||
/* initialize the two 4-bit counters at 9P (low) and 9N (high), which count road data bytes */
|
||||
ctr9n9p = (hpos >> 3) & 0xff;
|
||||
int ctr9n9p = (hpos >> 3) & 0xff;
|
||||
|
||||
/* initialize the flip-flop at 9J (lower half), which controls the counting direction */
|
||||
ff9j1 = (hpos >> 11) & 1;
|
||||
int ff9j1 = (hpos >> 11) & 1;
|
||||
|
||||
/* initialize the flip-flop at 9J (upper half), which controls the background color */
|
||||
ff9j2 = 1;
|
||||
int ff9j2 = 1;
|
||||
|
||||
/* initialize the serial shifter at 8S, which delays several signals after we flip */
|
||||
ss8j = 0;
|
||||
int ss8j = 0;
|
||||
|
||||
/* draw this scanline from the beginning */
|
||||
for (x = -24; x <= cliprect.max_x; x++)
|
||||
for (int x = -24; x <= cliprect.max_x; x++)
|
||||
{
|
||||
int md, color, select;
|
||||
int color;
|
||||
|
||||
/* ---- the following logic all happens constantly ---- */
|
||||
|
||||
/* the enable is controlled by the value in the counter at 9M */
|
||||
ctr9n9p_ena = (ctr9m == 7);
|
||||
const bool ctr9n9p_ena = (ctr9m == 7);
|
||||
|
||||
/* if we carried out of the 9P/9N counters, we will forcibly clear the flip-flop at 9J (lower half) */
|
||||
if ((ctr9n9p & 0xff) == 0xff)
|
||||
@ -157,7 +147,7 @@ static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bit
|
||||
ff9j2 = 1;
|
||||
|
||||
/* ---- now process the pixel ---- */
|
||||
md = 3;
|
||||
int md = 3;
|
||||
|
||||
/* the Space Harrier/Enduro Racer hardware has a tweak that maps the control word bit 9 to the */
|
||||
/* /CE line on the road ROM; use this to effectively disable the road data */
|
||||
@ -175,7 +165,7 @@ static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bit
|
||||
|
||||
/* "select" is a made-up signal that comes from bit 3 of the serial shifter and is */
|
||||
/* used in several places for color selection */
|
||||
select = (ss8j >> 3) & 1;
|
||||
int select = (ss8j >> 3) & 1;
|
||||
|
||||
/* check the flip-flop at 9J (upper half) to determine if we should use the background color; */
|
||||
/* the output of this is ANDed with M0 and M1 so it only affects pixels with a value of 3; */
|
||||
@ -234,7 +224,6 @@ static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bit
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************************
|
||||
*
|
||||
* Out Run/X-Board-style road chip
|
||||
@ -330,25 +319,23 @@ static void segaic16_road_hangon_draw(segaic16_road_device::road_info *info, bit
|
||||
*
|
||||
*******************************************************************************************/
|
||||
|
||||
void segaic16_road_device::segaic16_road_outrun_decode(running_machine &machine, road_info *info)
|
||||
void segaic16_road_device::segaic16_road_outrun_decode(road_info *info)
|
||||
{
|
||||
int x, y;
|
||||
const uint8_t *gfx = memregion("^gfx3")->base();
|
||||
int len = memregion("^gfx3")->bytes();
|
||||
const int len = m_gfx_region.length();
|
||||
|
||||
/* allocate memory for the unpacked road data */
|
||||
info->gfx = std::make_unique<uint8_t[]>((256 * 2 + 1) * 512);
|
||||
info->gfx = std::make_unique<u8[]>((256 * 2 + 1) * 512);
|
||||
|
||||
/* loop over rows */
|
||||
for (y = 0; y < 256 * 2; y++)
|
||||
for (int y = 0; y < 256 * 2; y++)
|
||||
{
|
||||
const uint8_t *src = gfx + ((y & 0xff) * 0x40 + (y >> 8) * 0x8000) % len;
|
||||
uint8_t *dst = info->gfx.get() + y * 512;
|
||||
const u8 *src = m_gfx_region + ((y & 0xff) * 0x40 + (y >> 8) * 0x8000) % len;
|
||||
u8 *dst = info->gfx.get() + y * 512;
|
||||
|
||||
/* loop over columns */
|
||||
for (x = 0; x < 512; x++)
|
||||
for (int x = 0; x < 512; x++)
|
||||
{
|
||||
dst[x] = (((src[x/8] >> (~x & 7)) & 1) << 0) | (((src[x/8 + 0x4000] >> (~x & 7)) & 1) << 1);
|
||||
dst[x] = (((src[x >> 3] >> (~x & 7)) & 1) << 0) | (((src[(x >> 3) + 0x4000] >> (~x & 7)) & 1) << 1);
|
||||
|
||||
/* pre-mark road data in the "stripe" area with a high bit */
|
||||
if (x >= 256-8 && x < 256 && dst[x] == 3)
|
||||
@ -363,13 +350,12 @@ void segaic16_road_device::segaic16_road_outrun_decode(running_machine &machine,
|
||||
|
||||
static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority)
|
||||
{
|
||||
uint16_t *roadram = info->buffer.get();
|
||||
int x, y;
|
||||
const u16 *roadram = info->buffer.get();
|
||||
|
||||
/* loop over scanlines */
|
||||
for (y = cliprect.min_y; y <= cliprect.max_y; y++)
|
||||
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
|
||||
{
|
||||
static const uint8_t priority_map[2][8] =
|
||||
static const u8 priority_map[2][8] =
|
||||
{
|
||||
{ 0x80,0x81,0x81,0x87,0,0,0,0x00 },
|
||||
{ 0x81,0x81,0x81,0x8f,0,0,0,0x80 }
|
||||
@ -378,9 +364,9 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
// { 0x80,0x81,0x81,0x83,0,0,0,0x00 },
|
||||
// { 0x81,0x87,0x87,0x8f,0,0,0,0x00 }
|
||||
};
|
||||
uint16_t *dest = &bitmap.pix16(y);
|
||||
int data0 = roadram[0x000 + y];
|
||||
int data1 = roadram[0x100 + y];
|
||||
u16 *dest = &bitmap.pix16(y);
|
||||
const u16 data0 = roadram[0x000 + y];
|
||||
const u16 data1 = roadram[0x100 + y];
|
||||
|
||||
/* background case: look for solid fill scanlines */
|
||||
if (priority == segaic16_road_device::ROAD_BACKGROUND)
|
||||
@ -419,7 +405,7 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
if (color != -1)
|
||||
{
|
||||
color |= info->colorbase3;
|
||||
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
dest[x] = color;
|
||||
}
|
||||
}
|
||||
@ -427,31 +413,28 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
/* foreground case: render from ROM */
|
||||
else
|
||||
{
|
||||
int hpos0, hpos1, color0, color1;
|
||||
int control = info->control & 3;
|
||||
uint16_t color_table[32];
|
||||
uint8_t *src0, *src1;
|
||||
uint8_t bgcolor;
|
||||
const u8 control = info->control & 3;
|
||||
u16 color_table[32];
|
||||
|
||||
/* if both roads are low priority, skip */
|
||||
if ((data0 & 0x800) && (data1 & 0x800))
|
||||
continue;
|
||||
|
||||
/* get road 0 data */
|
||||
src0 = (data0 & 0x800) ? info->gfx.get() + 256 * 2 * 512 : (info->gfx.get() + (0x000 + ((data0 >> 1) & 0xff)) * 512);
|
||||
hpos0 = (roadram[0x200 + ((info->control & 4) ? y : (data0 & 0x1ff))]) & 0xfff;
|
||||
color0 = roadram[0x600 + ((info->control & 4) ? y : (data0 & 0x1ff))];
|
||||
u8 *src0 = (data0 & 0x800) ? info->gfx.get() + 256 * 2 * 512 : (info->gfx.get() + (0x000 + ((data0 >> 1) & 0xff)) * 512);
|
||||
int hpos0 = (roadram[0x200 + ((info->control & 4) ? y : (data0 & 0x1ff))]) & 0xfff;
|
||||
int color0 = roadram[0x600 + ((info->control & 4) ? y : (data0 & 0x1ff))];
|
||||
|
||||
/* get road 1 data */
|
||||
src1 = (data1 & 0x800) ? info->gfx.get() + 256 * 2 * 512 : (info->gfx.get() + (0x100 + ((data1 >> 1) & 0xff)) * 512);
|
||||
hpos1 = (roadram[0x400 + ((info->control & 4) ? (0x100 + y) : (data1 & 0x1ff))]) & 0xfff;
|
||||
color1 = roadram[0x600 + ((info->control & 4) ? (0x100 + y) : (data1 & 0x1ff))];
|
||||
u8 *src1 = (data1 & 0x800) ? info->gfx.get() + 256 * 2 * 512 : (info->gfx.get() + (0x100 + ((data1 >> 1) & 0xff)) * 512);
|
||||
int hpos1 = (roadram[0x400 + ((info->control & 4) ? (0x100 + y) : (data1 & 0x1ff))]) & 0xfff;
|
||||
int color1 = roadram[0x600 + ((info->control & 4) ? (0x100 + y) : (data1 & 0x1ff))];
|
||||
|
||||
/* determine the 5 colors for road 0 */
|
||||
color_table[0x00] = info->colorbase1 ^ 0x00 ^ ((color0 >> 0) & 1);
|
||||
color_table[0x01] = info->colorbase1 ^ 0x02 ^ ((color0 >> 1) & 1);
|
||||
color_table[0x02] = info->colorbase1 ^ 0x04 ^ ((color0 >> 2) & 1);
|
||||
bgcolor = (color0 >> 8) & 0xf;
|
||||
u8 bgcolor = (color0 >> 8) & 0xf;
|
||||
color_table[0x03] = (data0 & 0x200) ? color_table[0x00] : (info->colorbase2 ^ 0x00 ^ bgcolor);
|
||||
color_table[0x07] = info->colorbase1 ^ 0x06 ^ ((color0 >> 3) & 1);
|
||||
|
||||
@ -470,9 +453,9 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
if (data0 & 0x800)
|
||||
continue;
|
||||
hpos0 = (hpos0 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
{
|
||||
int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
const int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
dest[x] = color_table[0x00 + pix0];
|
||||
hpos0 = (hpos0 + 1) & 0xfff;
|
||||
}
|
||||
@ -481,10 +464,10 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
case 1:
|
||||
hpos0 = (hpos0 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
hpos1 = (hpos1 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
{
|
||||
int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
const int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
const int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
if ((priority_map[0][pix0] >> pix1) & 1)
|
||||
dest[x] = color_table[0x10 + pix1];
|
||||
else
|
||||
@ -497,10 +480,10 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
case 2:
|
||||
hpos0 = (hpos0 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
hpos1 = (hpos1 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
{
|
||||
int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
const int pix0 = (hpos0 < 0x200) ? src0[hpos0] : 3;
|
||||
const int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
if ((priority_map[1][pix0] >> pix1) & 1)
|
||||
dest[x] = color_table[0x10 + pix1];
|
||||
else
|
||||
@ -514,9 +497,9 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
if (data1 & 0x800)
|
||||
continue;
|
||||
hpos1 = (hpos1 - (0x5f8 + info->xoffs)) & 0xfff;
|
||||
for (x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
{
|
||||
int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
const int pix1 = (hpos1 < 0x200) ? src1[hpos1] : 3;
|
||||
dest[x] = color_table[0x10 + pix1];
|
||||
hpos1 = (hpos1 + 1) & 0xfff;
|
||||
}
|
||||
@ -534,7 +517,7 @@ static void segaic16_road_outrun_draw(segaic16_road_device::road_info *info, bit
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void segaic16_road_device::segaic16_road_init(running_machine &machine, int which, int type, int colorbase1, int colorbase2, int colorbase3, int xoffs)
|
||||
void segaic16_road_device::segaic16_road_init(int which, int type, int colorbase1, int colorbase2, int colorbase3, int xoffs)
|
||||
{
|
||||
road_info *info = &segaic16_road[which];
|
||||
|
||||
@ -551,7 +534,7 @@ void segaic16_road_device::segaic16_road_init(running_machine &machine, int whic
|
||||
switch (which)
|
||||
{
|
||||
case 0:
|
||||
info->roadram = segaic16_roadram_0;
|
||||
info->roadram = m_roadram.target();
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -564,14 +547,14 @@ void segaic16_road_device::segaic16_road_init(running_machine &machine, int whic
|
||||
case ROAD_HANGON:
|
||||
case ROAD_SHARRIER:
|
||||
info->draw = segaic16_road_hangon_draw;
|
||||
segaic16_road_hangon_decode(machine, info);
|
||||
segaic16_road_hangon_decode(info);
|
||||
break;
|
||||
|
||||
case ROAD_OUTRUN:
|
||||
case ROAD_XBOARD:
|
||||
info->buffer = std::make_unique<uint16_t[]>(0x1000/2);
|
||||
info->buffer = std::make_unique<u16[]>(0x1000/2);
|
||||
info->draw = segaic16_road_outrun_draw;
|
||||
segaic16_road_outrun_decode(machine, info);
|
||||
segaic16_road_outrun_decode(info);
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -601,22 +584,24 @@ void segaic16_road_device::segaic16_road_draw(int which, bitmap_ind16 &bitmap, c
|
||||
*
|
||||
*************************************/
|
||||
|
||||
READ16_MEMBER( segaic16_road_device::segaic16_road_control_0_r )
|
||||
u16 segaic16_road_device::segaic16_road_control_0_r()
|
||||
{
|
||||
road_info *info = &segaic16_road[0];
|
||||
|
||||
if (info->buffer)
|
||||
if (!machine().side_effects_disabled())
|
||||
{
|
||||
uint32_t *src = (uint32_t *)info->roadram;
|
||||
uint32_t *dst = (uint32_t *)info->buffer.get();
|
||||
int i;
|
||||
road_info *info = &segaic16_road[0];
|
||||
|
||||
/* swap the halves of the road RAM */
|
||||
for (i = 0; i < 0x1000/4; i++)
|
||||
if (info->buffer)
|
||||
{
|
||||
uint32_t temp = *src;
|
||||
*src++ = *dst;
|
||||
*dst++ = temp;
|
||||
u32 *src = (u32 *)info->roadram;
|
||||
u32 *dst = (u32 *)info->buffer.get();
|
||||
|
||||
/* swap the halves of the road RAM */
|
||||
for (int i = 0; i < 0x1000/4; i++)
|
||||
{
|
||||
const u32 temp = *src;
|
||||
*src++ = *dst;
|
||||
*dst++ = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -624,7 +609,7 @@ READ16_MEMBER( segaic16_road_device::segaic16_road_control_0_r )
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER( segaic16_road_device::segaic16_road_control_0_w )
|
||||
void segaic16_road_device::segaic16_road_control_0_w(offs_t offset, u16 data, u16 mem_mask)
|
||||
{
|
||||
road_info *info = &segaic16_road[0];
|
||||
|
||||
|
@ -26,34 +26,32 @@ public:
|
||||
|
||||
struct road_info
|
||||
{
|
||||
uint8_t index; /* index of this structure */
|
||||
uint8_t type; /* type of road system (see segaic16.h for details) */
|
||||
uint8_t control; /* control register value */
|
||||
uint16_t colorbase1; /* color base for road ROM data */
|
||||
uint16_t colorbase2; /* color base for road background data */
|
||||
uint16_t colorbase3; /* color base for sky data */
|
||||
int32_t xoffs; /* X scroll offset */
|
||||
void (*draw)(struct road_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
|
||||
uint16_t * roadram; /* pointer to roadram pointer */
|
||||
std::unique_ptr<uint16_t[]> buffer; /* buffered roadram pointer */
|
||||
std::unique_ptr<uint8_t[]> gfx; /* expanded road graphics */
|
||||
u8 index; /* index of this structure */
|
||||
u8 type; /* type of road system (see segaic16.h for details) */
|
||||
u8 control; /* control register value */
|
||||
u16 colorbase1; /* color base for road ROM data */
|
||||
u16 colorbase2; /* color base for road background data */
|
||||
u16 colorbase3; /* color base for sky data */
|
||||
s32 xoffs; /* X scroll offset */
|
||||
void (*draw)(struct road_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
|
||||
u16 * roadram; /* pointer to roadram pointer */
|
||||
std::unique_ptr<u16[]> buffer; /* buffered roadram pointer */
|
||||
std::unique_ptr<u8[]> gfx; /* expanded road graphics */
|
||||
};
|
||||
|
||||
|
||||
segaic16_road_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
segaic16_road_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
uint16_t *segaic16_roadram_0;
|
||||
void segaic16_road_hangon_decode(running_machine &machine, struct road_info *info);
|
||||
void segaic16_road_outrun_decode(running_machine &machine, struct road_info *info);
|
||||
void segaic16_road_hangon_decode(struct road_info *info);
|
||||
void segaic16_road_outrun_decode(struct road_info *info);
|
||||
|
||||
struct road_info segaic16_road[MAX_ROADS];
|
||||
void segaic16_road_init(running_machine &machine, int which, int type, int colorbase1, int colorbase2, int colorbase3, int xoffs);
|
||||
void segaic16_road_init(int which, int type, int colorbase1, int colorbase2, int colorbase3, int xoffs);
|
||||
|
||||
void segaic16_road_draw(int which, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
|
||||
|
||||
DECLARE_READ16_MEMBER( segaic16_road_control_0_r );
|
||||
DECLARE_WRITE16_MEMBER( segaic16_road_control_0_w );
|
||||
u16 segaic16_road_control_0_r();
|
||||
void segaic16_road_control_0_w(offs_t offset, u16 data, u16 mem_mask = ~0);
|
||||
|
||||
|
||||
protected:
|
||||
@ -63,6 +61,8 @@ protected:
|
||||
|
||||
private:
|
||||
// internal state
|
||||
required_region_ptr<u8> m_gfx_region;
|
||||
required_shared_ptr<u16> m_roadram;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(SEGAIC16_ROAD, segaic16_road_device)
|
||||
|
@ -23,7 +23,7 @@ void segaorun_state::video_start()
|
||||
m_segaic16vid->tilemap_init(0, segaic16_video_device::TILEMAP_16B_ALT, 0x000, 0, 2);
|
||||
|
||||
// initialize the road
|
||||
m_segaic16road->segaic16_road_init(machine(), 0, segaic16_road_device::ROAD_OUTRUN, 0x7f6, 0x7c0, 0x7c0, 0);
|
||||
m_segaic16road->segaic16_road_init(0, segaic16_road_device::ROAD_OUTRUN, 0x7f6, 0x7c0, 0x7c0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -31,7 +31,7 @@ void segaorun_state::video_start()
|
||||
m_segaic16vid->tilemap_init(0, segaic16_video_device::TILEMAP_16B, 0x000, 0, 2);
|
||||
|
||||
// initialize the road
|
||||
m_segaic16road->segaic16_road_init(machine(), 0, segaic16_road_device::ROAD_OUTRUN, 0x400, 0x420, 0x780, 0);
|
||||
m_segaic16road->segaic16_road_init(0, segaic16_road_device::ROAD_OUTRUN, 0x400, 0x420, 0x780, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ void segaxbd_state::video_start()
|
||||
m_segaic16vid->tilemap_init( 0, segaic16_video_device::TILEMAP_16B, 0x1c00, 0, 2);
|
||||
|
||||
// initialize the road
|
||||
m_segaic16road->segaic16_road_init(machine(), 0, segaic16_road_device::ROAD_XBOARD, 0x1700, 0x1720, 0x1780, -166);
|
||||
m_segaic16road->segaic16_road_init(0, segaic16_road_device::ROAD_XBOARD, 0x1700, 0x1720, 0x1780, -166);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user