summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Phil Bennett <philipjbennett@users.noreply.github.com>2009-12-21 23:26:32 +0000
committer Phil Bennett <philipjbennett@users.noreply.github.com>2009-12-21 23:26:32 +0000
commit2434ce3faba76ee63a8a074883bf72978982d5ee (patch)
treed00bcb6a46ca0f0fe5e74e7fb1ba5d54394bb5d3
parent2fd263c18b4697eb7b1ff14364445ae604964496 (diff)
Eliminated the use of generic.colorram and generic.videoram in several drivers [Atari Ace]
---------- Forwarded message ---------- From: Atari Ace <atari_ace@verizon.net> Date: Mon, Dec 14, 2009 at 5:43 AM Subject: [patch] Eliminate generic.colorram To: submit@mamedev.org Cc: atariace@hotmail.com Hi mamedev, generic.colorram and generic.videoram are unused by the MAME core, and are simply slots convenient for driver use. As such, the drivers are better off using their own driver_data slots for these. To discourage further use of colorram, this patch eliminates all current uses of it, and the uses of videoram as well in the affected drivers. This is partially a retrograde step, since ideally we'd like to introduce the driver_data structs as well for these drivers, but eliminating colorram and disentangling the various uses of generic makes it on the balance an improvement IMHO. ~aa
-rw-r--r--src/emu/mame.h2
-rw-r--r--src/mame/drivers/4roses.c7
-rw-r--r--src/mame/drivers/acefruit.c15
-rw-r--r--src/mame/drivers/amaticmg.c4
-rw-r--r--src/mame/drivers/bagman.c8
-rw-r--r--src/mame/drivers/bishjan.c11
-rw-r--r--src/mame/drivers/bmcbowl.c11
-rw-r--r--src/mame/drivers/calomega.c14
-rw-r--r--src/mame/drivers/cardline.c14
-rw-r--r--src/mame/drivers/cowrace.c14
-rw-r--r--src/mame/drivers/funworld.c23
-rw-r--r--src/mame/drivers/goldnpkr.c22
-rw-r--r--src/mame/drivers/goldstar.c38
-rw-r--r--src/mame/drivers/hitpoker.c29
-rw-r--r--src/mame/drivers/hvyunit.c14
-rw-r--r--src/mame/drivers/jokrwild.c14
-rw-r--r--src/mame/drivers/jrpacman.c2
-rw-r--r--src/mame/drivers/koftball.c13
-rw-r--r--src/mame/drivers/liberate.c29
-rw-r--r--src/mame/drivers/lvcards.c14
-rw-r--r--src/mame/drivers/magicfly.c26
-rw-r--r--src/mame/drivers/matmania.c8
-rw-r--r--src/mame/drivers/megazone.c7
-rw-r--r--src/mame/drivers/mermaid.c6
-rw-r--r--src/mame/drivers/mikie.c7
-rw-r--r--src/mame/drivers/miniboy7.c12
-rw-r--r--src/mame/drivers/mirax.c14
-rw-r--r--src/mame/drivers/mouser.c7
-rw-r--r--src/mame/drivers/mrjong.c7
-rw-r--r--src/mame/drivers/olibochu.c14
-rw-r--r--src/mame/drivers/pacman.c48
-rw-r--r--src/mame/drivers/pbaction.c5
-rw-r--r--src/mame/drivers/pengo.c6
-rw-r--r--src/mame/drivers/pingpong.c11
-rw-r--r--src/mame/drivers/popeye.c14
-rw-r--r--src/mame/drivers/rmhaihai.c18
-rw-r--r--src/mame/drivers/rollrace.c6
-rw-r--r--src/mame/drivers/scotrsht.c6
-rw-r--r--src/mame/drivers/seicross.c6
-rw-r--r--src/mame/drivers/shaolins.c6
-rw-r--r--src/mame/drivers/sidearms.c14
-rw-r--r--src/mame/drivers/sidepckt.c7
-rw-r--r--src/mame/drivers/slapfght.c28
-rw-r--r--src/mame/drivers/sliver.c11
-rw-r--r--src/mame/drivers/snk6502.c20
-rw-r--r--src/mame/drivers/snookr10.c11
-rw-r--r--src/mame/drivers/solomon.c6
-rw-r--r--src/mame/drivers/spcforce.c6
-rw-r--r--src/mame/drivers/speedatk.c6
-rw-r--r--src/mame/drivers/spool99.c14
-rw-r--r--src/mame/drivers/ssozumo.c6
-rw-r--r--src/mame/drivers/subsino.c24
-rw-r--r--src/mame/drivers/tagteam.c7
-rw-r--r--src/mame/drivers/tankbust.c6
-rw-r--r--src/mame/drivers/tattack.c10
-rw-r--r--src/mame/drivers/tehkanwc.c6
-rw-r--r--src/mame/drivers/trucocl.c7
-rw-r--r--src/mame/drivers/tsamurai.c19
-rw-r--r--src/mame/drivers/vroulet.c14
-rw-r--r--src/mame/drivers/wiping.c4
-rw-r--r--src/mame/drivers/wiz.c2
-rw-r--r--src/mame/includes/bagman.h2
-rw-r--r--src/mame/includes/matmania.h2
-rw-r--r--src/mame/includes/pacman.h3
-rw-r--r--src/mame/includes/slapfght.h3
-rw-r--r--src/mame/includes/snk6502.h2
-rw-r--r--src/mame/includes/wiping.h3
-rw-r--r--src/mame/video/bagman.c12
-rw-r--r--src/mame/video/calomega.c10
-rw-r--r--src/mame/video/funworld.c10
-rw-r--r--src/mame/video/goldstar.c14
-rw-r--r--src/mame/video/liberate.c12
-rw-r--r--src/mame/video/lvcards.c10
-rw-r--r--src/mame/video/matmania.c14
-rw-r--r--src/mame/video/megazone.c13
-rw-r--r--src/mame/video/mermaid.c10
-rw-r--r--src/mame/video/mikie.c12
-rw-r--r--src/mame/video/mouser.c9
-rw-r--r--src/mame/video/mrjong.c24
-rw-r--r--src/mame/video/pacman.c24
-rw-r--r--src/mame/video/pbaction.c9
-rw-r--r--src/mame/video/pingpong.c10
-rw-r--r--src/mame/video/popeye.c10
-rw-r--r--src/mame/video/rollrace.c12
-rw-r--r--src/mame/video/scotrsht.c10
-rw-r--r--src/mame/video/seicross.c14
-rw-r--r--src/mame/video/shaolins.c10
-rw-r--r--src/mame/video/sidearms.c10
-rw-r--r--src/mame/video/sidepckt.c10
-rw-r--r--src/mame/video/slapfght.c25
-rw-r--r--src/mame/video/snk6502.c18
-rw-r--r--src/mame/video/snookr10.c14
-rw-r--r--src/mame/video/solomon.c10
-rw-r--r--src/mame/video/spcforce.c8
-rw-r--r--src/mame/video/speedatk.c12
-rw-r--r--src/mame/video/ssozumo.c10
-rw-r--r--src/mame/video/tagteam.c28
-rw-r--r--src/mame/video/tankbust.c17
-rw-r--r--src/mame/video/tehkanwc.c10
-rw-r--r--src/mame/video/trucocl.c14
-rw-r--r--src/mame/video/tsamurai.c22
-rw-r--r--src/mame/video/wiping.c18
102 files changed, 721 insertions, 529 deletions
diff --git a/src/emu/mame.h b/src/emu/mame.h
index 5b65ed87168..22537879529 100644
--- a/src/emu/mame.h
+++ b/src/emu/mame.h
@@ -165,8 +165,6 @@ struct _generic_pointers
UINT32 nvram_size;
generic_ptr videoram; /* videoram */
UINT32 videoram_size;
- generic_ptr colorram; /* color ram */
- UINT32 colorram_size;
generic_ptr spriteram; /* spriteram */
UINT32 spriteram_size;
generic_ptr spriteram2; /* secondary spriteram */
diff --git a/src/mame/drivers/4roses.c b/src/mame/drivers/4roses.c
index 6d8ffcb21f9..32455217a52 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -178,6 +178,9 @@
#include "sound/ay8910.h"
/* from video */
+extern UINT8 *funworld_videoram;
+extern UINT8 *funworld_colorram;
+
WRITE8_HANDLER( funworld_videoram_w );
WRITE8_HANDLER( funworld_colorram_w );
PALETTE_INIT( funworld );
@@ -197,8 +200,8 @@ VIDEO_UPDATE( funworld );
static ADDRESS_MAP_START( 4roses_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM // AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/acefruit.c b/src/mame/drivers/acefruit.c
index 769da009bb2..b03c662c3fc 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -13,6 +13,9 @@ Inputs and Dip Switches by Stephh
#include "sidewndr.lh"
+static UINT8 *colorram;
+static UINT8 *videoram;
+
static void acefruit_update_irq(running_machine *machine, int vpos )
{
int col;
@@ -21,7 +24,7 @@ static void acefruit_update_irq(running_machine *machine, int vpos )
for( col = 0; col < 32; col++ )
{
int tile_index = ( col * 32 ) + row;
- int color = machine->generic.colorram.u8[ tile_index ];
+ int color = colorram[ tile_index ];
switch( color )
{
@@ -73,8 +76,8 @@ static VIDEO_UPDATE( acefruit )
for( col = 0; col < 32; col++ )
{
int tile_index = ( col * 32 ) + row;
- int code = screen->machine->generic.videoram.u8[ tile_index ];
- int color = screen->machine->generic.colorram.u8[ tile_index ];
+ int code = videoram[ tile_index ];
+ int color = colorram[ tile_index ];
if( color < 0x4 )
{
@@ -197,7 +200,7 @@ static CUSTOM_INPUT( starspnr_payout_r )
static WRITE8_HANDLER( acefruit_colorram_w )
{
- space->machine->generic.colorram.u8[ offset ] = data & 0xf;
+ colorram[ offset ] = data & 0xf;
}
static WRITE8_HANDLER( acefruit_coin_w )
@@ -256,8 +259,8 @@ static PALETTE_INIT( acefruit )
static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1")
AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2")
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index cdceef754dd..baefee8d01e 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -422,8 +422,8 @@ static ADDRESS_MAP_START( amaticmg_map, ADDRESS_SPACE_PROGRAM, 8 )
// AM_RANGE(0x0000, 0x0000) AM_RAM // AM_BASE_SIZE_GENERIC(nvram)
// AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("crtc", mc6845_address_w)
// AM_RANGE(0x0000, 0x0000) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
-// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_videoram_w) AM_BASE_GENERIC(videoram)
-// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE_GENERIC(colorram)
+// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_videoram_w) AM_BASE(&amaticmg_videoram)
+// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE(&amaticmg_colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( amaticmg_portmap, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index 9805bcd5f3c..608fbcf220f 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -172,8 +172,8 @@ static WRITE8_HANDLER( bagman_coin_counter_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE(&bagman_videoram)
+ AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE(&bagman_colorram)
AM_RANGE(0x9c00, 0x9fff) AM_WRITENOP /* written to, but unused */
AM_RANGE(0xa000, 0xa000) AM_READ(bagman_pal16r6_r)
//AM_RANGE(0xa800, 0xa805) AM_READ(bagman_ls259_r) /*just for debugging purposes*/
@@ -201,8 +201,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pickin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM
- AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE(&bagman_videoram)
+ AM_RANGE(0x9800, 0x9bff) AM_RAM_WRITE(bagman_colorram_w) AM_BASE(&bagman_colorram)
AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) /* hidden portion of color RAM */
/* here only to initialize the pointer, */
/* writes are handled by bagman_colorram_w */
diff --git a/src/mame/drivers/bishjan.c b/src/mame/drivers/bishjan.c
index 3f3754beb38..0d64f0d0454 100644
--- a/src/mame/drivers/bishjan.c
+++ b/src/mame/drivers/bishjan.c
@@ -42,6 +42,7 @@ To do:
Tilemaps Access
***************************************************************************/
+static UINT8 *bishjan_colorram;
static UINT8 *bishjan_videoram_1_lo, *bishjan_videoram_1_hi;
static UINT8 *bishjan_videoram_2_lo, *bishjan_videoram_2_hi;
@@ -227,7 +228,7 @@ static VIDEO_START(bishjan)
bishjan_videoram_2_hi = auto_alloc_array(machine, UINT8, 0x80 * 0x40);
- machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 256*3);
+ bishjan_colorram = auto_alloc_array(machine, UINT8, 256*3);
}
static VIDEO_UPDATE( bishjan )
@@ -282,11 +283,11 @@ static WRITE8_HANDLER(colordac_w)
break;
case 1:
- space->machine->generic.colorram.u8[colordac_offs] = data;
+ bishjan_colorram[colordac_offs] = data;
palette_set_color_rgb(space->machine, colordac_offs/3,
- pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+0]),
- pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+1]),
- pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+2])
+ pal6bit(bishjan_colorram[(colordac_offs/3)*3+0]),
+ pal6bit(bishjan_colorram[(colordac_offs/3)*3+1]),
+ pal6bit(bishjan_colorram[(colordac_offs/3)*3+2])
);
colordac_offs = (colordac_offs+1) % (256*3);
break;
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index a96d9939997..b5faee961ac 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -112,6 +112,7 @@ Main board:
static UINT16 *bmcbowl_vid1;
static UINT16 *bmcbowl_vid2;
+static UINT8 *bmc_colorram;
static UINT8 *stats_ram;
static size_t stats_ram_size;
@@ -197,14 +198,14 @@ static READ16_HANDLER( bmc_protection_r )
static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
{
- clr_offset=data*3;
+ clr_offset=data*3;
}
static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{
- space->machine->generic.colorram.u8[clr_offset]=data;
- palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+1]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+2]));
- clr_offset=(clr_offset+1)%768;
+ bmc_colorram[clr_offset]=data;
+ palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(bmc_colorram[(clr_offset/3)*3]),pal6bit(bmc_colorram[(clr_offset/3)*3+1]),pal6bit(bmc_colorram[(clr_offset/3)*3+2]));
+ clr_offset=(clr_offset+1)%768;
}
static WRITE16_HANDLER( scroll_w )
@@ -551,7 +552,7 @@ ROM_END
static DRIVER_INIT(bmcbowl)
{
- machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 768);
+ bmc_colorram = auto_alloc_array(machine, UINT8, 768);
}
GAME( 1994, bmcbowl, 0, bmcbowl, bmcbowl, bmcbowl, ROT0, "BMC", "BMC Bowling", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 4cc244b7704..2925f5829e0 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -643,6 +643,8 @@ static UINT8 rx_line;
/* from video */
+extern UINT8 *calomega_videoram;
+extern UINT8 *calomega_colorram;
WRITE8_HANDLER( calomega_videoram_w );
WRITE8_HANDLER( calomega_colorram_w );
PALETTE_INIT( calomega );
@@ -762,8 +764,8 @@ static ADDRESS_MAP_START( sys903_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x08c8, 0x08cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
AM_RANGE(0x08d0, 0x08d0) AM_DEVREADWRITE("acia6850_0", acia6850_stat_r, acia6850_ctrl_w)
AM_RANGE(0x08d1, 0x08d1) AM_DEVREADWRITE("acia6850_0", acia6850_data_r, acia6850_data_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x1800, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -775,8 +777,8 @@ static ADDRESS_MAP_START( s903mod_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0881, 0x0881) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x08c4, 0x08c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x08c8, 0x08cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
+ AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x1800, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -788,8 +790,8 @@ static ADDRESS_MAP_START( sys905_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1081, 0x1081) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x10c4, 0x10c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x10c8, 0x10cb) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
+ AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x2800, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index ff64e4b767b..2070478a017 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -23,10 +23,12 @@
#include "cardline.lh"
static int cardline_video;
+static UINT8 *videoram;
+static UINT8 *colorram;
#define DRAW_TILE(machine, offset, transparency) drawgfx_transpen(bitmap, cliprect, machine->gfx[0],\
- (machine->generic.videoram.u8[index+offset] | (machine->generic.colorram.u8[index+offset]<<8))&0x3fff,\
- (machine->generic.colorram.u8[index+offset]&0x80)>>7,\
+ (videoram[index+offset] | (colorram[index+offset]<<8))&0x3fff,\
+ (colorram[index+offset]&0x80)>>7,\
0,0,\
x<<3, y<<3,\
transparency?transparency:-1);
@@ -59,13 +61,13 @@ static VIDEO_UPDATE( cardline )
static WRITE8_HANDLER(vram_w)
{
offset+=0x1000*((cardline_video&2)>>1);
- space->machine->generic.videoram.u8[offset]=data;
+ videoram[offset]=data;
}
static WRITE8_HANDLER(attr_w)
{
offset+=0x1000*((cardline_video&2)>>1);
- space->machine->generic.colorram.u8[offset]=data;
+ colorram[offset]=data;
}
static WRITE8_HANDLER(video_w)
@@ -111,8 +113,8 @@ static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x2840, 0x2840) AM_NOP
AM_RANGE(0x2880, 0x2880) AM_NOP
AM_RANGE(0x3003, 0x3003) AM_NOP
- AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE(&videoram)
+ AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE(&colorram)
/* Ports */
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(unk_r, video_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/cowrace.c b/src/mame/drivers/cowrace.c
index 4437082caca..11ba3192390 100644
--- a/src/mame/drivers/cowrace.c
+++ b/src/mame/drivers/cowrace.c
@@ -12,23 +12,25 @@
#include "sound/2203intf.h"
static tilemap *tmap;
+static UINT8 *colorram;
+static UINT8 *videoram;
static WRITE8_HANDLER( cowrace_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static WRITE8_HANDLER( cowrace_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static TILE_GET_INFO( get_tile_info )
{
- UINT16 code = machine->generic.videoram.u8[ tile_index ] + (machine->generic.colorram.u8[ tile_index ] << 8) ;
- UINT8 color = 0;//(machine->generic.colorram.u8[ tile_index ] & 0x3e)>>1;
+ UINT16 code = videoram[ tile_index ] + (colorram[ tile_index ] << 8) ;
+ UINT8 color = 0;//(colorram[ tile_index ] & 0x3e)>>1;
SET_TILE_INFO(1, code & 0x1ff, color, TILE_FLIPYX( 0 ));;
}
@@ -90,8 +92,8 @@ static ADDRESS_MAP_START( mem_map_cowrace, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(cowrace_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(cowrace_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(cowrace_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(cowrace_colorram_w) AM_BASE(&colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_cowrace, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index f3b0e8cd544..ae11e3e855f 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -1060,6 +1060,9 @@
#include "funworld.lh"
/* from video */
+extern UINT8* funworld_videoram;
+extern UINT8* funworld_colorram;
+
WRITE8_HANDLER( funworld_videoram_w );
WRITE8_HANDLER( funworld_colorram_w );
PALETTE_INIT( funworld );
@@ -1113,8 +1116,8 @@ static ADDRESS_MAP_START( funworld_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0c00, 0x0c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2000, 0x2fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x4000, 0x4000) AM_READNOP
AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_ROM
@@ -1131,8 +1134,8 @@ static ADDRESS_MAP_START( magicrd2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2c00, 0x2cff) AM_RAM /* range for protection */
AM_RANGE(0x3600, 0x36ff) AM_RAM /* some games use $3603-05 range for protection */
AM_RANGE(0x3c00, 0x3cff) AM_RAM /* range for protection */
- AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1146,8 +1149,8 @@ static ADDRESS_MAP_START( cuoreuno_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0e01, 0x0e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x2000, 0x2000) AM_READNOP /* some unknown reads */
AM_RANGE(0x3e00, 0x3fff) AM_RAM /* some games use $3e03-05 range for protection */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1159,8 +1162,8 @@ static ADDRESS_MAP_START( royalmcu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2c00, 0x2c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x2e00, 0x2e00) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x2e01, 0x2e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -1174,8 +1177,8 @@ static ADDRESS_MAP_START( saloon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1800, 0x1800) AM_DEVREAD("ay8910", ay8910_r)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE("ay8910", ay8910_address_data_w)
// AM_RANGE(0x2000, 0x2000) AM_READNOP /* some unknown reads... maybe a DSW */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index e6e7bda943b..158ebab14fa 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -630,17 +630,19 @@
* Video Hardware *
*************************/
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER( goldnpkr_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( goldnpkr_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -654,8 +656,8 @@ static TILE_GET_INFO( get_bg_tile_info )
xx-- ---- unused.
*/
- int attr = machine->generic.colorram.u8[tile_index];
- int code = ((attr & 1) << 8) | machine->generic.videoram.u8[tile_index];
+ int attr = colorram[tile_index];
+ int code = ((attr & 1) << 8) | videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */
@@ -898,8 +900,8 @@ static ADDRESS_MAP_START( goldnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x4000, 0x7fff) AM_ROM
ADDRESS_MAP_END
@@ -910,8 +912,8 @@ static ADDRESS_MAP_START( pottnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END
@@ -922,8 +924,8 @@ static ADDRESS_MAP_START( witchcrd_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x0848, 0x084b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
// AM_RANGE(0x2108, 0x210b) AM_NOP /* unknown 40-pin device */
AM_RANGE(0x4000, 0x7fff) AM_ROM
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 4da9a3fc083..ff4a88ad93f 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -110,6 +110,8 @@
static int dataoffset=0;
+extern UINT8 *goldstar_fg_atrram;
+extern UINT8 *goldstar_fg_vidram;
extern UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll;
@@ -168,8 +170,8 @@ static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xe800, 0xe9ff) AM_RAM_WRITE( goldstar_reel3_ram_w ) AM_BASE(&goldstar_reel3_ram)
@@ -211,8 +213,8 @@ static ADDRESS_MAP_START( ncb3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM
- AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xe800, 0xe9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -285,8 +287,8 @@ static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
@@ -307,8 +309,8 @@ static ADDRESS_MAP_START( nfm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
@@ -381,8 +383,8 @@ static WRITE8_HANDLER( lucky8_outport_w )
static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -403,8 +405,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kkojnoli_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* definitelly no NVRAM */
- AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -442,8 +444,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -463,8 +465,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
- AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xa000, 0xa1ff) AM_RAM_WRITE(goldstar_reel2_ram_w) AM_BASE(&goldstar_reel2_ram)
AM_RANGE(0xa800, 0xa9ff) AM_RAM_WRITE(goldstar_reel3_ram_w) AM_BASE(&goldstar_reel3_ram)
@@ -500,8 +502,8 @@ static ADDRESS_MAP_START( unkch_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE(&goldstar_fg_vidram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE(&goldstar_fg_atrram)
AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE( goldstar_reel1_ram_w ) AM_BASE(&goldstar_reel1_ram)
AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index b39b85b3ab5..a5344b818e6 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -49,14 +49,17 @@ Some debug tricks (let's test this CPU as more as possible):
static UINT8 *hitpoker_sys_regs;
static UINT8 hitpoker_pic_data;
+static UINT8 *videoram;
+static UINT8 *paletteram;
+static UINT8 *colorram;
#define CRTC_CLOCK XTAL_3_579545MHz
static VIDEO_START(hitpoker)
{
- machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x35ff);
- machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
- machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 0x2000);
+ videoram = auto_alloc_array(machine, UINT8, 0x35ff);
+ paletteram = auto_alloc_array(machine, UINT8, 0x1000);
+ colorram = auto_alloc_array(machine, UINT8, 0x2000);
}
static VIDEO_UPDATE(hitpoker)
@@ -72,9 +75,9 @@ static VIDEO_UPDATE(hitpoker)
{
int tile,color,gfx_bpp;
- tile = (((screen->machine->generic.videoram.u8[count]<<8)|(screen->machine->generic.videoram.u8[count+1])) & 0x3fff);
- gfx_bpp = (screen->machine->generic.colorram.u8[count] & 0x80)>>7; //flag between 4 and 8 bpp
- color = gfx_bpp ? ((screen->machine->generic.colorram.u8[count] & 0x70)>>4) : (screen->machine->generic.colorram.u8[count] & 0xf);
+ tile = (((videoram[count]<<8)|(videoram[count+1])) & 0x3fff);
+ gfx_bpp = (colorram[count] & 0x80)>>7; //flag between 4 and 8 bpp
+ color = gfx_bpp ? ((colorram[count] & 0x70)>>4) : (colorram[count] & 0xf);
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[gfx_bpp],tile,color,0,0,x*8,y*8);
@@ -90,7 +93,7 @@ static READ8_HANDLER( hitpoker_vram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return space->machine->generic.videoram.u8[offset];
+ return videoram[offset];
else
return ROM[offset+0x8000];
}
@@ -100,7 +103,7 @@ static WRITE8_HANDLER( hitpoker_vram_w )
// UINT8 *ROM = memory_region(space->machine, "maincpu");
// if(hitpoker_sys_regs[0x00] & 0x10)
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
}
static READ8_HANDLER( hitpoker_cram_r )
@@ -108,14 +111,14 @@ static READ8_HANDLER( hitpoker_cram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return space->machine->generic.colorram.u8[offset];
+ return colorram[offset];
else
return ROM[offset+0xc000];
}
static WRITE8_HANDLER( hitpoker_cram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
}
static READ8_HANDLER( hitpoker_paletteram_r )
@@ -123,7 +126,7 @@ static READ8_HANDLER( hitpoker_paletteram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10)
- return space->machine->generic.paletteram.u8[offset];
+ return paletteram[offset];
else
return ROM[offset+0xe000];
}
@@ -131,9 +134,9 @@ static READ8_HANDLER( hitpoker_paletteram_r )
static WRITE8_HANDLER( hitpoker_paletteram_w )
{
int r,g,b,datax;
- space->machine->generic.paletteram.u8[offset] = data;
+ paletteram[offset] = data;
offset>>=1;
- datax=256*space->machine->generic.paletteram.u8[offset*2]+space->machine->generic.paletteram.u8[offset*2+1];
+ datax=256*paletteram[offset*2]+paletteram[offset*2+1];
/* RGB565 */
b = ((datax)&0xf800)>>11;
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 12708777d32..cac5ae13a83 100644
--- a/src/mame/drivers/hvyunit.c
+++ b/src/mame/drivers/hvyunit.c
@@ -60,6 +60,8 @@ Notes:
#include "sound/2203intf.h"
#include "video/kan_pand.h"
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static UINT16 hu_scrollx, hu_scrolly;
static UINT16 port0_data;
@@ -276,8 +278,8 @@ static READ8_HANDLER( mermaid_status_r )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x0f) << 8);
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4);
SET_TILE_INFO(1, code, color, 0);
@@ -336,13 +338,13 @@ static WRITE8_HANDLER( master_bankswitch_w )
static WRITE8_HANDLER( hu_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( hu_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -385,8 +387,8 @@ static WRITE8_HANDLER( hu_scrolly_w)
static ADDRESS_MAP_START( slave_memory, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
- AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM_WRITE(hu_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xd000, 0xd1ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split2_w) AM_BASE_GENERIC(paletteram2)
AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index c1265a84962..97944ee918b 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -100,19 +100,21 @@
* Video Hardware *
*************************/
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER( jokrwild_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( jokrwild_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -124,8 +126,8 @@ static TILE_GET_INFO( get_bg_tile_info )
xx-- ---- bank select.
---- xxxx color code.
*/
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] | ((attr & 0xc0) << 2);
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index] | ((attr & 0xc0) << 2);
int color = (attr & 0x0f);
SET_TILE_INFO( 0, code , color , 0);
@@ -176,9 +178,9 @@ static READ8_HANDLER( rng_r )
*************************/
static ADDRESS_MAP_START( jokrwild_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(jokrwild_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0000, 0x03ff) AM_RAM_WRITE(jokrwild_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x0400, 0x07ff) AM_RAM //FIXME: backup RAM
- AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(jokrwild_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(jokrwild_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x2400, 0x27ff) AM_RAM //stack RAM
AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
AM_RANGE(0x4008, 0x400b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w) //optical sensor is here
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index a639d5eb305..597411613a3 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -120,7 +120,7 @@ static WRITE8_HANDLER( jrpacman_interrupt_vector_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x4000, 0x47ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE(&pacman_videoram)
AM_RANGE(0x4800, 0x4fef) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("P1")
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 9419113d787..6caf10c2dd1 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -36,6 +36,7 @@ ft5_v6_c4.u58 /
static UINT16 *bmc_1_videoram, *bmc_2_videoram,*main_ram;
static tilemap *tilemap_1,*tilemap_2;
+static UINT8 *bmc_colorram;
static int clr_offset=0;
static TILE_GET_INFO( get_t1_tile_info )
@@ -75,19 +76,19 @@ static VIDEO_UPDATE( koftball )
static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
{
- clr_offset=data*3;
+ clr_offset=data*3;
}
static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{
- space->machine->generic.colorram.u8[clr_offset]=data;
- palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+1]),pal6bit(space->machine->generic.colorram.u8[(clr_offset/3)*3+2]));
- clr_offset=(clr_offset+1)%768;
+ bmc_colorram[clr_offset]=data;
+ palette_set_color_rgb(space->machine,clr_offset/3,pal6bit(bmc_colorram[(clr_offset/3)*3]),pal6bit(bmc_colorram[(clr_offset/3)*3+1]),pal6bit(bmc_colorram[(clr_offset/3)*3+2]));
+ clr_offset=(clr_offset+1)%768;
}
static READ16_HANDLER( bmc_RAMDAC_color_r )
{
- return space->machine->generic.colorram.u8[clr_offset];
+ return bmc_colorram[clr_offset];
}
static READ16_HANDLER(random_number_r)
@@ -271,7 +272,7 @@ static const UINT16 nvram[]=
#endif
static DRIVER_INIT(koftball)
{
- machine->generic.colorram.u8=auto_alloc_array(machine, UINT8, 768);
+ bmc_colorram = auto_alloc_array(machine, UINT8, 768);
#if NVRAM_HACK
{
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 6843a558d14..76e74d3cdec 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -18,6 +18,9 @@
#include "cpu/m6502/m6502.h"
#include "sound/ay8910.h"
+extern UINT8 *liberate_videoram;
+extern UINT8 *liberate_colorram;
+
PALETTE_INIT( liberate );
VIDEO_UPDATE( prosoccr );
VIDEO_UPDATE( prosport );
@@ -56,8 +59,8 @@ static READ8_HANDLER( deco16_bank_r )
return ROM[offset];
/* Else the handler falls through to read the usual address */
- if (offset<0x400) return space->machine->generic.colorram.u8[offset];
- if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400];
+ if (offset<0x400) return liberate_colorram[offset];
+ if (offset<0x800) return liberate_videoram[offset-0x400];
if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0x800];
if (offset<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200];
@@ -99,9 +102,9 @@ static READ8_HANDLER( prosoccr_bank_r )
return ROM[offset];
/* Else the handler falls through to read the usual address */
- if (offset<0x400) return space->machine->generic.colorram.u8[offset];
- if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400];
- if (offset<0xc00) return space->machine->generic.colorram.u8[offset-0x800];
+ if (offset<0x400) return liberate_colorram[offset];
+ if (offset<0x800) return liberate_videoram[offset-0x400];
+ if (offset<0xc00) return liberate_colorram[offset-0x800];
if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0xc00];
if (offset<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200];
@@ -246,8 +249,8 @@ static ADDRESS_MAP_START( prosport_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(prosport_bg_vram_w) AM_BASE(&prosport_bg_vram)
AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
AM_RANGE(0x2400, 0x2fff) AM_RAM
- AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
+ AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_BASE(&liberate_videoram)
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1")
@@ -258,8 +261,8 @@ static ADDRESS_MAP_START( liberate_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&liberate_videoram)
AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(deco16_io_w)
@@ -271,8 +274,8 @@ static ADDRESS_MAP_START( prosoccr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(prosoccr_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x800) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x800) AM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&liberate_videoram)
AM_RANGE(0x4c00, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x97ff) AM_READWRITE(prosoccr_charram_r,prosoccr_charram_w)
@@ -295,8 +298,8 @@ static ADDRESS_MAP_START( liberatb_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
- AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
+ AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE(&liberate_videoram)
AM_RANGE(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_WRITEONLY AM_BASE(&scratchram)
AM_RANGE(0xf000, 0xf00f) AM_WRITE(deco16_io_w)
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index e6ed1384001..a1be10e5823 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -77,6 +77,8 @@ TODO:
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
+extern UINT8 *lvcards_videoram;
+extern UINT8 *lvcards_colorram;
extern WRITE8_HANDLER( lvcards_videoram_w );
extern WRITE8_HANDLER( lvcards_colorram_w );
@@ -157,8 +159,8 @@ static READ8_HANDLER( payout_r )
static ADDRESS_MAP_START( ponttehk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps
AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2a_w)//AM_WRITENOP // ???
@@ -167,8 +169,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lvcards_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP
AM_RANGE(0xa002, 0xa002) AM_READ_PORT("IN2") AM_WRITENOP
@@ -184,8 +186,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( lvpoker_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps
AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2_w)
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index cd84fa6f2ba..eafce7b87bb 100644
--- a/src/mame/drivers/magicfly.c
+++ b/src/mame/drivers/magicfly.c
@@ -405,17 +405,19 @@
* Video Hardware *
*************************/
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER( magicfly_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( magicfly_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -430,16 +432,16 @@ static TILE_GET_INFO( get_magicfly_tile_info )
x--- ---- Mirrored from bit 3. The code check this one to boot the game.
*/
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index];
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 3 to have a normal boot */
/* Boot only check the first color RAM offset */
- machine->generic.colorram.u8[0] = machine->generic.colorram.u8[0] | ((machine->generic.colorram.u8[0] & 0x08) << 4); /* only for 1st offset */
-// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
+ colorram[0] = colorram[0] | ((colorram[0] & 0x08) << 4); /* only for 1st offset */
+ //colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0);
}
@@ -460,16 +462,16 @@ static TILE_GET_INFO( get_7mezzo_tile_info )
x--- ---- Mirrored from bit 2. The code check this one to boot the game.
*/
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index];
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 2 to have a normal boot */
/* Boot only check the first color RAM offset */
- machine->generic.colorram.u8[0] = machine->generic.colorram.u8[0] | ((machine->generic.colorram.u8[0] & 0x04) << 5); /* only for 1st offset */
-// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
+ colorram[0] = colorram[0] | ((colorram[0] & 0x04) << 5); /* only for 1st offset */
+ //colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0);
}
@@ -556,8 +558,8 @@ static ADDRESS_MAP_START( magicfly_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* MK48Z02B NVRAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(magicfly_videoram_w) AM_BASE_GENERIC(videoram) /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(magicfly_colorram_w) AM_BASE_GENERIC(colorram) /* HM6116LP #2 (2K x 8) RAM (only 1st half used) */
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(magicfly_videoram_w) AM_BASE(&videoram) /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(magicfly_colorram_w) AM_BASE(&colorram) /* HM6116LP #2 (2K x 8) RAM (only 1st half used) */
AM_RANGE(0x2800, 0x2800) AM_READ(mux_port_r) /* multiplexed input port */
AM_RANGE(0x3000, 0x3000) AM_WRITE(mux_port_w) /* output port */
AM_RANGE(0xc000, 0xffff) AM_ROM /* ROM space */
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index b7a9508b3b4..efae739504b 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -58,8 +58,8 @@ static ADDRESS_MAP_START( matmania_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0780, 0x07df) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(&matmania_videoram2) AM_SIZE(&matmania_videoram2_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
- AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&matmania_videoram) AM_SIZE(&matmania_videoram_size)
+ AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE(&matmania_colorram)
AM_RANGE(0x2400, 0x25ff) AM_RAM AM_BASE(&matmania_videoram3) AM_SIZE(&matmania_videoram3_size)
AM_RANGE(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect)
@@ -75,8 +75,8 @@ static ADDRESS_MAP_START( maniach_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0780, 0x07df) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE(&matmania_videoram2) AM_SIZE(&matmania_videoram2_size)
AM_RANGE(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
- AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&matmania_videoram) AM_SIZE(&matmania_videoram_size)
+ AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE(&matmania_colorram)
AM_RANGE(0x2400, 0x25ff) AM_RAM AM_BASE(&matmania_videoram3) AM_SIZE(&matmania_videoram3_size)
AM_RANGE(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect)
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index 4b448bf10a6..eadd075ccdb 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -19,8 +19,11 @@ To enter service mode, keep 1&2 pressed on reset
extern UINT8 *megazone_scrollx;
extern UINT8 *megazone_scrolly;
+extern UINT8 *megazone_videoram;
extern UINT8 *megazone_videoram2;
+extern UINT8 *megazone_colorram;
extern UINT8 *megazone_colorram2;
+extern size_t megazone_videoram_size;
extern size_t megazone_videoram2_size;
static int i8039_status;
@@ -98,9 +101,9 @@ static ADDRESS_MAP_START( megazone_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0800, 0x0800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE(&megazone_scrolly)
AM_RANGE(0x1800, 0x1800) AM_WRITEONLY AM_BASE(&megazone_scrollx)
- AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE(&megazone_videoram) AM_SIZE(&megazone_videoram_size)
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE(&megazone_videoram2) AM_SIZE(&megazone_videoram2_size)
- AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x2800, 0x2bff) AM_RAM AM_BASE(&megazone_colorram)
AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE(&megazone_colorram2)
AM_RANGE(0x3000, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("share1")
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index 1a5c6fe537c..c5931e0bfa0 100644
--- a/src/mame/drivers/mermaid.c
+++ b/src/mame/drivers/mermaid.c
@@ -117,6 +117,8 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
+extern UINT8* mermaid_videoram;
+extern UINT8* mermaid_colorram;
extern UINT8* mermaid_videoram2;
extern UINT8* mermaid_bg_scrollram;
extern UINT8* mermaid_fg_scrollram;
@@ -161,11 +163,11 @@ static ADDRESS_MAP_START( mermaid_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(mermaid_videoram2_w) AM_BASE(&mermaid_videoram2)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(mermaid_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(mermaid_videoram_w) AM_BASE(&mermaid_videoram)
AM_RANGE(0xd800, 0xd81f) AM_RAM_WRITE(mermaid_bg_scroll_w) AM_BASE(&mermaid_bg_scrollram)
AM_RANGE(0xd840, 0xd85f) AM_RAM_WRITE(mermaid_fg_scroll_w) AM_BASE(&mermaid_fg_scrollram)
AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(mermaid_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(mermaid_colorram_w) AM_BASE(&mermaid_colorram)
AM_RANGE(0xe000, 0xe000) AM_READ_PORT("DSW")
AM_RANGE(0xe000, 0xe001) AM_RAM AM_BASE(&mermaid_ay8910_enable)
AM_RANGE(0xe002, 0xe002) AM_WRITENOP // ???
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 7e261206244..f1c454d68c3 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -22,6 +22,9 @@ MAIN BOARD:
#include "sound/sn76496.h"
#include "includes/konamipt.h"
+extern UINT8 *mikie_videoram;
+extern UINT8 *mikie_colorram;
+
extern WRITE8_HANDLER( mikie_videoram_w );
extern WRITE8_HANDLER( mikie_colorram_w );
extern WRITE8_HANDLER( mikie_palettebank_w );
@@ -81,8 +84,8 @@ static ADDRESS_MAP_START( mikie_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2501, 0x2501) AM_READ_PORT("DSW1")
AM_RANGE(0x2800, 0x288f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2890, 0x37ff) AM_RAM
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(mikie_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(mikie_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(mikie_colorram_w) AM_BASE(&mikie_colorram)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(mikie_videoram_w) AM_BASE(&mikie_videoram)
AM_RANGE(0x4000, 0x5fff) AM_ROM // Machine checks for extra rom
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index 5433b2409e8..1793cc7a8f8 100644
--- a/src/mame/drivers/miniboy7.c
+++ b/src/mame/drivers/miniboy7.c
@@ -132,17 +132,19 @@
* Video Hardware *
*************************/
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER( miniboy7_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( miniboy7_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -154,8 +156,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank.
xx-- ---x seems unused. */
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index];
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color? */
@@ -184,7 +186,7 @@ static VIDEO_UPDATE( miniboy7 )
static ADDRESS_MAP_START( miniboy7_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM /* battery backed RAM? */
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(miniboy7_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(miniboy7_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(miniboy7_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x1800, 0x25ff) AM_RAM /* looks like videoram */
AM_RANGE(0x2600, 0x27ff) AM_RAM
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("crtc", mc6845_address_w)
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index 537f72d420b..17ae885270a 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -75,6 +75,8 @@ The End
static UINT8 nAyCtrl, nAyData;
static UINT8 nmi_mask;
+static UINT8 *videoram;
+static UINT8 *colorram;
static VIDEO_START(mirax)
{
@@ -117,8 +119,8 @@ static VIDEO_UPDATE(mirax)
{
for (x=0;x<32;x++)
{
- int tile = screen->machine->generic.videoram.u8[count];
- int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]);
+ int tile = videoram[count];
+ int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3);
@@ -139,8 +141,8 @@ static VIDEO_UPDATE(mirax)
{
for (x=0;x<32;x++)
{
- int tile = screen->machine->generic.videoram.u8[count];
- int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]);
+ int tile = videoram[count];
+ int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3);
@@ -204,9 +206,9 @@ static WRITE8_HANDLER( mirax_sound_cmd_w )
static ADDRESS_MAP_START( mirax_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xd7ff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&videoram)
AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_GENERIC(spriteram)
- AM_RANGE(0xea00, 0xea3f) AM_RAM AM_BASE_GENERIC(colorram) //per-column color + bank bits for the videoram
+ AM_RANGE(0xea00, 0xea3f) AM_RAM AM_BASE(&colorram) //per-column color + bank bits for the videoram
AM_RANGE(0xf000, 0xf000) AM_READ_PORT("P1")
AM_RANGE(0xf100, 0xf100) AM_READ_PORT("P2")
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW1")
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index 5e2cec2e85b..e353dc46623 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -21,6 +21,9 @@ static UINT8 mouser_sound_byte;
static UINT8 mouser_nmi_enable;
/* From "video/mouser.c" */
+extern UINT8 *mouser_videoram;
+extern UINT8 *mouser_colorram;
+
PALETTE_INIT( mouser );
WRITE8_HANDLER( mouser_flip_screen_x_w );
WRITE8_HANDLER( mouser_flip_screen_y_w );
@@ -57,9 +60,9 @@ static ADDRESS_MAP_START( mouser_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_WRITENOP /* unknown */
- AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&mouser_videoram)
AM_RANGE(0x9800, 0x9cff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
- AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9c00, 0x9fff) AM_RAM AM_BASE(&mouser_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1") AM_WRITE(mouser_nmi_enable_w) /* bit 0 = NMI Enable */
AM_RANGE(0xa001, 0xa001) AM_WRITE(mouser_flip_screen_x_w)
AM_RANGE(0xa002, 0xa002) AM_WRITE(mouser_flip_screen_y_w)
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index 3a562b49bf1..94ab928ffd5 100644
--- a/src/mame/drivers/mrjong.c
+++ b/src/mame/drivers/mrjong.c
@@ -47,6 +47,9 @@ ROMs 6A, 7A, 8A, 9A: 2764
#include "sound/sn76496.h"
+extern UINT8 *mrjong_videoram;
+extern UINT8 *mrjong_colorram;
+
extern WRITE8_HANDLER( mrjong_videoram_w );
extern WRITE8_HANDLER( mrjong_colorram_w );
extern WRITE8_HANDLER( mrjong_flipscreen_w );
@@ -60,8 +63,8 @@ static ADDRESS_MAP_START( mrjong_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(mrjong_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(mrjong_videoram_w) AM_BASE(&mrjong_videoram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_BASE(&mrjong_colorram)
ADDRESS_MAP_END
static WRITE8_HANDLER( io_0x00_w )
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index 405115241b8..98024b9d5b1 100644
--- a/src/mame/drivers/olibochu.c
+++ b/src/mame/drivers/olibochu.c
@@ -56,6 +56,8 @@ $7004 writes, related to $7000 reads
#include "deprecat.h"
#include "sound/ay8910.h"
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static PALETTE_INIT( olibochu )
@@ -97,13 +99,13 @@ static PALETTE_INIT( olibochu )
static WRITE8_HANDLER( olibochu_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( olibochu_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -120,8 +122,8 @@ static WRITE8_HANDLER( olibochu_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3);
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index] + ((attr & 0x20) << 3);
int color = (attr & 0x1f) + 0x20;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
@@ -220,8 +222,8 @@ static WRITE8_HANDLER( sound_command_w )
static ADDRESS_MAP_START( olibochu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x9000, 0x903f) AM_RAM //???
AM_RANGE(0x9800, 0x983f) AM_RAM //???
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index af0540b09a2..1c3ff07e191 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -892,8 +892,8 @@ static WRITE8_HANDLER( mspacman_enable_decode_w ) { mspacman_enable_deco
static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 )
//A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace.
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -919,8 +919,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mspacman_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -959,8 +959,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -986,8 +986,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alibaba_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -1018,8 +1018,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
@@ -1044,8 +1044,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1")
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -1070,8 +1070,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x5000) AM_MIRROR(0xaf38) AM_WRITE(interrupt_enable_w)
@@ -1099,7 +1099,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1")
- AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xe000) AM_WRITE(s2650games_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xe000) AM_WRITE(s2650games_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x1400, 0x141f) AM_MIRROR(0xe000) AM_WRITE(s2650games_scroll_w)
AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITEONLY
AM_RANGE(0x1490, 0x149f) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE(&s2650games_spriteram)
@@ -1118,7 +1118,7 @@ static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0xe000) AM_READ_PORT("IN0")
AM_RANGE(0x1540, 0x1540) AM_MIRROR(0xe000) AM_READ_PORT("IN1")
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0xe000) AM_READ_PORT("DSW0")
- AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0xe000) AM_WRITE(s2650games_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0xe000) AM_WRITE(s2650games_videoram_w) AM_BASE(&pacman_videoram)
AM_RANGE(0x1c00, 0x1fef) AM_MIRROR(0xe000) AM_RAM
AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0x8000) AM_ROMBANK("bank2")
@@ -1129,8 +1129,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rocktrv2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w)
@@ -1156,8 +1156,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bigbucks_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_enable_w)
@@ -1177,8 +1177,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
@@ -1204,8 +1204,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( crushs_map, ADDRESS_SPACE_PROGRAM, 8 )
//A lot of games don't have an a15 at the cpu. Generally only games with a cpu daughter board can access the full 32k of romspace.
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_MIRROR(0xa000) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index e44102169cf..287db0ebdbd 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -70,6 +70,7 @@ Stephh's notes (based on the game Z80 code and some tests) :
#include "machine/segacrpt.h"
+extern UINT8 *pbaction_videoram,*pbaction_colorram;
extern UINT8 *pbaction_videoram2,*pbaction_colorram2;
extern WRITE8_HANDLER( pbaction_videoram_w );
@@ -99,8 +100,8 @@ static ADDRESS_MAP_START( pbaction_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE(&work_ram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(pbaction_videoram2_w) AM_BASE(&pbaction_videoram2)
AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(pbaction_colorram2_w) AM_BASE(&pbaction_colorram2)
- AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_BASE(&pbaction_videoram)
+ AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_BASE(&pbaction_colorram)
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index 7c9928597ac..3b53f388c13 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -98,8 +98,8 @@
static ADDRESS_MAP_START( pengo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* video and color RAM, scratchpad RAM, sprite codes */
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram) /* video and color RAM, scratchpad RAM, sprite codes */
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
@@ -121,7 +121,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jrpacmbl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x87ff) AM_RAM_WRITE(jrpacman_videoram_w) AM_BASE(&pacman_videoram)
AM_RANGE(0x8800, 0x8fef) AM_RAM
AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)
diff --git a/src/mame/drivers/pingpong.c b/src/mame/drivers/pingpong.c
index 79b41225cfb..e00a8c31d60 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -9,6 +9,9 @@ Ping Pong (c) 1985 Konami
#include "deprecat.h"
#include "sound/sn76496.h"
+extern UINT8 *pingpong_videoram;
+extern UINT8 *pingpong_colorram;
+
extern WRITE8_HANDLER( pingpong_videoram_w );
extern WRITE8_HANDLER( pingpong_colorram_w );
@@ -94,8 +97,8 @@ static INTERRUPT_GEN( pingpong_interrupt )
static ADDRESS_MAP_START( pingpong_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE(&pingpong_colorram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&pingpong_videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM
AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM
@@ -115,8 +118,8 @@ static ADDRESS_MAP_START( merlinmm_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x5400, 0x57ff) AM_RAM
AM_RANGE(0x6000, 0x6007) AM_WRITENOP /* solenoid writes */
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN4")
- AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE(&pingpong_colorram)
+ AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&pingpong_videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM
AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index b0aaf978705..95771c40548 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -21,6 +21,8 @@ Notes:
#include "sound/ay8910.h"
+extern UINT8 *popeye_videoram;
+extern UINT8 *popeye_colorram;
extern UINT8 *popeye_background_pos;
extern UINT8 *popeye_palettebank;
@@ -86,8 +88,8 @@ static ADDRESS_MAP_START( skyskipr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -100,8 +102,8 @@ static ADDRESS_MAP_START( popeye_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xdfff) AM_WRITE(popeye_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END
@@ -113,8 +115,8 @@ static ADDRESS_MAP_START( popeyebl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
+ AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe01f) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index 2db23e1cd45..cd48668cfdc 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -34,24 +34,26 @@ TODO:
#include "sound/msm5205.h"
static int gfxbank;
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER( rmhaihai_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( rmhaihai_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
int color = (gfxbank << 5) + (attr >> 3);
SET_TILE_INFO(0, code, color, 0);
@@ -174,8 +176,8 @@ static MACHINE_RESET( themj )
static ADDRESS_MAP_START( rmhaihai_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xb83c, 0xb83c) AM_WRITENOP // ??
AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP // ??
AM_RANGE(0xc000, 0xdfff) AM_ROM
@@ -199,8 +201,8 @@ static ADDRESS_MAP_START( themj_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xa7ff) AM_RAM
- AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE(&colorram)
+ AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank2")
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index a7841cef2bb..34ee1b66352 100644
--- a/src/mame/drivers/rollrace.c
+++ b/src/mame/drivers/rollrace.c
@@ -13,6 +13,8 @@ Issues:
#include "sound/ay8910.h"
+extern UINT8 *rollrace_videoram;
+extern UINT8 *rollrace_colorram;
VIDEO_UPDATE( rollrace );
PALETTE_INIT( wiz );
@@ -40,8 +42,8 @@ static ADDRESS_MAP_START( rollrace_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd806, 0xd806) AM_READNOP /* looks like a watchdog, bit4 checked*/
AM_RANGE(0xd900, 0xd900) AM_READWRITE(ra_fake_d800_r,ra_fake_d800_w) /* protection ??*/
- AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM AM_BASE(&rollrace_videoram)
+ AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE(&rollrace_colorram)
AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xec00, 0xec0f) AM_NOP /* Analog sound effects ?? ec00 sound enable ?*/
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index a05a533f372..eceb8b4eb34 100644
--- a/src/mame/drivers/scotrsht.c
+++ b/src/mame/drivers/scotrsht.c
@@ -38,6 +38,8 @@ Stephh's notes (based on the game M6502 code and some tests) :
#include "sound/2203intf.h"
#include "includes/konamipt.h"
+extern UINT8 *scotrsht_videoram;
+extern UINT8 *scotrsht_colorram;
extern UINT8 *scotrsht_scroll;
extern WRITE8_HANDLER( scotrsht_videoram_w );
@@ -70,8 +72,8 @@ static WRITE8_HANDLER( scotrsht_soundlatch_w )
}
static ADDRESS_MAP_START( scotrsht_map, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE(&scotrsht_colorram)
+ AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE(&scotrsht_videoram)
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
AM_RANGE(0x10c0, 0x1fff) AM_RAM /* work ram */
AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE(&scotrsht_scroll) /* scroll registers */
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 0a6bb561d2c..fb72633212f 100644
--- a/src/mame/drivers/seicross.c
+++ b/src/mame/drivers/seicross.c
@@ -48,6 +48,8 @@ This info came from http://www.ne.jp/asahi/cc-sakura/akkun/old/fryski.html
#include "sound/ay8910.h"
#include "sound/dac.h"
+extern UINT8 *seicross_videoram;
+extern UINT8 *seicross_colorram;
extern UINT8 *seicross_row_scroll;
extern WRITE8_HANDLER( seicross_videoram_w );
@@ -121,10 +123,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE_GENERIC(videoram) /* video RAM */
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE(&seicross_videoram) /* video RAM */
AM_RANGE(0x9800, 0x981f) AM_RAM AM_BASE(&seicross_row_scroll)
AM_RANGE(0x9880, 0x989f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram2)
- AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE(&seicross_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST") /* test */
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 6ce177e7517..241d469132f 100644
--- a/src/mame/drivers/shaolins.c
+++ b/src/mame/drivers/shaolins.c
@@ -14,6 +14,8 @@ driver by Allard Van Der Bas
UINT8 shaolins_nmi_enable;
+extern UINT8 *shaolins_videoram;
+extern UINT8 *shaolins_colorram;
WRITE8_HANDLER( shaolins_videoram_w );
WRITE8_HANDLER( shaolins_colorram_w );
WRITE8_HANDLER( shaolins_palettebank_w );
@@ -56,8 +58,8 @@ static ADDRESS_MAP_START( shaolins_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x2800, 0x2bff) AM_RAM /* RAM BANK 2 */
AM_RANGE(0x3000, 0x30ff) AM_RAM /* RAM BANK 1 */
AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
- AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE(&shaolins_colorram)
+ AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE(&shaolins_videoram)
AM_RANGE(0x4000, 0x5fff) AM_ROM /* Machine checks for extra rom */
AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index bd71cef3ac5..93f04bd2b5e 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -40,6 +40,8 @@ Notes:
#include "sound/2203intf.h"
#include "sound/2151intf.h"
+extern UINT8 *sidearms_videoram;
+extern UINT8 *sidearms_colorram;
extern UINT8 *sidearms_bg_scrollx;
extern UINT8 *sidearms_bg_scrolly;
@@ -99,8 +101,8 @@ static ADDRESS_MAP_START( sidearms_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc808, 0xc809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
@@ -122,8 +124,8 @@ static ADDRESS_MAP_START( turtship_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe808, 0xe809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xe80a, 0xe80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly)
AM_RANGE(0xe80c, 0xe80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sidearms_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -172,8 +174,8 @@ static ADDRESS_MAP_START( whizz_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xe805, 0xe805) AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w)
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 6b337bd3e1a..c75c57747e7 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -20,6 +20,9 @@ i8751 protection simluation and other fixes by Bryan McPhail, 15/10/00.
#include "sound/3526intf.h"
/* from video */
+extern UINT8 *sidepckt_videoram;
+extern UINT8 *sidepckt_colorram;
+
PALETTE_INIT( sidepckt );
VIDEO_START( sidepckt );
VIDEO_UPDATE( sidepckt );
@@ -127,9 +130,9 @@ static WRITE8_HANDLER( sidepctj_i8751_w )
static ADDRESS_MAP_START( sidepckt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM
- AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sidepckt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
+ AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(sidepckt_videoram_w) AM_BASE(&sidepckt_videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM // ???
- AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(sidepckt_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(sidepckt_colorram_w) AM_BASE(&sidepckt_colorram)
AM_RANGE(0x1c00, 0x1fff) AM_RAM // ???
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2100, 0x24ff) AM_RAM // ???
diff --git a/src/mame/drivers/slapfght.c b/src/mame/drivers/slapfght.c
index ecd03f90d67..ac3d6fc9f5b 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -413,8 +413,8 @@ static ADDRESS_MAP_START( perfrman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */
- AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
+ AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&slapfight_colorram)
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END
@@ -423,14 +423,14 @@ static ADDRESS_MAP_START( tigerh_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&slapfight_colorram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_videoram) AM_SIZE(&slapfight_videoram_size)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_colorram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_fixvideoram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( slapfght_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -439,15 +439,15 @@ static ADDRESS_MAP_START( slapfght_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&slapfight_colorram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
// AM_RANGE(0xe803, 0xe803) AM_READ(mcu_r) // MCU lives here
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_videoram) AM_SIZE(&slapfight_videoram_size)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_colorram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_fixvideoram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( slapbtuk_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -456,16 +456,16 @@ static ADDRESS_MAP_START( slapbtuk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
+ AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE(&slapfight_colorram)
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
AM_RANGE(0xe803, 0xe803) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
// AM_RANGE(0xe803, 0xe803) AM_READ(getstar_e803_r)
AM_RANGE(0xec00, 0xefff) AM_ROM // it reads a copy of the logo from here!
- AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_videoram) AM_SIZE(&slapfight_videoram_size)
- AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_colorram)
+ AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(slapfight_fixram_w) AM_BASE(&slapfight_fixvideoram)
+ AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( slapfght_io_map, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index b5c33907699..40935ef9d5f 100644
--- a/src/mame/drivers/sliver.c
+++ b/src/mame/drivers/sliver.c
@@ -90,6 +90,7 @@ static int jpeg_y=0;
static int tmp_counter;
static int clr_offset=0;
+static UINT8 *colorram;
static bitmap_t *sliver_bitmap_fg;
static bitmap_t *sliver_bitmap_bg;
@@ -183,7 +184,7 @@ static WRITE16_HANDLER( sliver_RAMDAC_offset_w )
static WRITE16_HANDLER( sliver_RAMDAC_color_w )
{
- space->machine->generic.colorram.u8[clr_offset]=data;
+ colorram[clr_offset]=data;
clr_offset=(clr_offset+1)%768;
}
@@ -214,9 +215,9 @@ static void plot_pixel_pal(running_machine *machine, int x, int y, int addr)
if(y<0 ||x<0 || x>383 || y> 255) return;
addr*=3;
- b=machine->generic.colorram.u8[addr]<<2;
- g=machine->generic.colorram.u8[addr+1]<<2;
- r=machine->generic.colorram.u8[addr+2]<<2;
+ b=colorram[addr]<<2;
+ g=colorram[addr+1]<<2;
+ r=colorram[addr+2]<<2;
if (sliver_bitmap_fg->bpp == 32)
{
@@ -590,7 +591,7 @@ ROM_END
static DRIVER_INIT(sliver)
{
jpeg_addr = -1;
- machine->generic.colorram.u8=auto_alloc_array(machine, UINT8, 256*3);
+ colorram=auto_alloc_array(machine, UINT8, 256*3);
}
GAME( 1996, sliver, 0, sliver, sliver, sliver, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index 00181defea6..d4271a4d70e 100644
--- a/src/mame/drivers/snk6502.c
+++ b/src/mame/drivers/snk6502.c
@@ -322,8 +322,8 @@ static CUSTOM_INPUT( sasuke_count_r )
static ADDRESS_MAP_START( sasuke_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&snk6502_colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -341,8 +341,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( satansat_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&snk6502_colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -360,8 +360,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( vanguard_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&snk6502_colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -381,8 +381,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( fantasy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&snk6502_colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x2001, 0x2001) AM_DEVWRITE("crtc", mc6845_register_w)
@@ -401,8 +401,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pballoon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2)
- AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
+ AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE(&snk6502_colorram)
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x9fff) AM_ROM
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("crtc", mc6845_address_w)
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index f92172021a8..92206609acf 100644
--- a/src/mame/drivers/snookr10.c
+++ b/src/mame/drivers/snookr10.c
@@ -368,6 +368,9 @@
/* from video */
+extern UINT8 *snookr10_videoram;
+extern UINT8 *snookr10_colorram;
+
WRITE8_HANDLER( snookr10_videoram_w );
WRITE8_HANDLER( snookr10_colorram_w );
PALETTE_INIT( snookr10 );
@@ -514,8 +517,8 @@ static ADDRESS_MAP_START( snookr10_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x3004, 0x3004) AM_READ(dsw_port_1_r) /* complement of DS1, bit 7 */
AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&snookr10_videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&snookr10_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -528,8 +531,8 @@ static ADDRESS_MAP_START( tenballs_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4003, 0x4003) AM_READ_PORT("SW1") /* DS1 */
AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */
- AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&snookr10_videoram)
+ AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&snookr10_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index daa160a93d7..3fe95ae47b1 100644
--- a/src/mame/drivers/solomon.c
+++ b/src/mame/drivers/solomon.c
@@ -10,6 +10,8 @@ driver by Mirko Buffoni
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
+extern UINT8 *solomon_videoram;
+extern UINT8 *solomon_colorram;
extern UINT8 *solomon_videoram2;
extern UINT8 *solomon_colorram2;
@@ -53,8 +55,8 @@ static READ8_HANDLER( solomon_0xe603_r )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE_GENERIC(colorram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE(&solomon_colorram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE(&solomon_videoram)
AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(solomon_colorram2_w) AM_BASE(&solomon_colorram2)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_BASE(&solomon_videoram2)
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index a96d24b058b..f032215ee0c 100644
--- a/src/mame/drivers/spcforce.c
+++ b/src/mame/drivers/spcforce.c
@@ -37,6 +37,8 @@ a000-a3ff R/W X/Y scroll position of each character (can be scrolled up
#include "sound/sn76496.h"
+extern UINT8 *spcforce_videoram;
+extern UINT8 *spcforce_colorram;
extern UINT8 *spcforce_scrollram;
WRITE8_HANDLER( spcforce_flip_screen_w );
@@ -91,8 +93,8 @@ static ADDRESS_MAP_START( spcforce_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x700b, 0x700b) AM_WRITE(spcforce_flip_screen_w)
AM_RANGE(0x700e, 0x700e) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x700f, 0x700f) AM_WRITENOP
- AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
- AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE(&spcforce_videoram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&spcforce_colorram)
AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spcforce_scrollram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 021b46631fa..a263ce8fe90 100644
--- a/src/mame/drivers/speedatk.c
+++ b/src/mame/drivers/speedatk.c
@@ -79,6 +79,8 @@ PS / PD : key matrix
#include "sound/ay8910.h"
#include "video/mc6845.h"
+extern UINT8 *speedatk_videoram;
+extern UINT8 *speedatk_colorram;
static UINT8 mux_data;
static UINT8 km_status,coin_settings;
@@ -189,8 +191,8 @@ static ADDRESS_MAP_START( speedatk_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
AM_RANGE(0x8800, 0x8fff) AM_RAM
- AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE(&speedatk_videoram)
+ AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE(&speedatk_colorram)
ADDRESS_MAP_END
static ADDRESS_MAP_START( speedatk_io, ADDRESS_SPACE_IO, 8 )
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index df8b7f3e17f..2812fce0991 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -94,11 +94,13 @@ Note
static UINT8 *spool99_main;
static tilemap *sc0_tilemap;
+static UINT8 *spool99_cram;
+static UINT8 *spool99_vram;
static TILE_GET_INFO( get_spool99_tile_info )
{
- int code = ((machine->generic.videoram.u8[tile_index*2+1]<<8) | (machine->generic.videoram.u8[tile_index*2+0]));
- int color = machine->generic.colorram.u8[tile_index*2+0];
+ int code = ((spool99_vram[tile_index*2+1]<<8) | (spool99_vram[tile_index*2+0]));
+ int color = spool99_cram[tile_index*2+0];
SET_TILE_INFO(
0,
@@ -120,13 +122,13 @@ static VIDEO_UPDATE(spool99)
static WRITE8_HANDLER( spool99_vram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ spool99_vram[offset] = data;
tilemap_mark_tile_dirty(sc0_tilemap,offset/2);
}
static WRITE8_HANDLER( spool99_cram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ spool99_cram[offset] = data;
tilemap_mark_tile_dirty(sc0_tilemap,offset/2);
}
@@ -193,8 +195,8 @@ static ADDRESS_MAP_START( spool99_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0xb800, 0xdfff) AM_RAM
- AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE(&spool99_vram)
+ AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_BASE(&spool99_cram)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index b5aab27a089..ee994c85459 100644
--- a/src/mame/drivers/ssozumo.c
+++ b/src/mame/drivers/ssozumo.c
@@ -13,6 +13,8 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
#include "sound/ay8910.h"
#include "sound/dac.h"
+extern UINT8 *ssozumo_videoram;
+extern UINT8 *ssozumo_colorram;
extern UINT8 *ssozumo_videoram2;
extern UINT8 *ssozumo_colorram2;
@@ -40,8 +42,8 @@ static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2)
AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ssozumo_colorram2_w) AM_BASE(&ssozumo_colorram2)
- AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE(&ssozumo_videoram)
+ AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&ssozumo_colorram)
AM_RANGE(0x3400, 0x35ff) AM_RAM
AM_RANGE(0x3600, 0x37ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w)
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index c2ee860501e..3ddefcff6df 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -26,6 +26,8 @@ To enter test mode in smoto, keep F2 pressed during boot.
Video Hardware
***************************************************************************/
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *tmap;
static int tiles_offset;
@@ -38,19 +40,19 @@ static WRITE8_HANDLER( subsino_tiles_offset_w )
static WRITE8_HANDLER( subsino_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static WRITE8_HANDLER( subsino_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset);
}
static TILE_GET_INFO( get_tile_info )
{
- UINT16 code = machine->generic.videoram.u8[ tile_index ] + (machine->generic.colorram.u8[ tile_index ] << 8);
+ UINT16 code = videoram[ tile_index ] + (colorram[ tile_index ] << 8);
UINT16 color = (code >> 8) & 0x0f;
code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
code += tiles_offset;
@@ -162,8 +164,8 @@ static ADDRESS_MAP_START( srider_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0d01b, 0x0d01b ) AM_WRITE( subsino_tiles_offset_w )
- AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
- AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
+ AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
+ AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
ADDRESS_MAP_END
@@ -190,8 +192,8 @@ static ADDRESS_MAP_START( sharkpy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0901b, 0x0901b ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM
- AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
- AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
+ AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
+ AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions
ADDRESS_MAP_END
@@ -220,8 +222,8 @@ static ADDRESS_MAP_START( victor21_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0900d, 0x0900d ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM
- AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
- AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
+ AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
+ AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x10000, 0x13fff ) AM_ROM
@@ -315,8 +317,8 @@ static ADDRESS_MAP_START( crsbingo_map, ADDRESS_SPACE_PROGRAM, 8 )
// AM_RANGE( 0x0900d, 0x0900d ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM
- AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram )
- AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram )
+ AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
+ AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 5c9fc92f324..d0777198967 100644
--- a/src/mame/drivers/tagteam.c
+++ b/src/mame/drivers/tagteam.c
@@ -30,6 +30,9 @@ TODO:
#include "sound/ay8910.h"
#include "sound/dac.h"
+extern UINT8 *tagteam_videoram;
+extern UINT8 *tagteam_colorram;
+
extern WRITE8_HANDLER( tagteam_videoram_w );
extern WRITE8_HANDLER( tagteam_colorram_w );
extern READ8_HANDLER( tagteam_mirrorvideoram_r );
@@ -60,8 +63,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READONLY
- AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE(&tagteam_videoram)
+ AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE(&tagteam_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 42b44829554..ae1d34bc59b 100644
--- a/src/mame/drivers/tankbust.c
+++ b/src/mame/drivers/tankbust.c
@@ -25,6 +25,8 @@ VIDEO_START( tankbust );
VIDEO_UPDATE( tankbust );
extern UINT8 *tankbust_txtram;
+extern UINT8 *tankbust_videoram;
+extern UINT8 *tankbust_colorram;
WRITE8_HANDLER( tankbust_background_videoram_w );
READ8_HANDLER ( tankbust_background_videoram_r );
@@ -196,8 +198,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank2")
- AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(tankbust_background_videoram_r, tankbust_background_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xc800, 0xcfff) AM_READWRITE(tankbust_background_colorram_r, tankbust_background_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(tankbust_background_videoram_r, tankbust_background_videoram_w) AM_BASE(&tankbust_videoram)
+ AM_RANGE(0xc800, 0xcfff) AM_READWRITE(tankbust_background_colorram_r, tankbust_background_colorram_w) AM_BASE(&tankbust_colorram)
AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(tankbust_txtram_r, tankbust_txtram_w) AM_BASE(&tankbust_txtram)
AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe007) AM_READWRITE(debug_output_area_r, tankbust_e0xx_w)
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index b0c44d729be..461217f4871 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -22,12 +22,14 @@
#include "cpu/z80/z80.h"
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *tmap;
static TILE_GET_INFO( get_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int color=machine->generic.colorram.u8[tile_index];
+ int code = videoram[tile_index];
+ int color = colorram[tile_index];
if((color&1 ) || (color>15) )
logerror("COLOR %i\n",color);
@@ -56,8 +58,8 @@ static VIDEO_START( tattack )
static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM
// AM_RANGE(0x4000, 0x4000) AM_READNOP $315
- AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_GENERIC(videoram)
- AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE_GENERIC(colorram) // color map ? something else .. only bits 1-3 are used
+ AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(&videoram)
+ AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE(&colorram) // color map ? something else .. only bits 1-3 are used
AM_RANGE(0x6000, 0x6000) AM_READ_PORT("DSW2")
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1") // dsw ? something else ?
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("INPUTS") AM_WRITENOP
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index 9215af37945..b3305a2a3c0 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -94,6 +94,8 @@ TO DO :
#include "sound/msm5205.h"
#include "gridiron.lh"
+extern UINT8 *tehkanwc_videoram;
+extern UINT8 *tehkanwc_colorram;
extern UINT8 *tehkanwc_videoram2;
extern WRITE8_HANDLER( tehkanwc_videoram_w );
@@ -232,8 +234,8 @@ static ADDRESS_MAP_START( main_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
- AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(tehkanwc_videoram_w) AM_SHARE("share2") AM_BASE_GENERIC(videoram)
- AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(tehkanwc_colorram_w) AM_SHARE("share3") AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(tehkanwc_videoram_w) AM_SHARE("share2") AM_BASE(&tehkanwc_videoram)
+ AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(tehkanwc_colorram_w) AM_SHARE("share3") AM_BASE(&tehkanwc_colorram)
AM_RANGE(0xd800, 0xddff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_be_w) AM_SHARE("share4") AM_BASE_GENERIC(paletteram)
AM_RANGE(0xde00, 0xdfff) AM_RAM AM_SHARE("share5") /* unused part of the palette RAM, I think? Gridiron uses it */
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(tehkanwc_videoram2_w) AM_SHARE("share6") AM_BASE(&tehkanwc_videoram2)
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index 8173faa97d0..558314ea3c7 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -37,6 +37,9 @@ Daughterboard: Custom made, plugged in the 2 roms and Z80 mainboard sockets.
#include "sound/dac.h"
/* from video */
+extern UINT8 *trucocl_videoram;
+extern UINT8 *trucocl_colorram;
+
WRITE8_HANDLER( trucocl_videoram_w );
WRITE8_HANDLER( trucocl_colorram_w );
PALETTE_INIT( trucocl );
@@ -88,8 +91,8 @@ static WRITE8_DEVICE_HANDLER( audio_dac_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE(&trucocl_videoram)
+ AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE(&trucocl_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0")
diff --git a/src/mame/drivers/tsamurai.c b/src/mame/drivers/tsamurai.c
index cf81f8520f4..8b5dc7e2c33 100644
--- a/src/mame/drivers/tsamurai.c
+++ b/src/mame/drivers/tsamurai.c
@@ -47,6 +47,10 @@ TODO:
#include "sound/ay8910.h"
#include "sound/dac.h"
+extern UINT8 *tsamurai_videoram;
+extern UINT8 *tsamurai_colorram;
+extern UINT8 *tsamurai_bg_videoram;
+
WRITE8_HANDLER( vsgongf_color_w );
WRITE8_HANDLER( tsamurai_bgcolor_w );
@@ -60,7 +64,6 @@ WRITE8_HANDLER( tsamurai_bg_videoram_w );
WRITE8_HANDLER( tsamurai_fg_videoram_w );
WRITE8_HANDLER( tsamurai_fg_colorram_w );
extern VIDEO_START( tsamurai );
-extern UINT8 *tsamurai_videoram;
extern VIDEO_START( vsgongf );
extern VIDEO_UPDATE( vsgongf );
@@ -142,10 +145,10 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_r)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&tsamurai_videoram)
+ AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&tsamurai_colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_videoram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_bg_videoram)
AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP
@@ -175,10 +178,10 @@ static ADDRESS_MAP_START( m660_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_r)
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&tsamurai_videoram)
+ AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&tsamurai_colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM
- AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_videoram)
+ AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(tsamurai_bg_videoram_w) AM_BASE(&tsamurai_bg_videoram)
AM_RANGE(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP/* This is always written with F401, F402 & F403 data */
@@ -335,7 +338,7 @@ static ADDRESS_MAP_START( vsgongf_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa006, 0xa006) AM_READ(vsgongf_a006_r) /* protection */
AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* work ram */
- AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE_GENERIC(videoram)
+ AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(tsamurai_fg_videoram_w) AM_BASE(&tsamurai_videoram)
AM_RANGE(0xe400, 0xe43f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe440, 0xe47b) AM_RAM
AM_RANGE(0xe800, 0xe800) AM_WRITE(vsgongf_sound_command_w)
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index db7be4a6401..b67d3076d20 100644
--- a/src/mame/drivers/vroulet.c
+++ b/src/mame/drivers/vroulet.c
@@ -42,6 +42,8 @@ Tomasz Slanina 20050225
/* video */
static UINT8 *vroulet_ball;
+static UINT8 *videoram;
+static UINT8 *colorram;
static tilemap *bg_tilemap;
static WRITE8_HANDLER(vroulet_paletteram_w)
@@ -66,20 +68,20 @@ static WRITE8_HANDLER(vroulet_paletteram_w)
static WRITE8_HANDLER( vroulet_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static WRITE8_HANDLER( vroulet_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0xc0) << 2);
+ int attr = colorram[tile_index];
+ int code = videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x1f;
SET_TILE_INFO(0, code, color, 0);
@@ -105,8 +107,8 @@ static ADDRESS_MAP_START( vroulet_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x8000, 0x8000) AM_NOP
- AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE_GENERIC(videoram)
- AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE(&videoram)
+ AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE(&colorram)
AM_RANGE(0xa000, 0xa001) AM_RAM AM_BASE(&vroulet_ball)
AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc000, 0xc000) AM_NOP
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index 2c2218c0077..35c6e886692 100644
--- a/src/mame/drivers/wiping.c
+++ b/src/mame/drivers/wiping.c
@@ -85,8 +85,8 @@ static WRITE8_HANDLER( subcpu_reset_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM
- AM_RANGE(0x8000, 0x83ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */
- AM_RANGE(0x8400, 0x87ff) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0x8000, 0x83ff) AM_BASE(&wiping_videoram)
+ AM_RANGE(0x8400, 0x87ff) AM_BASE(&wiping_colorram)
AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x8bff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1)
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 64a0c44eef0..8549e3edb9a 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -239,7 +239,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xd840, 0xd85f) AM_BASE_GENERIC(spriteram2) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd85f) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */
- AM_RANGE(0xe400, 0xe7ff) AM_BASE_GENERIC(colorram)
+ AM_RANGE(0xe400, 0xe7ff) AM_RAM
AM_RANGE(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe85f) AM_RAM
diff --git a/src/mame/includes/bagman.h b/src/mame/includes/bagman.h
index 8b168b01785..cca7ebcc72b 100644
--- a/src/mame/includes/bagman.h
+++ b/src/mame/includes/bagman.h
@@ -7,6 +7,8 @@ WRITE8_HANDLER( bagman_pal16r6_w );
/*----------- defined in video/bagman.c -----------*/
+extern UINT8 *bagman_videoram;
+extern UINT8 *bagman_colorram;
extern UINT8 *bagman_video_enable;
WRITE8_HANDLER( bagman_videoram_w );
diff --git a/src/mame/includes/matmania.h b/src/mame/includes/matmania.h
index c4be2f59d9a..fc6846d9db6 100644
--- a/src/mame/includes/matmania.h
+++ b/src/mame/includes/matmania.h
@@ -16,6 +16,8 @@ READ8_HANDLER( maniach_mcu_status_r );
/*----------- defined in video/matmania.c -----------*/
+extern UINT8 *matmania_videoram,*matmania_colorram;
+extern size_t matmania_videoram_size;
extern UINT8 *matmania_videoram2,*matmania_colorram2;
extern size_t matmania_videoram2_size;
extern UINT8 *matmania_videoram3,*matmania_colorram3;
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index 7e1b7e9f308..97292c67a7a 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -6,6 +6,9 @@
/*----------- defined in video/pacman.c -----------*/
+extern UINT8 *pacman_videoram;
+extern UINT8 *pacman_colorram;
+
PALETTE_INIT( pacman );
VIDEO_START( pacman );
VIDEO_UPDATE( pacman );
diff --git a/src/mame/includes/slapfght.h b/src/mame/includes/slapfght.h
index 98e0f58c891..6f29924addb 100644
--- a/src/mame/includes/slapfght.h
+++ b/src/mame/includes/slapfght.h
@@ -72,7 +72,8 @@ INTERRUPT_GEN( getstar_interrupt );
extern UINT8 *slapfight_videoram;
extern UINT8 *slapfight_colorram;
-extern size_t slapfight_videoram_size;
+extern UINT8 *slapfight_fixvideoram;
+extern UINT8 *slapfight_fixcolorram;
extern UINT8 *slapfight_scrollx_lo,*slapfight_scrollx_hi,*slapfight_scrolly;
VIDEO_UPDATE( slapfight );
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index c4c5a7a5936..3f2e5d2bba7 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -41,6 +41,8 @@ DISCRETE_SOUND_EXTERN( fantasy );
/*----------- defined in video/snk6502.c -----------*/
+extern UINT8 *snk6502_videoram;
+extern UINT8 *snk6502_colorram;
extern UINT8 *snk6502_videoram2;
extern UINT8 *snk6502_charram;
diff --git a/src/mame/includes/wiping.h b/src/mame/includes/wiping.h
index 451f451a93e..c512cd6f8cf 100644
--- a/src/mame/includes/wiping.h
+++ b/src/mame/includes/wiping.h
@@ -10,6 +10,9 @@ WRITE8_HANDLER( wiping_sound_w );
/*----------- defined in video/wiping.c -----------*/
+extern UINT8 *wiping_videoram;
+extern UINT8 *wiping_colorram;
+
WRITE8_HANDLER( wiping_flipscreen_w );
PALETTE_INIT( wiping );
VIDEO_UPDATE( wiping );
diff --git a/src/mame/video/bagman.c b/src/mame/video/bagman.c
index 9c04d78222c..f008ffe96e4 100644
--- a/src/mame/video/bagman.c
+++ b/src/mame/video/bagman.c
@@ -13,18 +13,20 @@
UINT8 *bagman_video_enable;
+UINT8 *bagman_videoram;
+UINT8 *bagman_colorram;
static tilemap *bg_tilemap;
WRITE8_HANDLER( bagman_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ bagman_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( bagman_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ bagman_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -95,9 +97,9 @@ WRITE8_HANDLER( bagman_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int gfxbank = (machine->gfx[2] && (machine->generic.colorram.u8[tile_index] & 0x10)) ? 2 : 0;
- int code = machine->generic.videoram.u8[tile_index] + 8 * (machine->generic.colorram.u8[tile_index] & 0x20);
- int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int gfxbank = (machine->gfx[2] && (bagman_colorram[tile_index] & 0x10)) ? 2 : 0;
+ int code = bagman_videoram[tile_index] + 8 * (bagman_colorram[tile_index] & 0x20);
+ int color = bagman_colorram[tile_index] & 0x0f;
SET_TILE_INFO(gfxbank, code, color, 0);
}
diff --git a/src/mame/video/calomega.c b/src/mame/video/calomega.c
index ba809ca3412..2dbbe3e8ff2 100644
--- a/src/mame/video/calomega.c
+++ b/src/mame/video/calomega.c
@@ -15,17 +15,19 @@
#include "driver.h"
+UINT8 *calomega_videoram;
+UINT8 *calomega_colorram;
static tilemap *bg_tilemap;
WRITE8_HANDLER( calomega_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ calomega_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( calomega_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ calomega_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -37,8 +39,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank.
xx-- ---x seems unused. */
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index];
+ int attr = calomega_colorram[tile_index];
+ int code = calomega_videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color */
diff --git a/src/mame/video/funworld.c b/src/mame/video/funworld.c
index 0a63b95ae08..ff2072269f1 100644
--- a/src/mame/video/funworld.c
+++ b/src/mame/video/funworld.c
@@ -61,6 +61,8 @@
#include "video/resnet.h"
static tilemap *bg_tilemap;
+UINT8 *funworld_colorram;
+UINT8 *funworld_videoram;
/***** RESISTORS *****
@@ -119,13 +121,13 @@ PALETTE_INIT(funworld)
WRITE8_HANDLER( funworld_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ funworld_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( funworld_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ funworld_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -146,9 +148,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx unused.
*/
int offs = tile_index;
- int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
+ int attr = funworld_videoram[offs] + (funworld_colorram[offs] << 8);
int code = attr & 0xfff;
- int color = machine->generic.colorram.u8[offs] >> 4; // 4 bits for color.
+ int color = funworld_colorram[offs] >> 4; // 4 bits for color.
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index a93a606b88a..324320c8a60 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -9,6 +9,8 @@
#include "driver.h"
UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll;
+UINT8 *goldstar_fg_atrram;
+UINT8 *goldstar_fg_vidram;
static int bgcolor;
@@ -55,20 +57,20 @@ WRITE8_HANDLER( cm_outport0_w )
WRITE8_HANDLER( goldstar_fg_vidram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ goldstar_fg_vidram[offset] = data;
tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
}
WRITE8_HANDLER( goldstar_fg_atrram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ goldstar_fg_atrram[offset] = data;
tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
}
static TILE_GET_INFO( get_goldstar_fg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int attr = machine->generic.colorram.u8[tile_index];
+ int code = goldstar_fg_vidram[tile_index];
+ int attr = goldstar_fg_atrram[tile_index];
SET_TILE_INFO(
0,
@@ -80,8 +82,8 @@ static TILE_GET_INFO( get_goldstar_fg_tile_info )
// colour / high tile bits are swapped around
static TILE_GET_INFO( get_cherrym_fg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int attr = machine->generic.colorram.u8[tile_index];
+ int code = goldstar_fg_vidram[tile_index];
+ int attr = goldstar_fg_atrram[tile_index];
SET_TILE_INFO(
0,
diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c
index 560e030004d..3730bed9d89 100644
--- a/src/mame/video/liberate.c
+++ b/src/mame/video/liberate.c
@@ -12,6 +12,8 @@
#include "driver.h"
#include "cpu/m6502/m6502.h"
+UINT8 *liberate_videoram;
+UINT8 *liberate_colorram;
static int background_color, background_disable;
static tilemap *background_tilemap, *fix_tilemap;
static UINT8 deco16_io_ram[16];
@@ -70,8 +72,8 @@ static TILE_GET_INFO( get_back_tile_info )
static TILE_GET_INFO( get_fix_tile_info )
{
- UINT8 *videoram = machine->generic.videoram.u8;
- UINT8 *colorram = machine->generic.colorram.u8;
+ UINT8 *videoram = liberate_videoram;
+ UINT8 *colorram = liberate_colorram;
int tile, color;
tile = videoram[tile_index] + (colorram[tile_index] << 8);
@@ -183,13 +185,13 @@ WRITE8_HANDLER( prosport_io_w )
WRITE8_HANDLER( liberate_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ liberate_videoram[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset);
}
WRITE8_HANDLER( liberate_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ liberate_colorram[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset);
}
@@ -527,7 +529,7 @@ VIDEO_UPDATE( prosport )
for (offs = 0;offs < 0x400;offs++)
{
- tile=screen->machine->generic.videoram.u8[offs]+((screen->machine->generic.colorram.u8[offs]&0x3)<<8);
+ tile=liberate_videoram[offs]+((liberate_colorram[offs]&0x3)<<8);
if(deco16_io_ram[0]&0x40) //dynamic ram-based gfxs for Pro Golf
gfx_region = 3;
diff --git a/src/mame/video/lvcards.c b/src/mame/video/lvcards.c
index c506cc735e7..d3a58745027 100644
--- a/src/mame/video/lvcards.c
+++ b/src/mame/video/lvcards.c
@@ -8,6 +8,8 @@
#include "driver.h"
+UINT8 *lvcards_videoram;
+UINT8 *lvcards_colorram;
static tilemap *bg_tilemap;
PALETTE_INIT( ponttehk )
@@ -82,20 +84,20 @@ PALETTE_INIT( lvcards ) //Ever so slightly different, but different enough.
WRITE8_HANDLER( lvcards_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ lvcards_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( lvcards_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ lvcards_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
+ int attr = lvcards_colorram[tile_index];
+ int code = lvcards_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
int color = attr & 0x0f;
int flags = (attr & 0x40) ? TILE_FLIPX : 0;
diff --git a/src/mame/video/matmania.c b/src/mame/video/matmania.c
index ab173ed22c7..891c5e2de94 100644
--- a/src/mame/video/matmania.c
+++ b/src/mame/video/matmania.c
@@ -17,6 +17,8 @@
+UINT8 *matmania_videoram,*matmania_colorram;
+size_t matmania_videoram_size;
UINT8 *matmania_videoram2,*matmania_colorram2;
size_t matmania_videoram2_size;
UINT8 *matmania_videoram3,*matmania_colorram3;
@@ -144,7 +146,7 @@ VIDEO_UPDATE( matmania )
/* Update the tiles in the left tile ram bank */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = matmania_videoram_size - 1;offs >= 0;offs--)
{
int sx,sy;
@@ -153,8 +155,8 @@ VIDEO_UPDATE( matmania )
sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
- screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x08) << 5),
- (screen->machine->generic.colorram.u8[offs] & 0x30) >> 4,
+ matmania_videoram3[offs] + ((matmania_colorram[offs] & 0x08) << 5),
+ (matmania_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy);
}
@@ -228,7 +230,7 @@ VIDEO_UPDATE( maniach )
/* Update the tiles in the left tile ram bank */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = matmania_videoram_size - 1;offs >= 0;offs--)
{
int sx,sy;
@@ -237,8 +239,8 @@ VIDEO_UPDATE( maniach )
sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
- screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x03) << 8),
- (screen->machine->generic.colorram.u8[offs] & 0x30) >> 4,
+ matmania_videoram[offs] + ((matmania_colorram[offs] & 0x03) << 8),
+ (matmania_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy);
}
diff --git a/src/mame/video/megazone.c b/src/mame/video/megazone.c
index 750745e46f5..e2645d00f92 100644
--- a/src/mame/video/megazone.c
+++ b/src/mame/video/megazone.c
@@ -13,8 +13,11 @@ UINT8 *megazone_scrollx;
UINT8 *megazone_scrolly;
static int flipscreen;
+UINT8 *megazone_videoram;
+UINT8 *megazone_colorram;
UINT8 *megazone_videoram2;
UINT8 *megazone_colorram2;
+size_t megazone_videoram_size;
size_t megazone_videoram2_size;
/***************************************************************************
@@ -119,14 +122,14 @@ VIDEO_UPDATE( megazone )
int x,y;
/* for every character in the Video RAM */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = megazone_videoram_size - 1;offs >= 0;offs--)
{
int sx,sy,flipx,flipy;
sx = offs % 32;
sy = offs / 32;
- flipx = screen->machine->generic.colorram.u8[offs] & (1<<6);
- flipy = screen->machine->generic.colorram.u8[offs] & (1<<5);
+ flipx = megazone_colorram[offs] & (1<<6);
+ flipy = megazone_colorram[offs] & (1<<5);
if (flipscreen)
{
sx = 31 - sx;
@@ -136,8 +139,8 @@ VIDEO_UPDATE( megazone )
}
drawgfx_opaque(screen->machine->generic.tmpbitmap,0,screen->machine->gfx[1],
- ((int)screen->machine->generic.videoram.u8[offs]) + ((screen->machine->generic.colorram.u8[offs] & (1<<7) ? 256 : 0) ),
- (screen->machine->generic.colorram.u8[offs] & 0x0f) + 0x10,
+ ((int)megazone_videoram[offs]) + ((megazone_colorram[offs] & (1<<7) ? 256 : 0) ),
+ (megazone_colorram[offs] & 0x0f) + 0x10,
flipx,flipy,
8*sx,8*sy);
}
diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c
index 9831d47864c..a0ca3d4d1d1 100644
--- a/src/mame/video/mermaid.c
+++ b/src/mame/video/mermaid.c
@@ -2,6 +2,8 @@
static tilemap *bg_tilemap, *fg_tilemap;
+UINT8* mermaid_videoram;
+UINT8* mermaid_colorram;
UINT8* mermaid_videoram2;
UINT8* mermaid_bg_scrollram;
UINT8* mermaid_fg_scrollram;
@@ -62,13 +64,13 @@ WRITE8_HANDLER( mermaid_videoram2_w )
WRITE8_HANDLER( mermaid_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ mermaid_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( mermaid_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ mermaid_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -143,8 +145,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4);
+ int attr = mermaid_colorram[tile_index];
+ int code = mermaid_videoram[tile_index] + ((attr & 0x30) << 4);
int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
diff --git a/src/mame/video/mikie.c b/src/mame/video/mikie.c
index ddbc461c714..c465ea8265b 100644
--- a/src/mame/video/mikie.c
+++ b/src/mame/video/mikie.c
@@ -11,6 +11,8 @@
static int palettebank;
+UINT8 *mikie_videoram;
+UINT8 *mikie_colorram;
static tilemap *bg_tilemap;
/***************************************************************************
@@ -92,13 +94,13 @@ PALETTE_INIT( mikie )
WRITE8_HANDLER( mikie_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ mikie_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( mikie_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ mikie_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -122,9 +124,9 @@ WRITE8_HANDLER( mikie_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x20) << 3);
- int color = (machine->generic.colorram.u8[tile_index] & 0x0f) + 16 * palettebank;
- int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = mikie_videoram[tile_index] + ((mikie_colorram[tile_index] & 0x20) << 3);
+ int color = (mikie_colorram[tile_index] & 0x0f) + 16 * palettebank;
+ int flags = ((mikie_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((mikie_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
diff --git a/src/mame/video/mouser.c b/src/mame/video/mouser.c
index 1bb98004c90..e568571f8fb 100644
--- a/src/mame/video/mouser.c
+++ b/src/mame/video/mouser.c
@@ -15,6 +15,9 @@
#include "driver.h"
+UINT8 *mouser_videoram;
+UINT8 *mouser_colorram;
+
PALETTE_INIT( mouser )
{
int i;
@@ -61,7 +64,7 @@ VIDEO_UPDATE( mouser )
int flipx,flipy;
/* for every character in the Video RAM */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = 0x3ff; offs >= 0; offs--)
{
int scrolled_y_position;
int color_offs;
@@ -89,8 +92,8 @@ VIDEO_UPDATE( mouser )
color_offs = offs%32 + ((256 + 8*(offs/32) - spriteram[offs%32])%256)/8*32;
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- screen->machine->generic.videoram.u8[offs] | (screen->machine->generic.colorram.u8[color_offs]>>5)*256 | ((screen->machine->generic.colorram.u8[color_offs]>>4)&1)*512,
- screen->machine->generic.colorram.u8[color_offs]%16,
+ mouser_videoram[offs] | (mouser_colorram[color_offs]>>5)*256 | ((mouser_colorram[color_offs]>>4)&1)*512,
+ mouser_colorram[color_offs]%16,
flip_screen_x_get(screen->machine),flip_screen_y_get(screen->machine),
8*sx,scrolled_y_position);
}
diff --git a/src/mame/video/mrjong.c b/src/mame/video/mrjong.c
index 64bf57cf084..f4c90a6d02d 100644
--- a/src/mame/video/mrjong.c
+++ b/src/mame/video/mrjong.c
@@ -8,6 +8,8 @@
#include "driver.h"
+UINT8 *mrjong_videoram;
+UINT8 *mrjong_colorram;
static tilemap *bg_tilemap;
/***************************************************************************
@@ -68,13 +70,13 @@ PALETTE_INIT( mrjong )
***************************************************************************/
WRITE8_HANDLER( mrjong_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ mrjong_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( mrjong_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ mrjong_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -89,9 +91,9 @@ WRITE8_HANDLER( mrjong_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] | ((machine->generic.colorram.u8[tile_index] & 0x20) << 3);
- int color = machine->generic.colorram.u8[tile_index] & 0x1f;
- int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = mrjong_videoram[tile_index] | ((mrjong_colorram[tile_index] & 0x20) << 3);
+ int color = mrjong_colorram[tile_index] & 0x1f;
+ int flags = ((mrjong_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((mrjong_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
@@ -115,13 +117,13 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
int sx, sy;
int flipx, flipy;
- sprt = (((machine->generic.videoram.u8[offs + 1] >> 2) & 0x3f) | ((machine->generic.videoram.u8[offs + 3] & 0x20) << 1));
- flipx = (machine->generic.videoram.u8[offs + 1] & 0x01) >> 0;
- flipy = (machine->generic.videoram.u8[offs + 1] & 0x02) >> 1;
- color = (machine->generic.videoram.u8[offs + 3] & 0x1f);
+ sprt = (((mrjong_videoram[offs + 1] >> 2) & 0x3f) | ((mrjong_videoram[offs + 3] & 0x20) << 1));
+ flipx = (mrjong_videoram[offs + 1] & 0x01) >> 0;
+ flipy = (mrjong_videoram[offs + 1] & 0x02) >> 1;
+ color = (mrjong_videoram[offs + 3] & 0x1f);
- sx = 224 - machine->generic.videoram.u8[offs + 2];
- sy = machine->generic.videoram.u8[offs + 0];
+ sx = 224 - mrjong_videoram[offs + 2];
+ sy = mrjong_videoram[offs + 0];
if (flip_screen_get(machine))
{
sx = 208 - sx;
diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c
index cf3dc0d5ae9..890ee5364bd 100644
--- a/src/mame/video/pacman.c
+++ b/src/mame/video/pacman.c
@@ -20,6 +20,8 @@
#include "includes/pacman.h"
#include "video/resnet.h"
+UINT8 *pacman_videoram;
+UINT8 *pacman_colorram;
static tilemap *bg_tilemap;
static UINT8 charbank;
static UINT8 spritebank;
@@ -152,8 +154,8 @@ static TILEMAP_MAPPER( pacman_scan_rows )
static TILE_GET_INFO( pacman_get_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] | (charbank << 8);
- int attr = (machine->generic.colorram.u8[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
+ int code = pacman_videoram[tile_index] | (charbank << 8);
+ int attr = (pacman_colorram[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0);
}
@@ -198,13 +200,13 @@ VIDEO_START( pacman )
WRITE8_HANDLER( pacman_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ pacman_videoram[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
WRITE8_HANDLER( pacman_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ pacman_colorram[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset );
}
@@ -367,8 +369,8 @@ static TILE_GET_INFO( s2650_get_tile_info )
colbank = s2650games_tileram[tile_index & 0x1f] & 0x3;
- code = machine->generic.videoram.u8[tile_index] + (colbank << 8);
- attr = machine->generic.colorram.u8[tile_index & 0x1f];
+ code = pacman_videoram[tile_index] + (colbank << 8);
+ attr = pacman_colorram[tile_index & 0x1f];
SET_TILE_INFO(0,code,attr & 0x1f,0);
}
@@ -442,14 +444,14 @@ VIDEO_UPDATE( s2650games )
WRITE8_HANDLER( s2650games_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ pacman_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
WRITE8_HANDLER( s2650games_colorram_w )
{
int i;
- space->machine->generic.colorram.u8[offset & 0x1f] = data;
+ pacman_colorram[offset & 0x1f] = data;
for (i = offset; i < 0x0400; i += 32)
tilemap_mark_tile_dirty(bg_tilemap, i);
}
@@ -512,8 +514,8 @@ static TILE_GET_INFO( jrpacman_get_tile_info )
color_index = tile_index + 0x80;
}
- code = machine->generic.videoram.u8[tile_index] | (charbank << 8);
- attr = (machine->generic.videoram.u8[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
+ code = pacman_videoram[tile_index] | (charbank << 8);
+ attr = (pacman_videoram[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0);
}
@@ -567,7 +569,7 @@ VIDEO_START( jrpacman )
WRITE8_HANDLER( jrpacman_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ pacman_videoram[offset] = data;
jrpacman_mark_tile_dirty(offset);
}
diff --git a/src/mame/video/pbaction.c b/src/mame/video/pbaction.c
index ff6deadbb33..0a3ba6e799f 100644
--- a/src/mame/video/pbaction.c
+++ b/src/mame/video/pbaction.c
@@ -8,6 +8,7 @@
#include "driver.h"
+UINT8 *pbaction_videoram, *pbaction_colorram;
UINT8 *pbaction_videoram2, *pbaction_colorram2;
static int scroll;
@@ -16,13 +17,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( pbaction_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ pbaction_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( pbaction_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ pbaction_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -53,8 +54,8 @@ WRITE8_HANDLER( pbaction_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + 0x10 * (attr & 0x70);
+ int attr = pbaction_colorram[tile_index];
+ int code = pbaction_videoram[tile_index] + 0x10 * (attr & 0x70);
int color = attr & 0x07;
int flags = (attr & 0x80) ? TILE_FLIPY : 0;
diff --git a/src/mame/video/pingpong.c b/src/mame/video/pingpong.c
index 050e2eb3cfd..feed3ebb35b 100644
--- a/src/mame/video/pingpong.c
+++ b/src/mame/video/pingpong.c
@@ -9,6 +9,8 @@
#include "driver.h"
static tilemap *bg_tilemap;
+UINT8 *pingpong_videoram;
+UINT8 *pingpong_colorram;
/* This is strange; it's unlikely that the sprites actually have a hardware */
@@ -95,20 +97,20 @@ PALETTE_INIT( pingpong )
WRITE8_HANDLER( pingpong_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ pingpong_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( pingpong_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ pingpong_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3);
+ int attr = pingpong_colorram[tile_index];
+ int code = pingpong_videoram[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x1f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
diff --git a/src/mame/video/popeye.c b/src/mame/video/popeye.c
index 024d0de2d89..05299a1f89e 100644
--- a/src/mame/video/popeye.c
+++ b/src/mame/video/popeye.c
@@ -8,6 +8,8 @@
#include "driver.h"
+UINT8 *popeye_videoram;
+UINT8 *popeye_colorram;
UINT8 *popeye_background_pos;
UINT8 *popeye_palettebank;
static UINT8 *popeye_bitmapram;
@@ -173,13 +175,13 @@ static void set_background_palette(running_machine *machine,int bank)
WRITE8_HANDLER( popeye_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ popeye_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( popeye_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ popeye_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -236,8 +238,8 @@ WRITE8_HANDLER( skyskipr_bitmap_w )
static TILE_GET_INFO( get_fg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int color = machine->generic.colorram.u8[tile_index] & 0x0f;
+ int code = popeye_videoram[tile_index];
+ int color = popeye_colorram[tile_index] & 0x0f;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/rollrace.c b/src/mame/video/rollrace.c
index fc5af4338fc..8afe5e9a2a0 100644
--- a/src/mame/video/rollrace.c
+++ b/src/mame/video/rollrace.c
@@ -1,5 +1,7 @@
#include "driver.h"
+UINT8 *rollrace_videoram;
+UINT8 *rollrace_colorram;
static int ra_charbank[2] = { 0,0 };
static int ra_bkgpage = 0;
@@ -70,7 +72,7 @@ VIDEO_UPDATE( rollrace )
bitmap_fill(bitmap,cliprect,ra_bkgpen);
/* draw road */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = 0x3ff; offs >= 0; offs--)
{
if(!(ra_bkgflip))
{
@@ -138,14 +140,14 @@ VIDEO_UPDATE( rollrace )
/* draw foreground characters */
- for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
+ for (offs = 0x3ff; offs >= 0; offs--)
{
sx = offs % 32;
sy = offs / 32;
- scroll = ( 8 * sy + screen->machine->generic.colorram.u8[2 * sx] ) % 256;
- col = screen->machine->generic.colorram.u8[ sx * 2 + 1 ]&0x1f;
+ scroll = ( 8 * sy + rollrace_colorram[2 * sx] ) % 256;
+ col = rollrace_colorram[ sx * 2 + 1 ]&0x1f;
if (!ra_flipy)
{
@@ -155,7 +157,7 @@ VIDEO_UPDATE( rollrace )
if (ra_flipx) sx = 31 - sx;
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[RA_FGCHAR_BASE + ra_chrbank] ,
- screen->machine->generic.videoram.u8[ offs ] ,
+ rollrace_videoram[ offs ] ,
col,
ra_flipx,ra_flipy,
8*sx,scroll,0);
diff --git a/src/mame/video/scotrsht.c b/src/mame/video/scotrsht.c
index a8ea2c1abb6..786438d6cc3 100644
--- a/src/mame/video/scotrsht.c
+++ b/src/mame/video/scotrsht.c
@@ -2,6 +2,8 @@
UINT8 *scotrsht_scroll;
+UINT8 *scotrsht_videoram;
+UINT8 *scotrsht_colorram;
static tilemap *bg_tilemap;
static int scotrsht_charbank = 0;
static int scotrsht_palette_bank = 0;
@@ -42,13 +44,13 @@ PALETTE_INIT( scotrsht )
WRITE8_HANDLER( scotrsht_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ scotrsht_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( scotrsht_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ scotrsht_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -80,8 +82,8 @@ WRITE8_HANDLER( scotrsht_palettebank_w )
static TILE_GET_INFO( scotrsht_get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
+ int attr = scotrsht_colorram[tile_index];
+ int code = scotrsht_videoram[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + scotrsht_palette_bank * 16;
int flag = 0;
diff --git a/src/mame/video/seicross.c b/src/mame/video/seicross.c
index 4d6dfaf06b6..2a8d3d0dec2 100644
--- a/src/mame/video/seicross.c
+++ b/src/mame/video/seicross.c
@@ -10,6 +10,8 @@
UINT8 *seicross_row_scroll;
+UINT8 *seicross_videoram;
+UINT8 *seicross_colorram;
static tilemap *bg_tilemap;
/***************************************************************************
@@ -58,7 +60,7 @@ PALETTE_INIT( seicross )
WRITE8_HANDLER( seicross_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ seicross_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -69,8 +71,8 @@ WRITE8_HANDLER( seicross_colorram_w )
/* region. */
offset &= 0xffdf;
- space->machine->generic.colorram.u8[offset] = data;
- space->machine->generic.colorram.u8[offset + 0x20] = data;
+ seicross_colorram[offset] = data;
+ seicross_colorram[offset + 0x20] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(bg_tilemap, offset + 0x20);
@@ -78,9 +80,9 @@ WRITE8_HANDLER( seicross_colorram_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x10) << 4);
- int color = machine->generic.colorram.u8[tile_index] & 0x0f;
- int flags = ((machine->generic.colorram.u8[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((machine->generic.colorram.u8[tile_index] & 0x80) ? TILE_FLIPY : 0);
+ int code = seicross_videoram[tile_index] + ((seicross_colorram[tile_index] & 0x10) << 4);
+ int color = seicross_colorram[tile_index] & 0x0f;
+ int flags = ((seicross_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((seicross_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags);
}
diff --git a/src/mame/video/shaolins.c b/src/mame/video/shaolins.c
index 558561cdf42..a775e634bbc 100644
--- a/src/mame/video/shaolins.c
+++ b/src/mame/video/shaolins.c
@@ -12,6 +12,8 @@
extern UINT8 shaolins_nmi_enable;
static int palettebank;
+UINT8 *shaolins_videoram;
+UINT8 *shaolins_colorram;
static tilemap *bg_tilemap;
/***************************************************************************
@@ -93,13 +95,13 @@ PALETTE_INIT( shaolins )
WRITE8_HANDLER( shaolins_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ shaolins_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( shaolins_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ shaolins_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -133,8 +135,8 @@ WRITE8_HANDLER( shaolins_nmi_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x40) << 2);
+ int attr = shaolins_colorram[tile_index];
+ int code = shaolins_videoram[tile_index] + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + 16 * palettebank;
int flags = (attr & 0x20) ? TILE_FLIPY : 0;
diff --git a/src/mame/video/sidearms.c b/src/mame/video/sidearms.c
index 135f1f6ec2d..94447c894a6 100644
--- a/src/mame/video/sidearms.c
+++ b/src/mame/video/sidearms.c
@@ -12,6 +12,8 @@ extern int sidearms_gameid;
UINT8 *sidearms_bg_scrollx;
UINT8 *sidearms_bg_scrolly;
+UINT8 *sidearms_videoram;
+UINT8 *sidearms_colorram;
static UINT8 *tilerom;
static int bgon, objon, staron, charon, flipon;
@@ -21,13 +23,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( sidearms_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ sidearms_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( sidearms_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ sidearms_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -128,8 +130,8 @@ static TILE_GET_INFO( get_philko_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + (attr<<2 & 0x300);
+ int attr = sidearms_colorram[tile_index];
+ int code = sidearms_videoram[tile_index] + (attr<<2 & 0x300);
int color = attr & 0x3f;
SET_TILE_INFO(0, code, color, 0);
diff --git a/src/mame/video/sidepckt.c b/src/mame/video/sidepckt.c
index 42dad216761..45e76f8dd4a 100644
--- a/src/mame/video/sidepckt.c
+++ b/src/mame/video/sidepckt.c
@@ -1,6 +1,8 @@
#include "driver.h"
+UINT8 *sidepckt_videoram;
+UINT8 *sidepckt_colorram;
static tilemap *bg_tilemap;
static int flipscreen;
@@ -46,10 +48,10 @@ PALETTE_INIT( sidepckt )
static TILE_GET_INFO( get_tile_info )
{
- UINT8 attr = machine->generic.colorram.u8[tile_index];
+ UINT8 attr = sidepckt_colorram[tile_index];
SET_TILE_INFO(
0,
- machine->generic.videoram.u8[tile_index] + ((attr & 0x07) << 8),
+ sidepckt_videoram[tile_index] + ((attr & 0x07) << 8),
((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
TILE_FLIPX);
tileinfo->group = (attr & 0x80) >> 7;
@@ -83,13 +85,13 @@ VIDEO_START( sidepckt )
WRITE8_HANDLER( sidepckt_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ sidepckt_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
WRITE8_HANDLER( sidepckt_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ sidepckt_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset);
}
diff --git a/src/mame/video/slapfght.c b/src/mame/video/slapfght.c
index 558ccd83984..eb65f8eaf88 100644
--- a/src/mame/video/slapfght.c
+++ b/src/mame/video/slapfght.c
@@ -11,7 +11,8 @@
UINT8 *slapfight_videoram;
UINT8 *slapfight_colorram;
-size_t slapfight_videoram_size;
+UINT8 *slapfight_fixvideoram;
+UINT8 *slapfight_fixcolorram;
UINT8 *slapfight_scrollx_lo,*slapfight_scrollx_hi,*slapfight_scrolly;
static int flipscreen, slapfight_palette_bank = 0;
@@ -30,8 +31,8 @@ static TILE_GET_INFO( get_pf_tile_info ) /* For Performan only */
{
int tile,color;
- tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x03) << 8);
- color=(machine->generic.colorram.u8[tile_index] >> 3) & 0x0f;
+ tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x03) << 8);
+ color=(slapfight_colorram[tile_index] >> 3) & 0x0f;
SET_TILE_INFO(
0,
tile,
@@ -43,8 +44,8 @@ static TILE_GET_INFO( get_pf1_tile_info )
{
int tile,color;
- tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x0f) << 8);
- color=(machine->generic.colorram.u8[tile_index] & 0xf0) >> 4;
+ tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x0f) << 8);
+ color=(slapfight_colorram[tile_index] & 0xf0) >> 4;
SET_TILE_INFO(
1,
@@ -57,8 +58,8 @@ static TILE_GET_INFO( get_fix_tile_info )
{
int tile,color;
- tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x03) << 8);
- color=(slapfight_colorram[tile_index] & 0xfc) >> 2;
+ tile=slapfight_fixvideoram[tile_index] + ((slapfight_fixcolorram[tile_index] & 0x03) << 8);
+ color=(slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
SET_TILE_INFO(
0,
@@ -98,25 +99,25 @@ VIDEO_START( slapfight )
WRITE8_HANDLER( slapfight_videoram_w )
{
- space->machine->generic.videoram.u8[offset]=data;
+ slapfight_videoram[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset);
}
WRITE8_HANDLER( slapfight_colorram_w )
{
- space->machine->generic.colorram.u8[offset]=data;
+ slapfight_colorram[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset);
}
WRITE8_HANDLER( slapfight_fixram_w )
{
- slapfight_videoram[offset]=data;
+ slapfight_fixvideoram[offset]=data;
tilemap_mark_tile_dirty(fix_tilemap,offset);
}
WRITE8_HANDLER( slapfight_fixcol_w )
{
- slapfight_colorram[offset]=data;
+ slapfight_fixcolorram[offset]=data;
tilemap_mark_tile_dirty(fix_tilemap,offset);
}
@@ -140,7 +141,7 @@ static void slapfght_log_vram(running_machine *machine)
int i;
for (i=0; i<0x800; i++)
{
- logerror("Offset:%03x TileRAM:%02x AttribRAM:%02x SpriteRAM:%02x\n",i, machine->generic.videoram.u8[i],machine->generic.colorram.u8[i],machine->generic.spriteram.u8[i]);
+ logerror("Offset:%03x TileRAM:%02x AttribRAM:%02x SpriteRAM:%02x\n",i, slapfight_videoram[i],slapfight_colorram[i],machine->generic.spriteram.u8[i]);
}
}
#endif
diff --git a/src/mame/video/snk6502.c b/src/mame/video/snk6502.c
index 9ddf57962ff..881e2111afd 100644
--- a/src/mame/video/snk6502.c
+++ b/src/mame/video/snk6502.c
@@ -10,6 +10,8 @@
#include "includes/snk6502.h"
+UINT8 *snk6502_videoram;
+UINT8 *snk6502_colorram;
UINT8 *snk6502_videoram2;
UINT8 *snk6502_charram;
@@ -86,7 +88,7 @@ PALETTE_INIT( snk6502 )
WRITE8_HANDLER( snk6502_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ snk6502_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -98,7 +100,7 @@ WRITE8_HANDLER( snk6502_videoram2_w )
WRITE8_HANDLER( snk6502_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ snk6502_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -161,8 +163,8 @@ WRITE8_HANDLER( snk6502_scrolly_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] + 256 * charbank;
- int color = (machine->generic.colorram.u8[tile_index] & 0x38) >> 3;
+ int code = snk6502_videoram[tile_index] + 256 * charbank;
+ int color = (snk6502_colorram[tile_index] & 0x38) >> 3;
SET_TILE_INFO(1, code, color, 0);
}
@@ -170,7 +172,7 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
int code = snk6502_videoram2[tile_index];
- int color = machine->generic.colorram.u8[tile_index] & 0x07;
+ int color = snk6502_colorram[tile_index] & 0x07;
SET_TILE_INFO(0, code, color, 0);
}
@@ -281,8 +283,8 @@ WRITE8_HANDLER( satansat_backcolor_w )
static TILE_GET_INFO( satansat_get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int color = (machine->generic.colorram.u8[tile_index] & 0x0c) >> 2;
+ int code = snk6502_videoram[tile_index];
+ int color = (snk6502_colorram[tile_index] & 0x0c) >> 2;
SET_TILE_INFO(1, code, color, 0);
}
@@ -290,7 +292,7 @@ static TILE_GET_INFO( satansat_get_bg_tile_info )
static TILE_GET_INFO( satansat_get_fg_tile_info )
{
int code = snk6502_videoram2[tile_index];
- int color = machine->generic.colorram.u8[tile_index] & 0x03;
+ int color = snk6502_colorram[tile_index] & 0x03;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/snookr10.c b/src/mame/video/snookr10.c
index 085c2c4cb06..ab08693d00b 100644
--- a/src/mame/video/snookr10.c
+++ b/src/mame/video/snookr10.c
@@ -40,18 +40,20 @@
#include "driver.h"
#include "video/resnet.h"
+UINT8 *snookr10_videoram;
+UINT8 *snookr10_colorram;
static tilemap *bg_tilemap;
WRITE8_HANDLER( snookr10_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ snookr10_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( snookr10_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ snookr10_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -102,9 +104,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
+ int attr = snookr10_videoram[offs] + (snookr10_colorram[offs] << 8);
int code = attr & 0xfff;
- int color = machine->generic.colorram.u8[offs] >> 4;
+ int color = snookr10_colorram[offs] >> 4;
SET_TILE_INFO(0, code, color, 0);
}
@@ -164,9 +166,9 @@ static TILE_GET_INFO( apple10_get_bg_tile_info )
---- xxxx seems unused.
*/
int offs = tile_index;
- int attr = machine->generic.videoram.u8[offs] + (machine->generic.colorram.u8[offs] << 8);
+ int attr = snookr10_videoram[offs] + (snookr10_colorram[offs] << 8);
int code = BITSWAP16((attr & 0xfff),15,14,13,12,8,9,10,11,0,1,2,3,4,5,6,7); /* encrypted tile matrix */
- int color = machine->generic.colorram.u8[offs] >> 4;
+ int color = snookr10_colorram[offs] >> 4;
SET_TILE_INFO(0, code, color, 0);
}
diff --git a/src/mame/video/solomon.c b/src/mame/video/solomon.c
index e7d2a9c8961..3a83904c2d4 100644
--- a/src/mame/video/solomon.c
+++ b/src/mame/video/solomon.c
@@ -1,5 +1,7 @@
#include "driver.h"
+UINT8 *solomon_videoram;
+UINT8 *solomon_colorram;
UINT8 *solomon_videoram2;
UINT8 *solomon_colorram2;
@@ -7,13 +9,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( solomon_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ solomon_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( solomon_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ solomon_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -50,8 +52,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + 256 * (attr & 0x07);
+ int attr = solomon_colorram[tile_index];
+ int code = solomon_colorram[tile_index] + 256 * (attr & 0x07);
int color = (attr & 0x70) >> 4;
SET_TILE_INFO(0, code, color, 0);
diff --git a/src/mame/video/spcforce.c b/src/mame/video/spcforce.c
index 09ea5a4fe0e..5feaa3b99a0 100644
--- a/src/mame/video/spcforce.c
+++ b/src/mame/video/spcforce.c
@@ -10,6 +10,8 @@
UINT8 *spcforce_scrollram;
+UINT8 *spcforce_videoram;
+UINT8 *spcforce_colorram;
WRITE8_HANDLER( spcforce_flip_screen_w )
@@ -28,7 +30,7 @@ VIDEO_UPDATE( spcforce )
bitmap_fill(bitmap,cliprect,0);
- for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
+ for (offs = 0; offs < 0x400; offs++)
{
int code,sx,sy,col;
@@ -36,8 +38,8 @@ VIDEO_UPDATE( spcforce )
sy = 8 * (offs / 32) - (spcforce_scrollram[offs] & 0x0f);
sx = 8 * (offs % 32) + ((spcforce_scrollram[offs] >> 4) & 0x0f);
- code = screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x01) << 8);
- col = (~screen->machine->generic.colorram.u8[offs] >> 4) & 0x07;
+ code = spcforce_videoram[offs] + ((spcforce_colorram[offs] & 0x01) << 8);
+ col = (~spcforce_colorram[offs] >> 4) & 0x07;
if (flip_screen_get(screen->machine))
{
diff --git a/src/mame/video/speedatk.c b/src/mame/video/speedatk.c
index 5f8bee3dd82..c85c2eb8261 100644
--- a/src/mame/video/speedatk.c
+++ b/src/mame/video/speedatk.c
@@ -5,6 +5,8 @@
*****************************************************************************************/
#include "driver.h"
+UINT8 *speedatk_videoram;
+UINT8 *speedatk_colorram;
static tilemap *bg_tilemap;
/*
@@ -75,13 +77,13 @@ PALETTE_INIT( speedatk )
WRITE8_HANDLER( speedatk_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ speedatk_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( speedatk_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ speedatk_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -89,9 +91,9 @@ static TILE_GET_INFO( get_tile_info )
{
int code, color, region;
- code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0xe0) << 3);
- color = machine->generic.colorram.u8[tile_index] & 0x1f;
- region = (machine->generic.colorram.u8[tile_index] & 0x10) >> 4;
+ code = speedatk_videoram[tile_index] + ((speedatk_colorram[tile_index] & 0xe0) << 3);
+ color = speedatk_colorram[tile_index] & 0x1f;
+ region = (speedatk_colorram[tile_index] & 0x10) >> 4;
SET_TILE_INFO(region, code, color, 0);
}
diff --git a/src/mame/video/ssozumo.c b/src/mame/video/ssozumo.c
index ec11076d67d..8944be4e1cf 100644
--- a/src/mame/video/ssozumo.c
+++ b/src/mame/video/ssozumo.c
@@ -9,6 +9,8 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
#include "driver.h"
+UINT8 *ssozumo_videoram;
+UINT8 *ssozumo_colorram;
UINT8 *ssozumo_videoram2;
UINT8 *ssozumo_colorram2;
@@ -46,13 +48,13 @@ PALETTE_INIT( ssozumo )
WRITE8_HANDLER( ssozumo_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ ssozumo_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( ssozumo_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ ssozumo_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -113,8 +115,8 @@ WRITE8_HANDLER( ssozumo_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x08) << 5);
- int color = (machine->generic.colorram.u8[tile_index] & 0x30) >> 4;
+ int code = ssozumo_videoram[tile_index] + ((ssozumo_colorram[tile_index] & 0x08) << 5);
+ int color = (ssozumo_colorram[tile_index] & 0x30) >> 4;
int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
SET_TILE_INFO(1, code, color, flags);
diff --git a/src/mame/video/tagteam.c b/src/mame/video/tagteam.c
index 55519c94c06..721c2a56c81 100644
--- a/src/mame/video/tagteam.c
+++ b/src/mame/video/tagteam.c
@@ -10,6 +10,8 @@
static int palettebank;
+UINT8 *tagteam_videoram;
+UINT8 *tagteam_colorram;
static tilemap *bg_tilemap;
PALETTE_INIT( tagteam )
@@ -44,13 +46,13 @@ PALETTE_INIT( tagteam )
WRITE8_HANDLER( tagteam_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ tagteam_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( tagteam_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ tagteam_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
@@ -63,7 +65,7 @@ READ8_HANDLER( tagteam_mirrorvideoram_r )
y = offset % 32;
offset = 32 * y + x;
- return space->machine->generic.videoram.u8[offset];
+ return tagteam_videoram[offset];
}
READ8_HANDLER( tagteam_mirrorcolorram_r )
@@ -75,7 +77,7 @@ READ8_HANDLER( tagteam_mirrorcolorram_r )
y = offset % 32;
offset = 32 * y + x;
- return space->machine->generic.colorram.u8[offset];
+ return tagteam_colorram[offset];
}
WRITE8_HANDLER( tagteam_mirrorvideoram_w )
@@ -121,7 +123,7 @@ WRITE8_HANDLER( tagteam_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index] + 256 * machine->generic.colorram.u8[tile_index];
+ int code = tagteam_videoram[tile_index] + 256 * tagteam_colorram[tile_index];
int color = palettebank * 2; // GUESS
SET_TILE_INFO(0, code, color, 0);
@@ -139,15 +141,15 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
for (offs = 0; offs < 0x20; offs += 4)
{
- int spritebank = (machine->generic.videoram.u8[offs] & 0x30) << 4;
- int code = machine->generic.videoram.u8[offs + 1] + 256 * spritebank;
+ int spritebank = (tagteam_videoram[offs] & 0x30) << 4;
+ int code = tagteam_videoram[offs + 1] + 256 * spritebank;
int color = 1 + 2 * palettebank; // GUESS
- int flipx = machine->generic.videoram.u8[offs] & 0x04;
- int flipy = machine->generic.videoram.u8[offs] & 0x02;
- int sx = 240 - machine->generic.videoram.u8[offs + 3];
- int sy = 240 - machine->generic.videoram.u8[offs + 2];
+ int flipx = tagteam_videoram[offs] & 0x04;
+ int flipy = tagteam_videoram[offs] & 0x02;
+ int sx = 240 - tagteam_videoram[offs + 3];
+ int sy = 240 - tagteam_videoram[offs + 2];
- if (!(machine->generic.videoram.u8[offs] & 0x01)) continue;
+ if (!(tagteam_videoram[offs] & 0x01)) continue;
if (flip_screen_get(machine))
{
@@ -165,7 +167,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* Wrap around */
- code = machine->generic.videoram.u8[offs + 0x20] + 256 * spritebank;
+ code = tagteam_videoram[offs + 0x20] + 256 * spritebank;
color = palettebank;
sy += (flip_screen_get(machine) ? -256 : 256);
diff --git a/src/mame/video/tankbust.c b/src/mame/video/tankbust.c
index 7e4a2c2810a..653d7fb9818 100644
--- a/src/mame/video/tankbust.c
+++ b/src/mame/video/tankbust.c
@@ -8,7 +8,10 @@
* variables
*/
+UINT8 * tankbust_videoram;
+UINT8 * tankbust_colorram;
static tilemap *bg_tilemap;
+
static tilemap *txt_tilemap;
UINT8 * tankbust_txtram;
@@ -34,8 +37,8 @@ note:
static TILE_GET_INFO( get_bg_tile_info )
{
- int code = machine->generic.videoram.u8[tile_index];
- int attr = machine->generic.colorram.u8[tile_index];
+ int code = tankbust_videoram[tile_index];
+ int attr = tankbust_colorram[tile_index];
int color = ((attr>>4) & 0x07);
@@ -101,22 +104,22 @@ VIDEO_START( tankbust )
WRITE8_HANDLER( tankbust_background_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ tankbust_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
READ8_HANDLER( tankbust_background_videoram_r )
{
- return space->machine->generic.videoram.u8[offset];
+ return tankbust_videoram[offset];
}
WRITE8_HANDLER( tankbust_background_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ tankbust_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
READ8_HANDLER( tankbust_background_colorram_r )
{
- return space->machine->generic.colorram.u8[offset];
+ return tankbust_colorram[offset];
}
WRITE8_HANDLER( tankbust_txtram_w )
@@ -235,7 +238,7 @@ VIDEO_UPDATE( tankbust )
for (i=0; i<0x800; i++)
{
- int tile_attrib = screen->machine->generic.colorram.u8[i];
+ int tile_attrib = tankbust_colorram[i];
if ( (tile_attrib&8) || (tile_attrib&0x80) )
{
diff --git a/src/mame/video/tehkanwc.c b/src/mame/video/tehkanwc.c
index afb5d45f133..b021666ebd9 100644
--- a/src/mame/video/tehkanwc.c
+++ b/src/mame/video/tehkanwc.c
@@ -13,6 +13,8 @@ robbiex@rocketmail.com
#include "driver.h"
+UINT8 *tehkanwc_videoram;
+UINT8 *tehkanwc_colorram;
UINT8 *tehkanwc_videoram2;
static UINT8 scroll_x[2];
static UINT8 led0,led1;
@@ -21,13 +23,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( tehkanwc_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ tehkanwc_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
WRITE8_HANDLER( tehkanwc_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ tehkanwc_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset);
}
@@ -79,8 +81,8 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int attr = machine->generic.colorram.u8[tile_index];
- int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x10) << 4);
+ int attr = tehkanwc_colorram[tile_index];
+ int code = tehkanwc_videoram[tile_index] + ((attr & 0x10) << 4);
int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
diff --git a/src/mame/video/trucocl.c b/src/mame/video/trucocl.c
index 22cd31c6b85..0db799d57c5 100644
--- a/src/mame/video/trucocl.c
+++ b/src/mame/video/trucocl.c
@@ -34,6 +34,8 @@ Daughterboard: Custom made, plugged in the 2 roms and Z80 mainboard sockets.
#include "driver.h"
+UINT8 *trucocl_videoram;
+UINT8 *trucocl_colorram;
static tilemap *bg_tilemap;
PALETTE_INIT( trucocl )
@@ -46,22 +48,22 @@ PALETTE_INIT( trucocl )
WRITE8_HANDLER( trucocl_videoram_w )
{
- space->machine->generic.videoram.u8[offset] = data;
+ trucocl_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
WRITE8_HANDLER( trucocl_colorram_w )
{
- space->machine->generic.colorram.u8[offset] = data;
+ trucocl_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset);
}
static TILE_GET_INFO( get_bg_tile_info )
{
- int gfxsel = machine->generic.colorram.u8[tile_index] & 1;
- int bank = ( ( machine->generic.colorram.u8[tile_index] >> 2 ) & 0x07 );
- int code = machine->generic.videoram.u8[tile_index];
- int colour = (machine->generic.colorram.u8[tile_index] & 2) >> 1;
+ int gfxsel = trucocl_colorram[tile_index] & 1;
+ int bank = ( ( trucocl_colorram[tile_index] >> 2 ) & 0x07 );
+ int code = trucocl_videoram[tile_index];
+ int colour = (trucocl_colorram[tile_index] & 2) >> 1;
code |= ( bank & 1 ) << 10;
code |= ( bank & 2 ) << 8;
diff --git a/src/mame/video/tsamurai.c b/src/mame/video/tsamurai.c
index dbe8daeba67..714536a8ded 100644
--- a/src/mame/video/tsamurai.c
+++ b/src/mame/video/tsamurai.c
@@ -9,6 +9,8 @@
** variables
*/
UINT8 *tsamurai_videoram;
+UINT8 *tsamurai_colorram;
+UINT8 *tsamurai_bg_videoram;
static int bgcolor;
static int textbank1, textbank2;
@@ -23,8 +25,8 @@ static tilemap *background, *foreground;
static TILE_GET_INFO( get_bg_tile_info )
{
- UINT8 attributes = tsamurai_videoram[2*tile_index+1];
- int tile_number = tsamurai_videoram[2*tile_index];
+ UINT8 attributes = tsamurai_bg_videoram[2*tile_index+1];
+ int tile_number = tsamurai_bg_videoram[2*tile_index];
tile_number += (( attributes & 0xc0 ) >> 6 ) * 256; /* legacy */
tile_number += (( attributes & 0x20 ) >> 5 ) * 1024; /* Mission 660 add-on*/
SET_TILE_INFO(
@@ -36,13 +38,13 @@ static TILE_GET_INFO( get_bg_tile_info )
static TILE_GET_INFO( get_fg_tile_info )
{
- int tile_number = machine->generic.videoram.u8[tile_index];
+ int tile_number = tsamurai_videoram[tile_index];
if (textbank1 & 0x01) tile_number += 256; /* legacy */
if (textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
SET_TILE_INFO(
1,
tile_number,
- machine->generic.colorram.u8[((tile_index&0x1f)*2)+1] & 0x1f,
+ tsamurai_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
0);
}
@@ -104,20 +106,20 @@ WRITE8_HANDLER( tsamurai_textbank2_w )
WRITE8_HANDLER( tsamurai_bg_videoram_w )
{
- tsamurai_videoram[offset]=data;
+ tsamurai_bg_videoram[offset]=data;
offset = offset/2;
tilemap_mark_tile_dirty(background,offset);
}
WRITE8_HANDLER( tsamurai_fg_videoram_w )
{
- space->machine->generic.videoram.u8[offset]=data;
+ tsamurai_videoram[offset]=data;
tilemap_mark_tile_dirty(foreground,offset);
}
WRITE8_HANDLER( tsamurai_fg_colorram_w )
{
- if( space->machine->generic.colorram.u8[offset]!=data )
+ if( tsamurai_colorram[offset]!=data )
{
- space->machine->generic.colorram.u8[offset]=data;
+ tsamurai_colorram[offset]=data;
if (offset & 1)
{
int col = offset/2;
@@ -203,7 +205,7 @@ VIDEO_UPDATE( tsamurai )
tilemap_set_scroll_cols(foreground, 32);
for (i = 0 ; i < 32 ; i++)
{
- tilemap_set_scrolly(foreground, i, screen->machine->generic.colorram.u8[i*2]);
+ tilemap_set_scrolly(foreground, i, tsamurai_colorram[i*2]);
}
/* end of column scroll code */
@@ -242,7 +244,7 @@ WRITE8_HANDLER( vsgongf_color_w )
static TILE_GET_INFO( get_vsgongf_tile_info )
{
- int tile_number = machine->generic.videoram.u8[tile_index];
+ int tile_number = tsamurai_videoram[tile_index];
int color = vsgongf_color&0x1f;
if( textbank1 ) tile_number += 0x100;
SET_TILE_INFO(
diff --git a/src/mame/video/wiping.c b/src/mame/video/wiping.c
index 3d0eb67f24c..6158e22fb65 100644
--- a/src/mame/video/wiping.c
+++ b/src/mame/video/wiping.c
@@ -12,6 +12,8 @@
static int flipscreen;
+UINT8 *wiping_videoram;
+UINT8 *wiping_colorram;
/***************************************************************************
@@ -93,7 +95,7 @@ VIDEO_UPDATE( wiping )
UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int offs;
- for (offs = screen->machine->generic.videoram_size - 1; offs > 0; offs--)
+ for (offs = 0x3ff; offs > 0; offs--)
{
int mx,my,sx,sy;
@@ -123,8 +125,8 @@ VIDEO_UPDATE( wiping )
}
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- screen->machine->generic.videoram.u8[offs],
- screen->machine->generic.colorram.u8[offs] & 0x3f,
+ wiping_videoram[offs],
+ wiping_colorram[offs] & 0x3f,
flipscreen,flipscreen,
sx*8,sy*8);
}
@@ -159,13 +161,13 @@ VIDEO_UPDATE( wiping )
}
/* redraw high priority chars */
- for (offs = screen->machine->generic.videoram_size - 1; offs > 0; offs--)
+ for (offs = 0x3ff; offs > 0; offs--)
{
- if (screen->machine->generic.colorram.u8[offs] & 0x80)
+ if (wiping_colorram[offs] & 0x80)
{
int mx,my,sx,sy;
- mx = offs % 32;
+ mx = offs % 32;
my = offs / 32;
if (my < 2)
@@ -191,8 +193,8 @@ VIDEO_UPDATE( wiping )
}
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
- screen->machine->generic.videoram.u8[offs],
- screen->machine->generic.colorram.u8[offs] & 0x3f,
+ wiping_videoram[offs],
+ wiping_colorram[offs] & 0x3f,
flipscreen,flipscreen,
sx*8,sy*8);
}