summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2019-05-21 22:03:54 -0400
committer GitHub <noreply@github.com>2019-05-21 22:03:54 -0400
commitad5809f1ff6bc97dc390f350d16072db59ad2dc6 (patch)
tree0953eb575305a94276c522904596b12edc20a6df
parent9a0b46a270860a55694105ad4e461c8cb602793b (diff)
parent53b58377b0cfcb04ae5c76b018c591ae9dcbaf0d (diff)
Merge pull request #5092 from cam900/avgdvg_args
avgdvg.cpp : Updates
-rw-r--r--src/mame/drivers/asteroid.cpp42
-rw-r--r--src/mame/drivers/bwidow.cpp26
-rw-r--r--src/mame/drivers/bzone.cpp16
-rw-r--r--src/mame/drivers/mhavoc.cpp32
-rw-r--r--src/mame/drivers/omegrace.cpp18
-rw-r--r--src/mame/drivers/quantum.cpp14
-rw-r--r--src/mame/drivers/starwars.cpp12
-rw-r--r--src/mame/drivers/tempest.cpp16
-rw-r--r--src/mame/drivers/tomcat.cpp4
-rw-r--r--src/mame/machine/asteroid.cpp2
-rw-r--r--src/mame/video/avgdvg.cpp499
-rw-r--r--src/mame/video/avgdvg.h127
12 files changed, 388 insertions, 420 deletions
diff --git a/src/mame/drivers/asteroid.cpp b/src/mame/drivers/asteroid.cpp
index 53145eec6bf..1a59ce4c4ca 100644
--- a/src/mame/drivers/asteroid.cpp
+++ b/src/mame/drivers/asteroid.cpp
@@ -332,7 +332,7 @@ void asteroid_state::asteroid_map(address_map &map)
map(0x3a00, 0x3a00).w(FUNC(asteroid_state::asteroid_thump_w));
map(0x3c00, 0x3c07).w("audiolatch", FUNC(ls259_device::write_d7));
map(0x3e00, 0x3e00).w(FUNC(asteroid_state::asteroid_noise_reset_w));
- map(0x4000, 0x47ff).ram().share("vectorram").region("maincpu", 0x4000);
+ map(0x4000, 0x47ff).ram().share("dvg:vectorram").region("maincpu", 0x4000);
map(0x5000, 0x57ff).rom(); /* vector rom */
map(0x6800, 0x7fff).rom();
}
@@ -356,7 +356,7 @@ void asteroid_state::astdelux_map(address_map &map)
map(0x3a00, 0x3a00).w(FUNC(asteroid_state::earom_control_w));
map(0x3c00, 0x3c07).w("audiolatch", FUNC(ls259_device::write_d7));
map(0x3e00, 0x3e00).w(FUNC(asteroid_state::asteroid_noise_reset_w));
- map(0x4000, 0x47ff).ram().share("vectorram").region("maincpu", 0x4000);
+ map(0x4000, 0x47ff).ram().share("dvg:vectorram").region("maincpu", 0x4000);
map(0x4800, 0x57ff).rom(); /* vector rom */
map(0x6000, 0x7fff).rom();
}
@@ -375,7 +375,7 @@ void asteroid_state::llander_map(address_map &map)
map(0x3400, 0x3400).w("watchdog", FUNC(watchdog_timer_device::reset_w));
map(0x3c00, 0x3c00).w(FUNC(asteroid_state::llander_sounds_w));
map(0x3e00, 0x3e00).w(FUNC(asteroid_state::llander_snd_reset_w));
- map(0x4000, 0x47ff).ram().share("vectorram").region("maincpu", 0x4000);
+ map(0x4000, 0x47ff).ram().share("dvg:vectorram").region("maincpu", 0x4000);
map(0x4800, 0x5fff).rom(); /* vector rom */
map(0x5800, 0x5800).nopw(); // INC access?
map(0x6000, 0x7fff).rom();
@@ -853,7 +853,7 @@ ROM_START( asteroid )
ROM_LOAD( "035127-02.np3", 0x5000, 0x0800, CRC(8b71fd9e) SHA1(8cd5005e531eafa361d6b7e9eed159d164776c70) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -866,7 +866,7 @@ ROM_START( asteroid2 )
ROM_LOAD( "035127-02.np3", 0x5000, 0x0800, CRC(8b71fd9e) SHA1(8cd5005e531eafa361d6b7e9eed159d164776c70) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -879,7 +879,7 @@ ROM_START( asteroid1 )
ROM_LOAD( "035127-01.np3", 0x5000, 0x0800, CRC(99699366) SHA1(9b2828fc1cef7727f65fa65e1e11e309b7c98792) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -892,7 +892,7 @@ ROM_START( asteroidb )
ROM_LOAD( "035127-02.np3", 0x5000, 0x0800, CRC(8b71fd9e) SHA1(8cd5005e531eafa361d6b7e9eed159d164776c70) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -909,7 +909,7 @@ ROM_START( spcrocks )
ROM_LOAD( "e.bin", 0x5000, 0x0800, CRC(148ef465) SHA1(4b1158112364bc55b8aab4127949f9238c36b238) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, BAD_DUMP CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) ) // still undumped.
ROM_END
@@ -922,7 +922,7 @@ ROM_START( aerolitos )
ROM_LOAD( "2716_3n.bin", 0x5000, 0x0800, CRC(32e69e66) SHA1(a4cce36bc781443b430003280ef4185a4a04de96) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -939,7 +939,7 @@ ROM_START( asterock )
ROM_LOAD( "10505.1", 0x5400, 0x0400, CRC(231ce201) SHA1(710f4c19864d725ba1c9ea447a97e84001a679f7) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -956,7 +956,7 @@ ROM_START( asterockv )
ROM_LOAD( "10505.1", 0x5400, 0x0400, CRC(231ce201) SHA1(710f4c19864d725ba1c9ea447a97e84001a679f7) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -973,7 +973,7 @@ ROM_START( meteorite )
ROM_LOAD( "1", 0x5400, 0x0400, CRC(d62b2887) SHA1(8832953c7166d2f0ed1067c43ebf369db4a4aa70) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "meteorites_bprom.bin", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -986,7 +986,7 @@ ROM_START( meteorts )
ROM_LOAD( "mv_np3.bin", 0x5000, 0x0800, CRC(11d1c4ae) SHA1(433c2c05b92094bbe102c356d7f1a907db13da67) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -1003,7 +1003,7 @@ ROM_START( meteorho )
ROM_LOAD( "b.bin", 0x5400, 0x0400, CRC(d62b2887) SHA1(8832953c7166d2f0ed1067c43ebf369db4a4aa70) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "prom.bin", 0x0000, 0x0100, CRC(9e237193) SHA1(f663e12d5db0fa50ea49d03591475ae0a7168bc0) )
ROM_END
@@ -1016,7 +1016,7 @@ ROM_START( hyperspc )
ROM_LOAD( "035127-01.bin", 0x5000, 0x0800, CRC(7dec48bd) SHA1(8bc926a763ff80b101b2e1c24d45615c3daf67d5) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -1031,7 +1031,7 @@ ROM_START( astdelux )
ROM_LOAD( "036799-01.np2", 0x5000, 0x0800, CRC(7d511572) SHA1(1956a12bccb5d3a84ce0c1cc10c6ad7f64e30b40) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_REGION( 0x40, "earom", ROMREGION_ERASE00 ) // default to zero fill to suppress invalid high score display
@@ -1048,7 +1048,7 @@ ROM_START( astdelux2 )
ROM_LOAD( "036799-01.np2", 0x5000, 0x0800, CRC(7d511572) SHA1(1956a12bccb5d3a84ce0c1cc10c6ad7f64e30b40) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_REGION( 0x40, "earom", ROMREGION_ERASE00 ) // default to zero fill to suppress invalid high score display
@@ -1103,7 +1103,7 @@ ROM_START( astdelux1 )
ROM_LOAD( "036799-01.np2", 0x5000, 0x0800, CRC(7d511572) SHA1(1956a12bccb5d3a84ce0c1cc10c6ad7f64e30b40) )
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_REGION( 0x40, "earom", ROMREGION_ERASE00 ) // default to zero fill to suppress invalid high score display
@@ -1121,7 +1121,7 @@ ROM_START( llander )
ROM_LOAD( "034597-01.m3", 0x5800, 0x0800, CRC(ebb744f2) SHA1(e685b094c1261a351e4e82dfb487462163f136a4) ) /* built from original Atari source code */
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -1137,7 +1137,7 @@ ROM_START( llander1 )
ROM_LOAD( "034597-01.m3", 0x5800, 0x0800, CRC(ebb744f2) SHA1(e685b094c1261a351e4e82dfb487462163f136a4) ) /* built from original Atari source code */
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) )
ROM_END
@@ -1153,7 +1153,7 @@ ROM_START( llandert )
ROM_LOAD( "llvrom2.m3", 0x5800, 0x0800, CRC(56c38219) SHA1(714878c0b24c9657c972a2ba25e790a4d3b81d64) ) // unused, filled with garbage? (it is not the language rom)
/* DVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "034602-01.c8", 0x0000, 0x0100, CRC(97953db8) SHA1(8cbded64d1dd35b18c4d5cece00f77e7b2cab2ad) ) // taken from parent
ROM_END
diff --git a/src/mame/drivers/bwidow.cpp b/src/mame/drivers/bwidow.cpp
index e0879582c50..00638ada226 100644
--- a/src/mame/drivers/bwidow.cpp
+++ b/src/mame/drivers/bwidow.cpp
@@ -407,7 +407,7 @@ WRITE8_MEMBER(bwidow_state::irq_ack_w)
void bwidow_state::bwidow_map(address_map &map)
{
map(0x0000, 0x07ff).ram();
- map(0x2000, 0x27ff).ram().share("vectorram").region("maincpu", 0x2000);
+ map(0x2000, 0x27ff).ram().share("avg:vectorram").region("maincpu", 0x2000);
map(0x2800, 0x5fff).rom();
map(0x6000, 0x67ff).rw("pokey1", FUNC(pokey_device::read), FUNC(pokey_device::write));
map(0x6800, 0x6fff).rw("pokey2", FUNC(pokey_device::read), FUNC(pokey_device::write));
@@ -436,7 +436,7 @@ void bwidow_state::bwidowp_map(address_map &map)
map(0x2800, 0x2800).w("avg", FUNC(avg_device::reset_w));
map(0x3000, 0x3000).w("watchdog", FUNC(watchdog_timer_device::reset_w));
map(0x3800, 0x3800).w(FUNC(bwidow_state::bwidow_misc_w)); /* coin counters, leds */
- map(0x4000, 0x47ff).ram().share("vectorram").region("maincpu", 0x4000);
+ map(0x4000, 0x47ff).ram().share("avg:vectorram").region("maincpu", 0x4000);
map(0x4800, 0x6fff).rom();
map(0x6000, 0x6000).w(FUNC(bwidow_state::irq_ack_w)); /* interrupt acknowledge */
map(0x8000, 0x803f).w(FUNC(bwidow_state::earom_write));
@@ -462,7 +462,7 @@ void bwidow_state::spacduel_map(address_map &map)
map(0x0f00, 0x0f3f).w(FUNC(bwidow_state::earom_write));
map(0x1000, 0x10ff).rw("pokey1", FUNC(pokey_device::read), FUNC(pokey_device::write));
map(0x1400, 0x14ff).rw("pokey2", FUNC(pokey_device::read), FUNC(pokey_device::write));
- map(0x2000, 0x27ff).ram().share("vectorram").region("maincpu", 0x2000);
+ map(0x2000, 0x27ff).ram().share("avg:vectorram").region("maincpu", 0x2000);
map(0x2800, 0x3fff).rom();
map(0x4000, 0xffff).rom();
}
@@ -858,7 +858,7 @@ ROM_START( bwidow )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -877,7 +877,7 @@ ROM_START( bwidowp )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "avgsmr", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Proms */
@@ -903,7 +903,7 @@ ROM_START( gravitar )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Address decoding */
@@ -929,7 +929,7 @@ ROM_START( gravitar2 )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Address decoding */
@@ -955,7 +955,7 @@ ROM_START( gravitar1 )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Address decoding */
@@ -980,7 +980,7 @@ ROM_START( lunarbat )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Address decoding */
@@ -1009,7 +1009,7 @@ ROM_START( lunarba1 )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Address decoding */
@@ -1038,7 +1038,7 @@ ROM_START( spacduel )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -1062,7 +1062,7 @@ ROM_START( spacduel1 )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -1086,7 +1086,7 @@ ROM_START( spacduel0 )
ROM_RELOAD( 0xf000, 0x1000 ) /* for reset/interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.n4", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
diff --git a/src/mame/drivers/bzone.cpp b/src/mame/drivers/bzone.cpp
index c9cfbfc1716..ea90f27e544 100644
--- a/src/mame/drivers/bzone.cpp
+++ b/src/mame/drivers/bzone.cpp
@@ -348,7 +348,7 @@ void bzone_state::bzone_map(address_map &map)
map(0x1820, 0x182f).rw("pokey", FUNC(pokey_device::read), FUNC(pokey_device::write));
map(0x1840, 0x1840).w(FUNC(bzone_state::bzone_sounds_w));
map(0x1860, 0x187f).w(m_mathbox, FUNC(mathbox_device::go_w));
- map(0x2000, 0x2fff).ram().share("vectorram").region("maincpu", 0x2000);
+ map(0x2000, 0x2fff).ram().share("avg:vectorram").region("maincpu", 0x2000);
map(0x3000, 0x7fff).rom();
}
@@ -373,7 +373,7 @@ void redbaron_state::redbaron_map(address_map &map)
map(0x1810, 0x181f).rw("pokey", FUNC(pokey_device::read), FUNC(pokey_device::write));
map(0x1820, 0x185f).rw(FUNC(redbaron_state::earom_read), FUNC(redbaron_state::earom_write));
map(0x1860, 0x187f).w("mathbox", FUNC(mathbox_device::go_w));
- map(0x2000, 0x2fff).ram().share("vectorram").region("maincpu", 0x2000);
+ map(0x2000, 0x2fff).ram().share("avg:vectorram").region("maincpu", 0x2000);
map(0x3000, 0x7fff).rom();
}
@@ -666,7 +666,7 @@ ROM_START( bzone ) /* Analog Vec Gen A035742-02 */
ROM_LOAD( "036421-01.a3", 0x3800, 0x0800, CRC(8ea8f939) SHA1(b71e0ab0e220c3e64dc2b094c701fb1a960b64e4) ) // 036421-01e.a3 same contents
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -696,7 +696,7 @@ ROM_START( bzonea ) /* Analog Vec Gen A035742-02 */
ROM_LOAD( "036421-01.a3", 0x3800, 0x0800, CRC(8ea8f939) SHA1(b71e0ab0e220c3e64dc2b094c701fb1a960b64e4) ) // 036421-01e.a3 same contents
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -727,7 +727,7 @@ ROM_START( bzonec ) /* cocktail version */
ROM_LOAD( "bz3b3800", 0x3800, 0x0800, CRC(76cf57f6) SHA1(1b8f3fcd664ed04ce60d94fdf27e56b20d52bdbd) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -759,7 +759,7 @@ ROM_START( bradley )
ROM_LOAD( "bta3.bin", 0x3800, 0x0800, CRC(d669d796) SHA1(ad606882320cd13612c7962d4718680fe5a35dd3) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -813,7 +813,7 @@ ROM_START( redbaron ) /* Analog Vec Gen A035742-02 Rev. C+ */
ROM_LOAD( "037007-01.a3", 0x3800, 0x0800, CRC(60250ede) SHA1(9c48952bd69863bee0c6dce09f3613149e0151ef) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) /* 74S287N or compatible bprom like the 82S129 */
/* Mathbox PROMs */
@@ -847,7 +847,7 @@ ROM_START( redbarona ) /* Analog Vec Gen A035742-02 */
ROM_LOAD( "037007-01e.a3", 0x3800, 0x0800, CRC(60250ede) SHA1(9c48952bd69863bee0c6dce09f3613149e0151ef) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.k7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) /* 74S287N or compatible bprom like the 82S129 */
/* Mathbox PROMs */
diff --git a/src/mame/drivers/mhavoc.cpp b/src/mame/drivers/mhavoc.cpp
index 21b782f8d69..df4dcfaf274 100644
--- a/src/mame/drivers/mhavoc.cpp
+++ b/src/mame/drivers/mhavoc.cpp
@@ -272,7 +272,7 @@ void mhavoc_state::alpha_map(address_map &map)
map(0x0a00, 0x0fff).bankrw("bank1").share("zram1");
map(0x1000, 0x1000).r(FUNC(mhavoc_state::mhavoc_gamma_r)); /* Gamma Read Port */
map(0x1200, 0x1200).portr("IN0").nopw(); /* Alpha Input Port 0 */
- map(0x1400, 0x141f).ram().share("colorram"); /* ColorRAM */
+ map(0x1400, 0x141f).ram().share("avg:colorram"); /* ColorRAM */
map(0x1600, 0x1600).w(FUNC(mhavoc_state::mhavoc_out_0_w)); /* Control Signals */
map(0x1640, 0x1640).w("avg", FUNC(avg_mhavoc_device::go_w)); /* Vector Generator GO */
map(0x1680, 0x1680).w("watchdog", FUNC(watchdog_timer_device::reset_w)); /* Watchdog Clear */
@@ -283,7 +283,7 @@ void mhavoc_state::alpha_map(address_map &map)
map(0x17c0, 0x17c0).w(FUNC(mhavoc_state::mhavoc_gamma_w)); /* Gamma Communication Write Port */
map(0x1800, 0x1fff).ram(); /* Shared Beta Ram */
map(0x2000, 0x3fff).bankr("bank2"); /* Paged Program ROM (32K) */
- map(0x4000, 0x4fff).ram().share("vectorram").region("alpha", 0x4000); /* Vector Generator RAM */
+ map(0x4000, 0x4fff).ram().share("avg:vectorram").region("alpha", 0x4000); /* Vector Generator RAM */
map(0x5000, 0x7fff).rom(); /* Vector ROM */
map(0x8000, 0xffff).rom(); /* Program ROM (32K) */
}
@@ -359,10 +359,10 @@ void mhavoc_state::alphaone_map(address_map &map)
map(0x10b0, 0x10b0).w(FUNC(mhavoc_state::mhavoc_alpha_irq_ack_w)); /* IRQ ack */
map(0x10b4, 0x10b4).w(FUNC(mhavoc_state::mhavoc_rom_banksel_w));
map(0x10b8, 0x10b8).w(FUNC(mhavoc_state::mhavoc_ram_banksel_w));
- map(0x10e0, 0x10ff).nopr().writeonly().share("colorram"); /* ColorRAM */
+ map(0x10e0, 0x10ff).nopr().writeonly().share("avg:colorram"); /* ColorRAM */
map(0x1800, 0x18ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)); /* EEROM */
map(0x2000, 0x3fff).bankr("bank2"); /* Paged Program ROM (32K) */
- map(0x4000, 0x4fff).ram().share("vectorram").region("alpha", 0x4000); /* Vector Generator RAM */
+ map(0x4000, 0x4fff).ram().share("avg:vectorram").region("alpha", 0x4000); /* Vector Generator RAM */
map(0x5000, 0x7fff).rom(); /* Vector ROM */
map(0x8000, 0xffff).rom(); /* Program ROM (32K) */
}
@@ -631,7 +631,7 @@ ROM_START( mhavoc )
ROM_LOAD( "136025.318", 0x14000, 0x4000, CRC(ba935067) SHA1(05ad81e7a1982b9d8fddb48502546f48b5dc21b7) ) /* page 2+3 */
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "136025.106", 0x0000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
ROM_LOAD( "136025.107", 0x4000, 0x4000, CRC(5f81c5f3) SHA1(be4055727a2d4536e37ec20150deffdb5af5b01f) ) /* page 2+3 */
@@ -640,7 +640,7 @@ ROM_START( mhavoc )
ROM_LOAD( "136025.108", 0x08000, 0x4000, CRC(93faf210) SHA1(7744368a1d520f986d1c4246113a7e24fcdd6d04) ) /* mirrored to c000-ffff for reset+interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -660,7 +660,7 @@ ROM_START( mhavoc2 )
ROM_LOAD( "136025.109", 0x14000, 0x4000, CRC(4d766827) SHA1(7697bf6f92bff0e62850ed75ff66008a08583ef7) ) /* page 2+3 */
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "136025.106", 0x0000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
ROM_LOAD( "136025.107", 0x4000, 0x4000, CRC(5f81c5f3) SHA1(be4055727a2d4536e37ec20150deffdb5af5b01f) ) /* page 2+3 */
@@ -671,7 +671,7 @@ ROM_START( mhavoc2 )
ROM_LOAD( "136025.108", 0x08000, 0x4000, CRC(93faf210) SHA1(7744368a1d520f986d1c4246113a7e24fcdd6d04) ) /* mirrored to c000-ffff for reset+interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -691,7 +691,7 @@ ROM_START( mhavocrv )
ROM_LOAD( "136025.918", 0x14000, 0x4000, CRC(84735445) SHA1(21aacd862ce8911d257c6f48ead119ee5bb0b60d) ) /* page 2+3 */
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "136025.106", 0x0000, 0x4000, CRC(2ca83c76) SHA1(cc1adca32f70af30c4590e9fd6b056b051ccdb38) ) /* page 0+1 */
ROM_LOAD( "136025.907", 0x4000, 0x4000, CRC(4deea2c9) SHA1(c4107581748a3f2d2084de2a4f120abd67a52189) ) /* page 2+3 */
@@ -702,7 +702,7 @@ ROM_START( mhavocrv )
ROM_LOAD( "136025.908", 0x08000, 0x4000, CRC(c52ec664) SHA1(08120a385f71b17ec02a3c2ef856ff835a91773e) ) /* mirrored to c000-ffff for reset+interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -722,7 +722,7 @@ ROM_START( mhavocp )
ROM_LOAD( "136025.018", 0x14000, 0x4000, CRC(a8c35ccd) SHA1(c243a5407557390a64c6560d857f5031f839973f) )
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "136025.006", 0x0000, 0x4000, CRC(e272ed41) SHA1(0de395d1c4300a64da7f45746d7b550779e36a21) )
ROM_LOAD( "136025.007", 0x4000, 0x4000, CRC(e152c9d8) SHA1(79d0938fa9ad262c7f28c5a8ad21004a4dec9ed8) )
@@ -733,7 +733,7 @@ ROM_START( mhavocp )
ROM_LOAD( "136025.008", 0x8000, 0x4000, CRC(22ea7399) SHA1(eeda8cc40089506063835a62c3273e7dd3918fd5) ) /* mirrored to c000-ffff for reset+interrupt vectors */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -754,14 +754,14 @@ ROM_START( alphaone )
ROM_LOAD( "page01.tw", 0x10000, 0x4000, CRC(cbf3b05a) SHA1(1dfaf9300a252c9c921f06167160a59cdf329726) )
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "vec_pg01.tw", 0x0000, 0x4000, CRC(e392a94d) SHA1(b5843da97d7aa5767c87c29660115efc5ad9ad54) )
ROM_LOAD( "vec_pg23.tw", 0x4000, 0x4000, CRC(1ff74292) SHA1(90e61c48544c62d905e207bba5c67ae7694e86a5) )
/* the last 0x1000 is used for the 2 RAM pages */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
@@ -782,14 +782,14 @@ ROM_START( alphaonea )
ROM_LOAD( "page01.tw", 0x10000, 0x4000, CRC(cbf3b05a) SHA1(1dfaf9300a252c9c921f06167160a59cdf329726) )
/* Paged Vector Generator ROM */
- ROM_REGION( 0x8000, "avgdvg", 0 )
+ ROM_REGION( 0x8000, "avg", 0 )
ROM_LOAD( "vec_pg01.tw", 0x0000, 0x4000, CRC(e392a94d) SHA1(b5843da97d7aa5767c87c29660115efc5ad9ad54) )
ROM_LOAD( "vec_pg23.tw", 0x4000, 0x4000, CRC(1ff74292) SHA1(90e61c48544c62d905e207bba5c67ae7694e86a5) )
/* the last 0x1000 is used for the 2 RAM pages */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.6c", 0x0000, 0x0100, BAD_DUMP CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_END
diff --git a/src/mame/drivers/omegrace.cpp b/src/mame/drivers/omegrace.cpp
index 464628c8aa3..697295a1559 100644
--- a/src/mame/drivers/omegrace.cpp
+++ b/src/mame/drivers/omegrace.cpp
@@ -274,9 +274,8 @@ private:
void omegrace_state::machine_reset()
{
- address_space &space = m_maincpu->space(AS_PROGRAM);
/* Omega Race expects the vector processor to be ready. */
- m_dvg->reset_w(space, 0, 0);
+ m_dvg->reset_w();
}
@@ -289,7 +288,8 @@ void omegrace_state::machine_reset()
READ8_MEMBER(omegrace_state::omegrace_vg_go_r)
{
- m_dvg->go_w(space, 0, 0);
+ if (!machine().side_effects_disabled())
+ m_dvg->go_w();
return 0;
}
@@ -373,7 +373,7 @@ void omegrace_state::main_map(address_map &map)
map(0x0000, 0x3fff).rom();
map(0x4000, 0x4bff).ram();
map(0x5c00, 0x5cff).ram().share("nvram"); /* NVRAM */
- map(0x8000, 0x8fff).ram().share("vectorram").region("maincpu", 0x8000); /* vector ram */
+ map(0x8000, 0x8fff).ram().share("dvg:vectorram").region("maincpu", 0x8000); /* vector ram */
map(0x9000, 0x9fff).rom(); /* vector rom */
}
@@ -581,7 +581,7 @@ ROM_START( omegrace )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "sound.k5", 0x0000, 0x0800, CRC(7d426017) SHA1(370f0fb5608819de873c845f6010cbde75a9818e) )
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "dvgprom.bin", 0x0000, 0x0100, CRC(d481e958) SHA1(d8790547dc539e25984807573097b61ec3ffe614) )
ROM_END
@@ -597,7 +597,7 @@ ROM_START( omegrace2 )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "o.r.r._audio_6-1-81.k5", 0x0000, 0x0800, CRC(7d426017) SHA1(370f0fb5608819de873c845f6010cbde75a9818e) )
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "dvgprom.bin", 0x0000, 0x0100, CRC(d481e958) SHA1(d8790547dc539e25984807573097b61ec3ffe614) )
ROM_END
@@ -613,7 +613,7 @@ ROM_START( deltrace )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "sound.k5", 0x0000, 0x0800, CRC(7d426017) SHA1(370f0fb5608819de873c845f6010cbde75a9818e) )
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "dvg:prom", 0 )
ROM_LOAD( "dvgprom.bin", 0x0000, 0x0100, CRC(d481e958) SHA1(d8790547dc539e25984807573097b61ec3ffe614) )
ROM_END
@@ -626,8 +626,8 @@ ROM_END
void omegrace_state::init_omegrace()
{
- int len = memregion("user1")->bytes();
- uint8_t *prom = memregion("user1")->base();
+ int len = memregion("dvg:prom")->bytes();
+ uint8_t *prom = memregion("dvg:prom")->base();
/* Omega Race has two pairs of the state PROM output
* lines swapped before going into the decoder.
diff --git a/src/mame/drivers/quantum.cpp b/src/mame/drivers/quantum.cpp
index 1bfdac5d570..07d19297ae3 100644
--- a/src/mame/drivers/quantum.cpp
+++ b/src/mame/drivers/quantum.cpp
@@ -141,8 +141,8 @@ WRITE16_MEMBER(quantum_state::led_w)
m_leds[1] = BIT(data, 5);
/* bits 6 and 7 flip screen */
- m_avg->set_flip_x (data & 0x40);
- m_avg->set_flip_y (data & 0x80);
+ m_avg->set_flip_x(data & 0x40);
+ m_avg->set_flip_y(data & 0x80);
}
}
@@ -164,13 +164,13 @@ void quantum_state::main_map(address_map &map)
{
map(0x000000, 0x013fff).rom();
map(0x018000, 0x01cfff).ram();
- map(0x800000, 0x801fff).ram().share("vectorram");
+ map(0x800000, 0x801fff).ram().share("avg:vectorram");
map(0x840000, 0x84001f).rw("pokey1", FUNC(pokey_device::read), FUNC(pokey_device::write)).umask16(0x00ff);
map(0x840020, 0x84003f).rw("pokey2", FUNC(pokey_device::read), FUNC(pokey_device::write)).umask16(0x00ff);
map(0x900000, 0x9001ff).rw("nvram", FUNC(x2212_device::read), FUNC(x2212_device::write)).umask16(0x00ff);
map(0x940000, 0x940001).r(FUNC(quantum_state::trackball_r)); /* trackball */
map(0x948000, 0x948001).portr("SYSTEM");
- map(0x950000, 0x95001f).writeonly().share("colorram");
+ map(0x950000, 0x95001f).writeonly().share("avg:colorram");
map(0x958000, 0x958001).w(FUNC(quantum_state::led_w));
map(0x960000, 0x960001).w(FUNC(quantum_state::nvram_recall_w));
map(0x968000, 0x968001).w(m_avg, FUNC(avg_quantum_device::reset_word_w));
@@ -358,7 +358,7 @@ ROM_START( quantum )
ROM_LOAD16_BYTE( "136016.105", 0x010000, 0x002000, CRC(13ec512c) SHA1(22a0395135b83ba47eacb5129f34fc97aa1b70a1) )
ROM_LOAD16_BYTE( "136016.110", 0x010001, 0x002000, CRC(acb50363) SHA1(9efa9ca88efdd2d5e212bd537903892b67b4fe53) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.6h", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_REGION( 0x200, "plds", 0 )
@@ -379,7 +379,7 @@ ROM_START( quantum1 )
ROM_LOAD16_BYTE( "136016.105", 0x010000, 0x002000, CRC(13ec512c) SHA1(22a0395135b83ba47eacb5129f34fc97aa1b70a1) )
ROM_LOAD16_BYTE( "136016.110", 0x010001, 0x002000, CRC(acb50363) SHA1(9efa9ca88efdd2d5e212bd537903892b67b4fe53) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.6h", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_REGION( 0x200, "plds", 0 )
@@ -400,7 +400,7 @@ ROM_START( quantump )
ROM_LOAD16_BYTE( "quantump.2l", 0x010000, 0x002000, CRC(1285b5e7) SHA1(0e01e361da2d9cf1fac1896f8f44c4c2e75a3061) )
ROM_LOAD16_BYTE( "quantump.3l", 0x010001, 0x002000, CRC(e19de844) SHA1(cb4f9d80807b26d6b95405b2d830799984667f54) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.6h", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
ROM_REGION( 0x200, "plds", 0 )
diff --git a/src/mame/drivers/starwars.cpp b/src/mame/drivers/starwars.cpp
index 88e614cfe61..d1db1db6f2d 100644
--- a/src/mame/drivers/starwars.cpp
+++ b/src/mame/drivers/starwars.cpp
@@ -128,7 +128,7 @@ WRITE8_MEMBER(starwars_state::esb_slapstic_w)
void starwars_state::main_map(address_map &map)
{
- map(0x0000, 0x2fff).ram().share("vectorram").region("maincpu", 0);
+ map(0x0000, 0x2fff).ram().share("avg:vectorram").region("maincpu", 0);
map(0x3000, 0x3fff).rom(); /* vector_rom */
map(0x4300, 0x431f).portr("IN0");
map(0x4320, 0x433f).portr("IN1");
@@ -402,7 +402,7 @@ ROM_START( starwars )
ROM_LOAD( "136021-208.1h", 0x6000, 0x2000, CRC(e38070a8) SHA1(c858ae1702efdd48615453ab46e488848891d139) ) /* Sound ROM 0 */
ROM_RELOAD( 0xe000, 0x2000 )
- ROM_REGION( 0x100, "user1", 0)
+ ROM_REGION( 0x100, "avg:prom", 0)
ROM_LOAD( "136021-109.4b", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
/* Mathbox PROMs */
@@ -430,7 +430,7 @@ ROM_START( starwars1 )
ROM_LOAD( "136021-208.1h", 0x6000, 0x2000, CRC(e38070a8) SHA1(c858ae1702efdd48615453ab46e488848891d139) ) /* Sound ROM 0 */
ROM_RELOAD( 0xe000, 0x2000 )
- ROM_REGION( 0x100, "user1", 0)
+ ROM_REGION( 0x100, "avg:prom", 0)
ROM_LOAD( "136021-109.4b", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
/* Mathbox PROMs */
@@ -458,7 +458,7 @@ ROM_START( starwarso )
ROM_LOAD( "136021-208.1h", 0x6000, 0x2000, CRC(e38070a8) SHA1(c858ae1702efdd48615453ab46e488848891d139) ) /* Sound ROM 0 */
ROM_RELOAD( 0xe000, 0x2000 )
- ROM_REGION( 0x100, "user1", 0)
+ ROM_REGION( 0x100, "avg:prom", 0)
ROM_LOAD( "136021-109.4b", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
/* Mathbox PROMs */
@@ -486,7 +486,7 @@ ROM_START( tomcatsw )
ROM_LOAD( "136021-208.1h", 0x6000, 0x2000, NO_DUMP ) /* Sound ROM 0 */
ROM_RELOAD( 0xe000, 0x2000 )
- ROM_REGION( 0x100, "user1", 0)
+ ROM_REGION( 0x100, "avg:prom", 0)
ROM_LOAD( "136021-109.4b", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
/* Mathbox PROMs */
@@ -521,7 +521,7 @@ ROM_START( esb )
ROM_LOAD( "136031-112.1h", 0x6000, 0x2000, CRC(ca72d341) SHA1(52de5b82bb85d7c9caad2047e540d0748aa93ba5) ) /* Sound ROM 1 */
ROM_CONTINUE( 0xe000, 0x2000 )
- ROM_REGION( 0x100, "user1", 0)
+ ROM_REGION( 0x100, "avg:prom", 0)
ROM_LOAD( "136021-109.4b", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
/* Mathbox PROMs */
diff --git a/src/mame/drivers/tempest.cpp b/src/mame/drivers/tempest.cpp
index 1f8253a8695..6427c660f7c 100644
--- a/src/mame/drivers/tempest.cpp
+++ b/src/mame/drivers/tempest.cpp
@@ -483,11 +483,11 @@ READ8_MEMBER(tempest_state::rom_ae1f_r)
void tempest_state::main_map(address_map &map)
{
map(0x0000, 0x07ff).ram();
- map(0x0800, 0x080f).writeonly().share("colorram");
+ map(0x0800, 0x080f).writeonly().share("avg:colorram");
map(0x0c00, 0x0c00).portr("IN0");
map(0x0d00, 0x0d00).portr("DSW1");
map(0x0e00, 0x0e00).portr("DSW2");
- map(0x2000, 0x2fff).ram().share("vectorram").region("maincpu", 0x2000);
+ map(0x2000, 0x2fff).ram().share("avg:vectorram").region("maincpu", 0x2000);
map(0x3000, 0x3fff).rom();
map(0x4000, 0x4000).w(FUNC(tempest_state::tempest_coin_w));
map(0x4800, 0x4800).w(m_avg, FUNC(avg_tempest_device::go_w));
@@ -705,7 +705,7 @@ ROM_START( tempest ) /* rev 3 */
ROM_LOAD( "136002-138.np3", 0x3000, 0x1000, CRC(9995256d) SHA1(2b725ee1a57d423c7d7377a1744f48412e0f2f69) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -735,7 +735,7 @@ ROM_START( tempest1r ) /* rev 1 */
ROM_LOAD( "136002-138.np3", 0x3000, 0x1000, CRC(9995256d) SHA1(2b725ee1a57d423c7d7377a1744f48412e0f2f69) )
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -771,7 +771,7 @@ ROM_START( tempest3 ) /* rev 3 */
ROM_LOAD( "136002-124.r3", 0x3800, 0x0800, CRC(c16ec351) SHA1(a30a3662c740810c0f20e3712679606921b8ca06) ) /* May be labeled "136002-112", same data */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -807,7 +807,7 @@ ROM_START( tempest2 ) /* rev 2 */
ROM_LOAD( "136002-124.r3", 0x3800, 0x0800, CRC(c16ec351) SHA1(a30a3662c740810c0f20e3712679606921b8ca06) ) /* May be labeled "136002-112", same data */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -843,7 +843,7 @@ ROM_START( tempest1 ) /* rev 1 */
ROM_LOAD( "136002-124.r3", 0x3800, 0x0800, CRC(c16ec351) SHA1(a30a3662c740810c0f20e3712679606921b8ca06) ) /* May be labeled "136002-112", same data */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
@@ -879,7 +879,7 @@ ROM_START( temptube )
ROM_LOAD( "136002-124.r3", 0x3800, 0x0800, CRC(c16ec351) SHA1(a30a3662c740810c0f20e3712679606921b8ca06) ) /* May be labeled "136002-112", same data */
/* AVG PROM */
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136002-125.d7", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) )
/* Mathbox PROMs */
diff --git a/src/mame/drivers/tomcat.cpp b/src/mame/drivers/tomcat.cpp
index ba8f361d667..a55a07d9e7a 100644
--- a/src/mame/drivers/tomcat.cpp
+++ b/src/mame/drivers/tomcat.cpp
@@ -234,7 +234,7 @@ void tomcat_state::tomcat_map(address_map &map)
map(0x408000, 0x408001).r(FUNC(tomcat_state::tomcat_inputs2_r)).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
map(0x40a000, 0x40a001).rw(FUNC(tomcat_state::tomcat_320bio_r), FUNC(tomcat_state::tomcat_irqclr_w));
map(0x40e000, 0x40e01f).w(FUNC(tomcat_state::main_latch_w));
- map(0x800000, 0x803fff).ram().share("vectorram");
+ map(0x800000, 0x803fff).ram().share("avg:vectorram");
map(0xffa000, 0xffbfff).ram().share("shared_ram");
map(0xffc000, 0xffcfff).ram();
map(0xffd000, 0xffdfff).rw("m48t02", FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)).umask16(0xff00);
@@ -390,7 +390,7 @@ ROM_START( tomcat )
ROM_LOAD16_BYTE( "rom1k.bin", 0x00001, 0x8000, CRC(5535a1ff) SHA1(b9807c749a8e6b5ddec3ff494130abda09f0baab) )
ROM_LOAD16_BYTE( "rom2k.bin", 0x00000, 0x8000, CRC(021a01d2) SHA1(01d99aab54ad57a664e8aaa91296bb879fc6e422) )
- ROM_REGION( 0x100, "user1", 0 )
+ ROM_REGION( 0x100, "avg:prom", 0 )
ROM_LOAD( "136021-105.1l", 0x0000, 0x0100, CRC(82fc3eb2) SHA1(184231c7baef598294860a7d2b8a23798c5c7da6) ) /* AVG PROM */
ROM_END
diff --git a/src/mame/machine/asteroid.cpp b/src/mame/machine/asteroid.cpp
index 8e24485a096..c22dd37822c 100644
--- a/src/mame/machine/asteroid.cpp
+++ b/src/mame/machine/asteroid.cpp
@@ -131,7 +131,7 @@ void asteroid_state::machine_start()
void asteroid_state::machine_reset()
{
- m_dvg->reset_w(machine().dummy_space(), 0, 0);
+ m_dvg->reset_w();
if (m_earom.found())
earom_control_w(machine().dummy_space(), 0, 0);
diff --git a/src/mame/video/avgdvg.cpp b/src/mame/video/avgdvg.cpp
index ebfa023efc3..48272460fb2 100644
--- a/src/mame/video/avgdvg.cpp
+++ b/src/mame/video/avgdvg.cpp
@@ -45,10 +45,10 @@
void avgdvg_device::apply_flipping(int *x, int *y)
{
- if (flip_x)
- *x += (xcenter - *x) << 1;
- if (flip_y)
- *y += (ycenter - *y) << 1;
+ if (m_flip_x)
+ *x += (m_xcenter - *x) << 1;
+ if (m_flip_y)
+ *y += (m_ycenter - *y) << 1;
}
@@ -63,106 +63,121 @@ void avgdvg_device::vg_flush()
int cx0 = 0, cy0 = 0, cx1 = 0x5000000, cy1 = 0x5000000;
int i = 0;
- while (vectbuf[i].status == VGCLIP)
+ while (m_vectbuf[i].status == VGCLIP)
i++;
- int xs = vectbuf[i].x;
- int ys = vectbuf[i].y;
+ int xs = m_vectbuf[i].x;
+ int ys = m_vectbuf[i].y;
- for (i = 0; i < nvect; i++)
+ for (i = 0; i < m_nvect; i++)
{
- if (vectbuf[i].status == VGVECTOR)
+ if (m_vectbuf[i].status == VGVECTOR)
{
- int xe = vectbuf[i].x;
- int ye = vectbuf[i].y;
+ int xe = m_vectbuf[i].x;
+ int ye = m_vectbuf[i].y;
int x0 = xs, y0 = ys, x1 = xe, y1 = ye;
xs = xe;
ys = ye;
- if((x0 < cx0 && x1 < cx0) || (x0 > cx1 && x1 > cx1))
+ if ((x0 < cx0 && x1 < cx0) || (x0 > cx1 && x1 > cx1))
continue;
- if(x0 < cx0) {
- y0 += int64_t(cx0-x0)*int64_t(y1-y0)/(x1-x0);
+ if (x0 < cx0)
+ {
+ y0 += s64(cx0 - x0) * s64(y1 - y0) / (x1 - x0);
x0 = cx0;
- } else if(x0 > cx1) {
- y0 += int64_t(cx1-x0)*int64_t(y1-y0)/(x1-x0);
+ }
+ else if (x0 > cx1)
+ {
+ y0 += s64(cx1 - x0) * s64(y1 - y0) / (x1 - x0);
x0 = cx1;
}
- if(x1 < cx0) {
- y1 += int64_t(cx0-x1)*int64_t(y1-y0)/(x1-x0);
+ if (x1 < cx0)
+ {
+ y1 += s64(cx0 - x1) * s64(y1 - y0) / (x1 - x0);
x1 = cx0;
- } else if(x1 > cx1) {
- y1 += int64_t(cx1-x1)*int64_t(y1-y0)/(x1-x0);
+ }
+ else if (x1 > cx1)
+ {
+ y1 += s64(cx1 - x1) * s64(y1 - y0) / (x1 - x0);
x1 = cx1;
}
- if((y0 < cy0 && y1 < cy0) || (y0 > cy1 && y1 > cy1))
+ if ((y0 < cy0 && y1 < cy0) || (y0 > cy1 && y1 > cy1))
continue;
- if(y0 < cy0) {
- x0 += int64_t(cy0-y0)*int64_t(x1-x0)/(y1-y0);
+ if (y0 < cy0)
+ {
+ x0 += s64(cy0 - y0) * s64(x1 - x0) / (y1 - y0);
y0 = cy0;
- } else if(y0 > cy1) {
- x0 += int64_t(cy1-y0)*int64_t(x1-x0)/(y1-y0);
+ }
+ else if (y0 > cy1)
+ {
+ x0 += s64(cy1 - y0) * s64(x1 - x0) / (y1 - y0);
y0 = cy1;
}
- if(y1 < cy0) {
- x1 += int64_t(cy0-y1)*int64_t(x1-x0)/(y1-y0);
+ if (y1 < cy0)
+ {
+ x1 += s64(cy0 - y1) * s64(x1 - x0) / (y1 - y0);
y1 = cy0;
- } else if(y1 > cy1) {
- x1 += int64_t(cy1-y1)*int64_t(x1-x0)/(y1-y0);
+ }
+ else if (y1 > cy1)
+ {
+ x1 += s64(cy1 - y1) * s64(x1 - x0) / (y1 - y0);
y1 = cy1;
}
- m_vector->add_point(x0, y0, vectbuf[i].color, 0);
- m_vector->add_point(x1, y1, vectbuf[i].color, vectbuf[i].intensity);
+ m_vector->add_point(x0, y0, m_vectbuf[i].color, 0);
+ m_vector->add_point(x1, y1, m_vectbuf[i].color, m_vectbuf[i].intensity);
}
- if (vectbuf[i].status == VGCLIP) {
- cx0 = vectbuf[i].x;
- cy0 = vectbuf[i].y;
- cx1 = vectbuf[i].arg1;
- cy1 = vectbuf[i].arg2;
- if(cx0 > cx1) {
- int t = cx1;
+ if (m_vectbuf[i].status == VGCLIP)
+ {
+ cx0 = m_vectbuf[i].x;
+ cy0 = m_vectbuf[i].y;
+ cx1 = m_vectbuf[i].arg1;
+ cy1 = m_vectbuf[i].arg2;
+ if (cx0 > cx1)
+ {
+ const int t = cx1;
cx1 = cx0;
cx0 = t;
}
- if(cy0 > cx1) {
- int t = cy1;
+ if (cy0 > cx1)
+ {
+ const int t = cy1;
cy1 = cy0;
cy0 = t;
}
}
}
- nvect=0;
+ m_nvect = 0;
}
void avgdvg_device::vg_add_point_buf(int x, int y, rgb_t color, int intensity)
{
- if (nvect < MAXVECT)
+ if (m_nvect < MAXVECT)
{
- vectbuf[nvect].status = VGVECTOR;
- vectbuf[nvect].x = x;
- vectbuf[nvect].y = y;
- vectbuf[nvect].color = color;
- vectbuf[nvect].intensity = intensity;
- nvect++;
+ m_vectbuf[m_nvect].status = VGVECTOR;
+ m_vectbuf[m_nvect].x = x;
+ m_vectbuf[m_nvect].y = y;
+ m_vectbuf[m_nvect].color = color;
+ m_vectbuf[m_nvect].intensity = intensity;
+ m_nvect++;
}
}
-void avgdvg_device::vg_add_clip (int xmin, int ymin, int xmax, int ymax)
+void avgdvg_device::vg_add_clip(int xmin, int ymin, int xmax, int ymax)
{
- if (nvect < MAXVECT)
+ if (m_nvect < MAXVECT)
{
- vectbuf[nvect].status = VGCLIP;
- vectbuf[nvect].x = xmin;
- vectbuf[nvect].y = ymin;
- vectbuf[nvect].arg1 = xmax;
- vectbuf[nvect].arg2 = ymax;
- nvect++;
+ m_vectbuf[m_nvect].status = VGCLIP;
+ m_vectbuf[m_nvect].x = xmin;
+ m_vectbuf[m_nvect].y = ymin;
+ m_vectbuf[m_nvect].arg1 = xmax;
+ m_vectbuf[m_nvect].arg2 = ymax;
+ m_nvect++;
}
}
@@ -178,14 +193,12 @@ void dvg_device::update_databus() // dvg_data
/*
* DVG uses low bit of state for address
*/
- m_data = avgdvg_vectorram[(m_pc << 1) | (m_state_latch & 1)];
+ m_data = m_vectorram[(m_pc << 1) | (m_state_latch & 1)];
}
-uint8_t dvg_device::state_addr() // dvg_state_addr
+u8 dvg_device::state_addr() // dvg_state_addr
{
- uint8_t addr;
-
- addr =((((m_state_latch >> 4) ^ 1) & 1) << 7) | (m_state_latch & 0xf);
+ u8 addr = ((((m_state_latch >> 4) ^ 1) & 1) << 7) | (m_state_latch & 0xf);
if (OP3)
addr |= ((m_op & 7) << 4);
@@ -223,14 +236,14 @@ void dvg_device::dvg_draw_to(int x, int y, int intensity)
apply_flipping(&x, &y);
if (((x | y) & 0x400) == 0)
- vg_add_point_buf((xmin + x - 512) << 16,
- (ymin + 512 - y) << 16,
+ vg_add_point_buf((m_xmin + x - 512) << 16,
+ (m_ymin + 512 - y) << 16,
vector_device::color111(7), intensity << 4);
}
int dvg_device::handler_2() //dvg_gostrobe
{
- int scale, fin, dx, dy, c, mx, my, countx, county, bit, cycles;
+ int scale;
if (m_op == 0xf)
{
@@ -247,18 +260,18 @@ int dvg_device::handler_2() //dvg_gostrobe
scale = (m_scale + m_op) & 0xf;
}
- fin = 0xfff - (((2 << scale) & 0x7ff) ^ 0xfff);
+ int fin = 0xfff - (((2 << scale) & 0x7ff) ^ 0xfff);
/* Count up or down */
- dx = (m_dvx & 0x400)? -1: +1;
- dy = (m_dvy & 0x400)? -1: +1;
+ const int dx = (m_dvx & 0x400) ? -1 : +1;
+ const int dy = (m_dvy & 0x400) ? -1 : +1;
/* Scale factor for rate multipliers */
- mx = (m_dvx << 2) & 0xfff;
- my = (m_dvy << 2) & 0xfff;
+ const int mx = (m_dvx << 2) & 0xfff;
+ const int my = (m_dvy << 2) & 0xfff;
- cycles = 8 * fin;
- c=0;
+ const int cycles = 8 * fin;
+ int c = 0;
while (fin--)
{
@@ -275,10 +288,10 @@ int dvg_device::handler_2() //dvg_gostrobe
* lines. The DVG has two cascaded 7497s for each coordinate.
*/
- countx = 0;
- county = 0;
+ int countx = 0;
+ int county = 0;
- for (bit = 0; bit < 12; bit++)
+ for (int bit = 0; bit < 12; bit++)
{
if ((c & ((1 << (bit+1)) - 1)) == ((1 << bit) - 1))
{
@@ -424,7 +437,7 @@ void dvg_device::vgrst() // dvg_vgrst
*
*******************************************************************/
-uint8_t avg_device::state_addr() // avg_state_addr
+u8 avg_device::state_addr() // avg_state_addr
{
return (((m_state_latch >> 4) ^ 1) << 7)
| (m_op << 4)
@@ -434,7 +447,7 @@ uint8_t avg_device::state_addr() // avg_state_addr
void avg_device::update_databus() // avg_data
{
- m_data = avgdvg_vectorram[m_pc ^ 1];
+ m_data = m_vectorram[m_pc ^ 1];
}
void avg_device::vggo() // avg_vggo
@@ -462,12 +475,12 @@ int avg_device::handler_0() // avg_latch0
int avg_device::handler_1() // avg_latch1
{
- m_dvy12 = (m_data >> 4) &1;
+ m_dvy12 = (m_data >> 4) & 1;
m_op = m_data >> 5;
m_int_latch = 0;
m_dvy = (m_dvy12 << 12)
- | ((m_data & 0xf) << 8 );
+ | ((m_data & 0xf) << 8);
m_dvx = 0;
m_pc++;
@@ -486,7 +499,7 @@ int avg_device::handler_3() // avg_latch3
{
m_int_latch = m_data >> 4;
m_dvx = ((m_int_latch & 1) << 12)
- | ((m_data & 0xf) << 8 )
+ | ((m_data & 0xf) << 8)
| (m_dvx & 0xff);
m_pc++;
@@ -495,8 +508,6 @@ int avg_device::handler_3() // avg_latch3
int avg_device::handler_4() // avg_strobe0
{
- int i;
-
if (OP0)
{
m_stack[m_sp & 3] = m_pc;
@@ -515,7 +526,7 @@ int avg_device::handler_4() // avg_strobe0
* shifting goes on as long as VCTR, SCALE and CNTR are
* low. We cut off after 16 shifts.
*/
- i = 0;
+ int i = 0;
while ((((m_dvy ^ (m_dvy << 1)) & 0x1000) == 0)
&& (((m_dvx ^ (m_dvx << 1)) & 0x1000) == 0)
&& (i++ < 16))
@@ -548,11 +559,9 @@ int avg_device::avg_common_strobe1()
int avg_device::handler_5() // avg_strobe1
{
- int i;
-
if (OP2 == 0)
{
- for (i = m_bin_scale; i > 0; i--)
+ for (int i = m_bin_scale; i > 0; i--)
{
m_timer >>= 1;
m_timer |= 0x4000 | (OP1 << 6);
@@ -622,12 +631,12 @@ int avg_device::handler_6() // avg_strobe2
m_intensity = (m_dvy >> 4) & 0xf;
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_device::avg_common_strobe3()
{
- int cycles=0;
+ int cycles = 0;
m_halt = OP0;
@@ -650,8 +659,8 @@ int avg_device::avg_common_strobe3()
{
cycles = 0x8000 - m_timer;
m_timer = 0;
- m_xpos = xcenter;
- m_ypos = ycenter;
+ m_xpos = m_xcenter;
+ m_ypos = m_ycenter;
vg_add_point_buf(m_xpos, m_ypos, 0, 0);
}
@@ -660,9 +669,7 @@ int avg_device::avg_common_strobe3()
int avg_device::handler_7() // avg_strobe3
{
- int cycles;
-
- cycles = avg_common_strobe3();
+ const int cycles = avg_common_strobe3();
if ((m_op & 5) == 0)
{
@@ -691,35 +698,32 @@ int avg_tempest_device::handler_6() // tempest_strobe2
m_intensity = (m_dvy >> 4) & 0xf;
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_tempest_device::handler_7() // tempest_strobe3
{
- int cycles, r, g, b, bit0, bit1, bit2, bit3, x, y;
- uint8_t data;
-
- cycles = avg_common_strobe3();
+ const int cycles = avg_common_strobe3();
if ((m_op & 5) == 0)
{
- data = avgdvg_colorram[m_color];
- bit3 = (~data >> 3) & 1;
- bit2 = (~data >> 2) & 1;
- bit1 = (~data >> 1) & 1;
- bit0 = (~data >> 0) & 1;
+ const u8 data = m_colorram[m_color];
+ const u8 bit3 = (~data >> 3) & 1;
+ const u8 bit2 = (~data >> 2) & 1;
+ const u8 bit1 = (~data >> 1) & 1;
+ const u8 bit0 = (~data >> 0) & 1;
- r = bit1 * 0xf3 + bit0 * 0x0c;
- g = bit3 * 0xf3;
- b = bit2 * 0xf3;
+ const u8 r = bit1 * 0xf3 + bit0 * 0x0c;
+ const u8 g = bit3 * 0xf3;
+ const u8 b = bit2 * 0xf3;
- x = m_xpos;
- y = m_ypos;
+ int x = m_xpos;
+ int y = m_ypos;
apply_flipping(&x, &y);
- vg_add_point_buf(y - ycenter + xcenter,
- x - xcenter + ycenter, rgb_t(r, g, b),
+ vg_add_point_buf(y - m_ycenter + m_xcenter,
+ x - m_xcenter + m_ycenter, rgb_t(r, g, b),
(((m_int_latch >> 1) == 1)? m_intensity: m_int_latch & 0xe) << 4);
}
@@ -737,15 +741,15 @@ void avg_tempest_device::vggo() // tempest_vggo
* avg_common_strobe2). If we don't discard all vectors in the
* current buffer at this point, the screen starts flickering.
*/
- nvect = 0;
+ m_nvect = 0;
}
#endif
- /*************************************
- *
- * Mhavoc handler functions
- *
- *************************************/
+/*************************************
+*
+* Mhavoc handler functions
+*
+*************************************/
int avg_mhavoc_device::handler_1() // mhavoc_latch1
{
@@ -755,7 +759,7 @@ int avg_mhavoc_device::handler_1() // mhavoc_latch1
if (m_lst == 0)
{
- vg_add_clip(0, m_ypos, xmax << 16, ymax << 16);
+ vg_add_clip(0, m_ypos, m_xmax << 16, m_ymax << 16);
}
m_lst = 1;
@@ -799,17 +803,13 @@ int avg_mhavoc_device::handler_6() // mhavoc_strobe2
}
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_mhavoc_device::handler_7() // mhavoc_strobe3
{
- int cycles, r, g, b, bit0, bit1, bit2, bit3, dx, dy, i;
-
- uint8_t data;
-
m_halt = OP0;
- cycles = 0;
+ int cycles = 0;
if ((m_op & 5) == 0)
{
@@ -822,34 +822,33 @@ int avg_mhavoc_device::handler_7() // mhavoc_strobe3
cycles = 0x8000 - m_timer;
}
m_timer = 0;
- dx = ((((m_dvx >> 3) ^ m_xdac_xor) - 0x200) * (m_scale ^ 0xff));
- dy = ((((m_dvy >> 3) ^ m_ydac_xor) - 0x200) * (m_scale ^ 0xff));
-
+ const int dx = ((((m_dvx >> 3) ^ m_xdac_xor) - 0x200) * (m_scale ^ 0xff));
+ const int dy = ((((m_dvy >> 3) ^ m_ydac_xor) - 0x200) * (m_scale ^ 0xff));
if (m_enspkl)
{
- for (i=0; i<cycles/8; i++)
+ for (int i = 0; i < cycles / 8; i++)
{
- m_xpos += dx/2;
- m_ypos -= dy/2;
- data = avgdvg_colorram[0xf +
+ m_xpos += dx / 2;
+ m_ypos -= dy / 2;
+ const u8 data = m_colorram[0xf +
(((m_spkl_shift & 1) << 3)
| (m_spkl_shift & 4)
| ((m_spkl_shift & 0x10) >> 3)
| ((m_spkl_shift & 0x40) >> 6))];
- bit3 = (~data >> 3) & 1;
- bit2 = (~data >> 2) & 1;
- bit1 = (~data >> 1) & 1;
- bit0 = (~data >> 0) & 1;
- r = bit3 * 0xcb + bit2 * 0x34;
- g = bit1 * 0xcb;
- b = bit0 * 0xcb;
+ const u8 bit3 = (~data >> 3) & 1;
+ const u8 bit2 = (~data >> 2) & 1;
+ const u8 bit1 = (~data >> 1) & 1;
+ const u8 bit0 = (~data >> 0) & 1;
+ const u8 r = bit3 * 0xcb + bit2 * 0x34;
+ const u8 g = bit1 * 0xcb;
+ const u8 b = bit0 * 0xcb;
vg_add_point_buf(m_xpos, m_ypos, rgb_t(r, g, b),
(((m_int_latch >> 1) == 1)? m_intensity: m_int_latch & 0xe) << 4);
m_spkl_shift = (((m_spkl_shift & 0x40) >> 6)
^ ((m_spkl_shift & 0x20) >> 5)
- ^ 1 )
+ ^ 1)
| (m_spkl_shift << 1);
if ((m_spkl_shift & 0x7f) == 0x7f)
@@ -860,15 +859,15 @@ int avg_mhavoc_device::handler_7() // mhavoc_strobe3
{
m_xpos += (dx * cycles) >> 4;
m_ypos -= (dy * cycles) >> 4;
- data = avgdvg_colorram[m_color];
+ const u8 data = m_colorram[m_color];
- bit3 = (~data >> 3) & 1;
- bit2 = (~data >> 2) & 1;
- bit1 = (~data >> 1) & 1;
- bit0 = (~data >> 0) & 1;
- r = bit3 * 0xcb + bit2 * 0x34;
- g = bit1 * 0xcb;
- b = bit0 * 0xcb;
+ const u8 bit3 = (~data >> 3) & 1;
+ const u8 bit2 = (~data >> 2) & 1;
+ const u8 bit1 = (~data >> 1) & 1;
+ const u8 bit0 = (~data >> 0) & 1;
+ const u8 r = bit3 * 0xcb + bit2 * 0x34;
+ const u8 g = bit1 * 0xcb;
+ const u8 b = bit0 * 0xcb;
vg_add_point_buf(m_xpos, m_ypos, rgb_t(r, g, b),
(((m_int_latch >> 1) == 1)? m_intensity: m_int_latch & 0xe) << 4);
@@ -878,8 +877,8 @@ int avg_mhavoc_device::handler_7() // mhavoc_strobe3
{
cycles = 0x8000 - m_timer;
m_timer = 0;
- m_xpos = xcenter;
- m_ypos = ycenter;
+ m_xpos = m_xcenter;
+ m_ypos = m_ycenter;
vg_add_point_buf(m_xpos, m_ypos, 0, 0);
}
@@ -888,16 +887,13 @@ int avg_mhavoc_device::handler_7() // mhavoc_strobe3
void avg_mhavoc_device::update_databus() // mhavoc_data
{
- uint8_t *bank;
-
if (m_pc & 0x2000)
{
- bank = &machine().root_device().memregion("avgdvg")->base()[0];
- m_data = bank[(m_map << 13) | ((m_pc ^ 1) & 0x1fff)];
+ m_data = m_bank_region[(m_map << 13) | ((m_pc ^ 1) & 0x1fff)];
}
else
{
- m_data = avgdvg_vectorram[m_pc ^ 1];
+ m_data = m_vectorram[m_pc ^ 1];
}
}
@@ -916,7 +912,7 @@ void avg_mhavoc_device::vgrst() // mhavoc_vgrst
void avg_starwars_device::update_databus() // starwars_data
{
- m_data = avgdvg_vectorram[m_pc];
+ m_data = m_vectorram[m_pc];
}
@@ -928,14 +924,12 @@ int avg_starwars_device::handler_6() // starwars_strobe2
m_color = (m_dvy >> 8) & 0xf;
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_starwars_device::handler_7() // starwars_strobe3
{
- int cycles;
-
- cycles = avg_common_strobe3();
+ const int cycles = avg_common_strobe3();
if ((m_op & 5) == 0)
{
@@ -946,14 +940,15 @@ int avg_starwars_device::handler_7() // starwars_strobe3
return cycles;
}
- /*************************************
- *
- * Quantum handler functions
- *
- *************************************/
+/*************************************
+*
+* Quantum handler functions
+*
+*************************************/
+
void avg_quantum_device::update_databus() // quantum_data
{
- m_data = ((uint16_t *)avgdvg_vectorram)[m_pc >> 1];
+ m_data = ((u16 *)m_vectorram.target())[m_pc >> 1];
}
void avg_quantum_device::vggo() // tempest_vggo
@@ -966,7 +961,7 @@ void avg_quantum_device::vggo() // tempest_vggo
* avg_common_strobe2). If we don't discard all vectors in the
* current buffer at this point, the screen starts flickering.
*/
- nvect = 0;
+ m_nvect = 0;
}
int avg_quantum_device::handler_0() // quantum_st2st3
@@ -1012,8 +1007,6 @@ int avg_quantum_device::handler_3() // quantum_latch3
int avg_quantum_device::handler_4() // quantum_strobe0
{
- int i;
-
if (OP0)
{
m_stack[m_sp & 3] = m_pc;
@@ -1023,7 +1016,7 @@ int avg_quantum_device::handler_4() // quantum_strobe0
/*
* Quantum normalizes to 12 bit
*/
- i = 0;
+ int i = 0;
while ((((m_dvy ^ (m_dvy << 1)) & 0x800) == 0)
&& (((m_dvx ^ (m_dvx << 1)) & 0x800) == 0)
&& (i++ < 16))
@@ -1040,11 +1033,9 @@ int avg_quantum_device::handler_4() // quantum_strobe0
int avg_quantum_device::handler_5() // quantum_strobe1
{
- int i;
-
if (OP2 == 0)
{
- for (i = m_bin_scale; i > 0; i--)
+ for (int i = m_bin_scale; i > 0; i--)
{
m_timer >>= 1;
m_timer |= 0x2000;
@@ -1062,28 +1053,26 @@ int avg_quantum_device::handler_6() // quantum_strobe2
m_intensity = (m_dvy >> 4) & 0xf;
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_quantum_device::handler_7() // quantum_strobe3
{
- int cycles=0, r, g, b, bit0, bit1, bit2, bit3, x, y;
-
- uint16_t data;
+ int cycles = 0;
m_halt = OP0;
if ((m_op & 5) == 0)
{
- data = ((uint16_t *)avgdvg_colorram)[m_color];
- bit3 = (~data >> 3) & 1;
- bit2 = (~data >> 2) & 1;
- bit1 = (~data >> 1) & 1;
- bit0 = (~data >> 0) & 1;
+ const u16 data = ((u16 *)m_colorram.target())[m_color];
+ const u8 bit3 = (~data >> 3) & 1;
+ const u8 bit2 = (~data >> 2) & 1;
+ const u8 bit1 = (~data >> 1) & 1;
+ const u8 bit0 = (~data >> 0) & 1;
- g = bit1 * 0xaa + bit0 * 0x54;
- b = bit2 * 0xce;
- r = bit3 * 0xce;
+ const u8 g = bit1 * 0xaa + bit0 * 0x54;
+ const u8 b = bit2 * 0xce;
+ const u8 r = bit3 * 0xce;
cycles = 0x4000 - m_timer;
m_timer = 0;
@@ -1091,32 +1080,32 @@ int avg_quantum_device::handler_7() // quantum_strobe3
m_xpos += (((((m_dvx & 0xfff) >> 2) ^ m_xdac_xor) - 0x200) * cycles * (m_scale ^ 0xff)) >> 4;
m_ypos -= (((((m_dvy & 0xfff) >> 2) ^ m_ydac_xor) - 0x200) * cycles * (m_scale ^ 0xff)) >> 4;
- x = m_xpos;
- y = m_ypos;
+ int x = m_xpos;
+ int y = m_ypos;
apply_flipping(&x, &y);
- vg_add_point_buf(y - ycenter + xcenter,
- x - xcenter + ycenter, rgb_t(r, g, b),
+ vg_add_point_buf(y - m_ycenter + m_xcenter,
+ x - m_xcenter + m_ycenter, rgb_t(r, g, b),
((m_int_latch == 2)? m_intensity: m_int_latch) << 4);
}
if (OP2)
{
cycles = 0x4000 - m_timer;
m_timer = 0;
- m_xpos = xcenter;
- m_ypos = ycenter;
+ m_xpos = m_xcenter;
+ m_ypos = m_ycenter;
vg_add_point_buf(m_xpos, m_ypos, 0, 0);
}
return cycles;
}
- /*************************************
- *
- * Bzone handler functions
- *
- *************************************/
+/*************************************
+*
+* Bzone handler functions
+*
+*************************************/
int avg_bzone_device::handler_1() // bzone_latch1
{
/*
@@ -1137,7 +1126,7 @@ int avg_bzone_device::handler_1() // bzone_latch1
m_clipy_max = m_ypos;
}
- if (m_lst==0 || m_hst==0)
+ if (m_lst == 0 || m_hst == 0)
{
vg_add_clip(m_clipx_min, m_clipy_min, m_clipx_max, m_clipy_max);
}
@@ -1173,9 +1162,7 @@ int avg_bzone_device::handler_6() // bzone_strobe2
int avg_bzone_device::handler_7() // bzone_strobe3
{
/* Battle Zone is B/W */
- int cycles;
-
- cycles = avg_common_strobe3();
+ const int cycles = avg_common_strobe3();
if ((m_op & 5) == 0)
{
@@ -1200,14 +1187,12 @@ int avg_tomcat_device::handler_6() // starwars_strobe2
m_color = (m_dvy >> 8) & 0xf;
}
- return avg_common_strobe2();
+ return avg_common_strobe2();
}
int avg_tomcat_device::handler_7() // starwars_strobe3
{
- int cycles;
-
- cycles = avg_common_strobe3();
+ const int cycles = avg_common_strobe3();
if ((m_op & 5) == 0)
{
@@ -1231,7 +1216,7 @@ void avgdvg_device::vg_set_halt(int dummy)
m_sync_halt = dummy;
}
-TIMER_CALLBACK_MEMBER( avgdvg_device::vg_set_halt_callback )
+TIMER_CALLBACK_MEMBER(avgdvg_device::vg_set_halt_callback)
{
vg_set_halt(param);
}
@@ -1250,16 +1235,15 @@ TIMER_CALLBACK_MEMBER( avgdvg_device::vg_set_halt_callback )
*
*******************************************************************/
-TIMER_CALLBACK_MEMBER( avgdvg_device::run_state_machine )
+TIMER_CALLBACK_MEMBER(avgdvg_device::run_state_machine)
{
int cycles = 0;
- uint8_t *state_prom = machine().root_device().memregion("user1")->base();
while (cycles < VGSLICE)
{
/* Get next state */
m_state_latch = (m_state_latch & 0x10)
- | (state_prom[state_addr()] & 0xf);
+ | (m_prom[state_addr()] & 0xf);
if (ST3)
{
@@ -1281,13 +1265,13 @@ TIMER_CALLBACK_MEMBER( avgdvg_device::run_state_machine )
/* If halt flag was set, let CPU catch up before we make halt visible */
if (m_halt && !(m_state_latch & 0x10))
- vg_halt_timer->adjust(attotime::from_hz(MASTER_CLOCK) * cycles, 1);
+ m_vg_halt_timer->adjust(attotime::from_hz(MASTER_CLOCK) * cycles, 1);
m_state_latch = (m_halt << 4) | (m_state_latch & 0xf);
cycles += 8;
}
- vg_run_timer->adjust(attotime::from_hz(MASTER_CLOCK) * cycles);
+ m_vg_run_timer->adjust(attotime::from_hz(MASTER_CLOCK) * cycles);
}
@@ -1297,16 +1281,16 @@ TIMER_CALLBACK_MEMBER( avgdvg_device::run_state_machine )
*
************************************/
-CUSTOM_INPUT_MEMBER( avgdvg_device::done_r )
+CUSTOM_INPUT_MEMBER(avgdvg_device::done_r)
{
return m_sync_halt ? 0x01 : 0x00;
}
-WRITE8_MEMBER( avgdvg_device::go_w )
+void avgdvg_device::go_w(u8 data)
{
vggo();
- if (m_sync_halt && (nvect > 10))
+ if (m_sync_halt && (m_nvect > 10))
{
/*
* This is a good time to start a new frame. Major Havoc
@@ -1318,12 +1302,12 @@ WRITE8_MEMBER( avgdvg_device::go_w )
vg_flush();
vg_set_halt(0);
- vg_run_timer->adjust(attotime::zero);
+ m_vg_run_timer->adjust(attotime::zero);
}
-WRITE16_MEMBER( avgdvg_device::go_word_w )
+void avgdvg_device::go_word_w(u16 data)
{
- go_w(space, offset, data);
+ go_w(data);
}
@@ -1333,15 +1317,15 @@ WRITE16_MEMBER( avgdvg_device::go_word_w )
*
************************************/
-WRITE8_MEMBER( avgdvg_device::reset_w )
+void avgdvg_device::reset_w(u8 data)
{
vgrst();
vg_set_halt(1);
}
-WRITE16_MEMBER( avgdvg_device::reset_word_w )
+void avgdvg_device::reset_word_w(u16 data)
{
- reset_w (space,0,0);
+ reset_w(data);
}
/*************************************
@@ -1384,39 +1368,29 @@ void avgdvg_device::register_state()
save_item(NAME(m_clipx_max));
save_item(NAME(m_clipy_max));
- save_item(NAME(flip_x));
- save_item(NAME(flip_y));
- save_pointer(NAME(avgdvg_vectorram), avgdvg_vectorram_size);
+ save_item(NAME(m_flip_x));
+ save_item(NAME(m_flip_y));
}
void avg_device::device_start()
{
- if(!m_vector->started())
+ if (!m_vector->started())
throw device_missing_dependencies();
const rectangle &visarea = m_vector->screen().visible_area();
- avgdvg_vectorram = reinterpret_cast<uint8_t *>(machine().root_device().memshare("vectorram")->ptr());
- avgdvg_vectorram_size = machine().root_device().memshare("vectorram")->bytes();
+ m_xmin = visarea.min_x;
+ m_ymin = visarea.min_y;
+ m_xmax = visarea.max_x;
+ m_ymax = visarea.max_y;
- memory_share *colorram = machine().root_device().memshare("colorram");
- if (colorram != nullptr)
- {
- avgdvg_colorram = reinterpret_cast<uint8_t *>(colorram->ptr());
- }
+ m_xcenter = ((m_xmax - m_xmin) / 2) << 16;
+ m_ycenter = ((m_ymax - m_ymin) / 2) << 16;
- xmin = visarea.min_x;
- ymin = visarea.min_y;
- xmax = visarea.max_x;
- ymax = visarea.max_y;
+ m_flip_x = m_flip_y = false;
- xcenter = ((xmax - xmin) / 2) << 16;
- ycenter = ((ymax - ymin) / 2) << 16;
-
- flip_x = flip_y = 0;
-
- vg_halt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::vg_set_halt_callback),this));
- vg_run_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::run_state_machine),this));
+ m_vg_halt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::vg_set_halt_callback),this));
+ m_vg_run_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::run_state_machine),this));
/*
* The x and y DACs use 10 bit of the counter values which are in
@@ -1431,36 +1405,30 @@ void avg_device::device_start()
void dvg_device::device_start()
{
- if(!m_vector->started())
+ if (!m_vector->started())
throw device_missing_dependencies();
const rectangle &visarea = m_vector->screen().visible_area();
- avgdvg_vectorram = reinterpret_cast<uint8_t *>(machine().root_device().memshare("vectorram")->ptr());
- avgdvg_vectorram_size = machine().root_device().memshare("vectorram")->bytes();
-
- memory_share *colorram = machine().root_device().memshare("colorram");
- if (colorram != nullptr)
- {
- avgdvg_colorram = reinterpret_cast<uint8_t *>(colorram->ptr());
- }
-
- xmin = visarea.min_x;
- ymin = visarea.min_y;
+ m_xmin = visarea.min_x;
+ m_ymin = visarea.min_y;
- xcenter = 512;
- ycenter = 512;
+ m_xcenter = 512;
+ m_ycenter = 512;
- flip_x = flip_y = 0;
+ m_flip_x = m_flip_y = false;
- vg_halt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::vg_set_halt_callback),this));
- vg_run_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::run_state_machine),this));
+ m_vg_halt_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::vg_set_halt_callback),this));
+ m_vg_run_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(avgdvg_device::run_state_machine),this));
register_state();
}
avgdvg_device::avgdvg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock)
+ , m_vectorram(*this, "vectorram", 0)
+ , m_colorram(*this, "colorram", 0)
+ , m_prom(*this, "prom")
, m_vector(*this, finder_base::DUMMY_TAG)
{
m_pc = 0;
@@ -1504,15 +1472,15 @@ avgdvg_device::avgdvg_device(const machine_config &mconfig, device_type type, co
m_clipx_max = 0;
m_clipy_max = 0;
- xmin = 0;
- xmax = 0;
- ymin = 0;
- ymax = 0;
- xcenter = 0;
- ycenter = 0;
- flip_x = 0;
- flip_y = 0;
- nvect = 0;
+ m_xmin = 0;
+ m_xmax = 0;
+ m_ymin = 0;
+ m_ymax = 0;
+ m_xcenter = 0;
+ m_ycenter = 0;
+ m_flip_x = false;
+ m_flip_y = false;
+ m_nvect = 0;
}
dvg_device::dvg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
@@ -1536,7 +1504,8 @@ avg_tempest_device::avg_tempest_device(const machine_config &mconfig, const char
{
}
avg_mhavoc_device::avg_mhavoc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- avg_device(mconfig, AVG_MHAVOC, tag, owner, clock)
+ avg_device(mconfig, AVG_MHAVOC, tag, owner, clock),
+ m_bank_region(*this, DEVICE_SELF)
{
}
diff --git a/src/mame/video/avgdvg.h b/src/mame/video/avgdvg.h
index 25e11a2dec9..85270edd618 100644
--- a/src/mame/video/avgdvg.h
+++ b/src/mame/video/avgdvg.h
@@ -17,15 +17,15 @@ public:
template <typename T> void set_vector_tag(T &&tag) { m_vector.set_tag(std::forward<T>(tag)); }
DECLARE_CUSTOM_INPUT_MEMBER(done_r);
- DECLARE_WRITE8_MEMBER(go_w);
- DECLARE_WRITE8_MEMBER(reset_w);
+ void go_w(u8 data = 0);
+ void reset_w(u8 data = 0);
- DECLARE_WRITE16_MEMBER(go_word_w);
- DECLARE_WRITE16_MEMBER(reset_word_w);
+ void go_word_w(u16 data = 0);
+ void reset_word_w(u16 data = 0);
/* Tempest and Quantum use this capability */
- void set_flip_x(int flip) { flip_x = flip; }
- void set_flip_y(int flip) { flip_y = flip; }
+ void set_flip_x(bool flip) { m_flip_x = flip; }
+ void set_flip_y(bool flip) { m_flip_y = flip; }
TIMER_CALLBACK_MEMBER(vg_set_halt_callback);
TIMER_CALLBACK_MEMBER(run_state_machine);
@@ -49,64 +49,60 @@ protected:
void vg_flush();
void vg_add_point_buf(int x, int y, rgb_t color, int intensity);
- void vg_add_clip (int xmin, int ymin, int xmax, int ymax);
+ void vg_add_clip(int xmin, int ymin, int xmax, int ymax);
void register_state();
- uint8_t *avgdvg_vectorram;
- size_t avgdvg_vectorram_size;
-
- uint8_t *avgdvg_colorram;
-
-
- int xmin, xmax, ymin, ymax;
- int xcenter, ycenter;
- emu_timer *vg_run_timer, *vg_halt_timer;
-
- int flip_x, flip_y;
-
- int nvect;
- vgvector vectbuf[MAXVECT];
-
-
- uint16_t m_pc;
- uint8_t m_sp;
- uint16_t m_dvx;
- uint16_t m_dvy;
- uint8_t m_dvy12;
- uint16_t m_timer;
- uint16_t m_stack[4];
- uint16_t m_data;
-
- uint8_t m_state_latch;
- uint8_t m_int_latch;
- uint8_t m_scale;
- uint8_t m_bin_scale;
- uint8_t m_intensity;
- uint8_t m_color;
- uint8_t m_enspkl;
- uint8_t m_spkl_shift;
- uint8_t m_map;
-
- uint16_t m_hst;
- uint16_t m_lst;
- uint16_t m_izblank;
-
- uint8_t m_op;
- uint8_t m_halt;
- uint8_t m_sync_halt;
-
- uint16_t m_xdac_xor;
- uint16_t m_ydac_xor;
-
- int32_t m_xpos;
- int32_t m_ypos;
-
- int32_t m_clipx_min;
- int32_t m_clipy_min;
- int32_t m_clipx_max;
- int32_t m_clipy_max;
-
+ required_shared_ptr<u8> m_vectorram;
+ optional_shared_ptr<u8> m_colorram;
+ required_region_ptr<u8> m_prom;
+
+ int m_xmin, m_xmax, m_ymin, m_ymax;
+ int m_xcenter, m_ycenter;
+ emu_timer *m_vg_run_timer, *m_vg_halt_timer;
+
+ bool m_flip_x, m_flip_y;
+
+ int m_nvect;
+ vgvector m_vectbuf[MAXVECT];
+
+ u16 m_pc;
+ u8 m_sp;
+ u16 m_dvx;
+ u16 m_dvy;
+ u8 m_dvy12;
+ u16 m_timer;
+ u16 m_stack[4];
+ u16 m_data;
+
+ u8 m_state_latch;
+ u8 m_int_latch;
+ u8 m_scale;
+ u8 m_bin_scale;
+ u8 m_intensity;
+ u8 m_color;
+ u8 m_enspkl;
+ u8 m_spkl_shift;
+ u8 m_map;
+
+ u16 m_hst;
+ u16 m_lst;
+ u16 m_izblank;
+
+ u8 m_op;
+ u8 m_halt;
+ u8 m_sync_halt;
+
+ u16 m_xdac_xor;
+ u16 m_ydac_xor;
+
+ s32 m_xpos;
+ s32 m_ypos;
+
+ s32 m_clipx_min;
+ s32 m_clipy_min;
+ s32 m_clipx_max;
+ s32 m_clipy_max;
virtual int handler_0() = 0;
virtual int handler_1() = 0;
@@ -116,7 +112,7 @@ protected:
virtual int handler_5() = 0;
virtual int handler_6() = 0;
virtual int handler_7() = 0;
- virtual uint8_t state_addr() = 0;
+ virtual u8 state_addr() = 0;
virtual void update_databus() = 0;
virtual void vggo() = 0;
virtual void vgrst() = 0;
@@ -141,7 +137,7 @@ protected:
virtual int handler_5() override;
virtual int handler_6() override;
virtual int handler_7() override;
- virtual uint8_t state_addr() override;
+ virtual u8 state_addr() override;
virtual void update_databus() override;
virtual void vggo() override;
virtual void vgrst() override;
@@ -173,7 +169,7 @@ protected:
virtual int handler_5() override;
virtual int handler_6() override;
virtual int handler_7() override;
- virtual uint8_t state_addr() override;
+ virtual u8 state_addr() override;
virtual void update_databus() override;
virtual void vggo() override;
virtual void vgrst() override;
@@ -211,6 +207,9 @@ protected:
virtual int handler_7() override;
virtual void update_databus() override;
virtual void vgrst() override;
+
+private:
+ required_region_ptr<u8> m_bank_region;
};
// device type definition