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
This commit is contained in:
Phil Bennett 2009-12-21 23:26:32 +00:00
parent 2fd263c18b
commit 2434ce3fab
102 changed files with 721 additions and 529 deletions

View File

@ -165,8 +165,6 @@ struct _generic_pointers
UINT32 nvram_size; UINT32 nvram_size;
generic_ptr videoram; /* videoram */ generic_ptr videoram; /* videoram */
UINT32 videoram_size; UINT32 videoram_size;
generic_ptr colorram; /* color ram */
UINT32 colorram_size;
generic_ptr spriteram; /* spriteram */ generic_ptr spriteram; /* spriteram */
UINT32 spriteram_size; UINT32 spriteram_size;
generic_ptr spriteram2; /* secondary spriteram */ generic_ptr spriteram2; /* secondary spriteram */

View File

@ -178,6 +178,9 @@
#include "sound/ay8910.h" #include "sound/ay8910.h"
/* from video */ /* from video */
extern UINT8 *funworld_videoram;
extern UINT8 *funworld_colorram;
WRITE8_HANDLER( funworld_videoram_w ); WRITE8_HANDLER( funworld_videoram_w );
WRITE8_HANDLER( funworld_colorram_w ); WRITE8_HANDLER( funworld_colorram_w );
PALETTE_INIT( funworld ); PALETTE_INIT( funworld );
@ -197,8 +200,8 @@ VIDEO_UPDATE( funworld );
static ADDRESS_MAP_START( 4roses_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( 4roses_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM // AM_BASE_SIZE_GENERIC(nvram) 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(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -13,6 +13,9 @@ Inputs and Dip Switches by Stephh
#include "sidewndr.lh" #include "sidewndr.lh"
static UINT8 *colorram;
static UINT8 *videoram;
static void acefruit_update_irq(running_machine *machine, int vpos ) static void acefruit_update_irq(running_machine *machine, int vpos )
{ {
int col; int col;
@ -21,7 +24,7 @@ static void acefruit_update_irq(running_machine *machine, int vpos )
for( col = 0; col < 32; col++ ) for( col = 0; col < 32; col++ )
{ {
int tile_index = ( col * 32 ) + row; int tile_index = ( col * 32 ) + row;
int color = machine->generic.colorram.u8[ tile_index ]; int color = colorram[ tile_index ];
switch( color ) switch( color )
{ {
@ -73,8 +76,8 @@ static VIDEO_UPDATE( acefruit )
for( col = 0; col < 32; col++ ) for( col = 0; col < 32; col++ )
{ {
int tile_index = ( col * 32 ) + row; int tile_index = ( col * 32 ) + row;
int code = screen->machine->generic.videoram.u8[ tile_index ]; int code = videoram[ tile_index ];
int color = screen->machine->generic.colorram.u8[ tile_index ]; int color = colorram[ tile_index ];
if( color < 0x4 ) if( color < 0x4 )
{ {
@ -197,7 +200,7 @@ static CUSTOM_INPUT( starspnr_payout_r )
static WRITE8_HANDLER( acefruit_colorram_w ) static WRITE8_HANDLER( acefruit_colorram_w )
{ {
space->machine->generic.colorram.u8[ offset ] = data & 0xf; colorram[ offset ] = data & 0xf;
} }
static WRITE8_HANDLER( acefruit_coin_w ) static WRITE8_HANDLER( acefruit_coin_w )
@ -256,8 +259,8 @@ static PALETTE_INIT( acefruit )
static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_GENERIC(videoram) AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&videoram)
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0") AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1") AM_RANGE(0x8001, 0x8001) AM_READ_PORT("IN1")
AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2") AM_RANGE(0x8002, 0x8002) AM_READ_PORT("IN2")

View File

@ -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_RAM // AM_BASE_SIZE_GENERIC(nvram)
// AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("crtc", mc6845_address_w) // 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_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_videoram_w) AM_BASE(&amaticmg_videoram)
// AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE_GENERIC(colorram) // AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_colorram_w) AM_BASE(&amaticmg_colorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( amaticmg_portmap, ADDRESS_SPACE_IO, 8 ) static ADDRESS_MAP_START( amaticmg_portmap, ADDRESS_SPACE_IO, 8 )

View File

@ -172,8 +172,8 @@ static WRITE8_HANDLER( bagman_coin_counter_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_RANGE(0x6000, 0x67ff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(0x9c00, 0x9fff) AM_WRITENOP /* written to, but unused */
AM_RANGE(0xa000, 0xa000) AM_READ(bagman_pal16r6_r) AM_RANGE(0xa000, 0xa000) AM_READ(bagman_pal16r6_r)
//AM_RANGE(0xa800, 0xa805) AM_READ(bagman_ls259_r) /*just for debugging purposes*/ //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 ) static ADDRESS_MAP_START( pickin_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_RANGE(0x7000, 0x77ff) AM_RAM
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(bagman_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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 */ AM_RANGE(0x9800, 0x981f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) /* hidden portion of color RAM */
/* here only to initialize the pointer, */ /* here only to initialize the pointer, */
/* writes are handled by bagman_colorram_w */ /* writes are handled by bagman_colorram_w */

View File

@ -42,6 +42,7 @@ To do:
Tilemaps Access Tilemaps Access
***************************************************************************/ ***************************************************************************/
static UINT8 *bishjan_colorram;
static UINT8 *bishjan_videoram_1_lo, *bishjan_videoram_1_hi; static UINT8 *bishjan_videoram_1_lo, *bishjan_videoram_1_hi;
static UINT8 *bishjan_videoram_2_lo, *bishjan_videoram_2_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); 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 ) static VIDEO_UPDATE( bishjan )
@ -282,11 +283,11 @@ static WRITE8_HANDLER(colordac_w)
break; break;
case 1: case 1:
space->machine->generic.colorram.u8[colordac_offs] = data; bishjan_colorram[colordac_offs] = data;
palette_set_color_rgb(space->machine, colordac_offs/3, palette_set_color_rgb(space->machine, colordac_offs/3,
pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+0]), pal6bit(bishjan_colorram[(colordac_offs/3)*3+0]),
pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+1]), pal6bit(bishjan_colorram[(colordac_offs/3)*3+1]),
pal6bit(space->machine->generic.colorram.u8[(colordac_offs/3)*3+2]) pal6bit(bishjan_colorram[(colordac_offs/3)*3+2])
); );
colordac_offs = (colordac_offs+1) % (256*3); colordac_offs = (colordac_offs+1) % (256*3);
break; break;

View File

@ -112,6 +112,7 @@ Main board:
static UINT16 *bmcbowl_vid1; static UINT16 *bmcbowl_vid1;
static UINT16 *bmcbowl_vid2; static UINT16 *bmcbowl_vid2;
static UINT8 *bmc_colorram;
static UINT8 *stats_ram; static UINT8 *stats_ram;
static size_t stats_ram_size; static size_t stats_ram_size;
@ -202,8 +203,8 @@ static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
static WRITE16_HANDLER( bmc_RAMDAC_color_w ) static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{ {
space->machine->generic.colorram.u8[clr_offset]=data; bmc_colorram[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])); 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; clr_offset=(clr_offset+1)%768;
} }
@ -551,7 +552,7 @@ ROM_END
static DRIVER_INIT(bmcbowl) 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 ) GAME( 1994, bmcbowl, 0, bmcbowl, bmcbowl, bmcbowl, ROT0, "BMC", "BMC Bowling", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )

View File

@ -643,6 +643,8 @@ static UINT8 rx_line;
/* from video */ /* from video */
extern UINT8 *calomega_videoram;
extern UINT8 *calomega_colorram;
WRITE8_HANDLER( calomega_videoram_w ); WRITE8_HANDLER( calomega_videoram_w );
WRITE8_HANDLER( calomega_colorram_w ); WRITE8_HANDLER( calomega_colorram_w );
PALETTE_INIT( calomega ); 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(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(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(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(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x1800, 0x3fff) AM_ROM AM_RANGE(0x1800, 0x3fff) AM_ROM
ADDRESS_MAP_END 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(0x0881, 0x0881) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x08c4, 0x08c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_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(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(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x1800, 0xffff) AM_ROM AM_RANGE(0x1800, 0xffff) AM_ROM
ADDRESS_MAP_END 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(0x1081, 0x1081) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x10c4, 0x10c7) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_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(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(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_BASE(&calomega_videoram)
AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_BASE(&calomega_colorram)
AM_RANGE(0x2800, 0xffff) AM_ROM AM_RANGE(0x2800, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -23,10 +23,12 @@
#include "cardline.lh" #include "cardline.lh"
static int cardline_video; static int cardline_video;
static UINT8 *videoram;
static UINT8 *colorram;
#define DRAW_TILE(machine, offset, transparency) drawgfx_transpen(bitmap, cliprect, machine->gfx[0],\ #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,\ (videoram[index+offset] | (colorram[index+offset]<<8))&0x3fff,\
(machine->generic.colorram.u8[index+offset]&0x80)>>7,\ (colorram[index+offset]&0x80)>>7,\
0,0,\ 0,0,\
x<<3, y<<3,\ x<<3, y<<3,\
transparency?transparency:-1); transparency?transparency:-1);
@ -59,13 +61,13 @@ static VIDEO_UPDATE( cardline )
static WRITE8_HANDLER(vram_w) static WRITE8_HANDLER(vram_w)
{ {
offset+=0x1000*((cardline_video&2)>>1); offset+=0x1000*((cardline_video&2)>>1);
space->machine->generic.videoram.u8[offset]=data; videoram[offset]=data;
} }
static WRITE8_HANDLER(attr_w) static WRITE8_HANDLER(attr_w)
{ {
offset+=0x1000*((cardline_video&2)>>1); offset+=0x1000*((cardline_video&2)>>1);
space->machine->generic.colorram.u8[offset]=data; colorram[offset]=data;
} }
static WRITE8_HANDLER(video_w) 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(0x2840, 0x2840) AM_NOP
AM_RANGE(0x2880, 0x2880) AM_NOP AM_RANGE(0x2880, 0x2880) AM_NOP
AM_RANGE(0x3003, 0x3003) AM_NOP AM_RANGE(0x3003, 0x3003) AM_NOP
AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0xc000, 0xdfff) AM_WRITE(vram_w) AM_BASE(&videoram)
AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xe000, 0xffff) AM_WRITE(attr_w) AM_BASE(&colorram)
/* Ports */ /* Ports */
AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(unk_r, video_w) AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READWRITE(unk_r, video_w)
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -12,23 +12,25 @@
#include "sound/2203intf.h" #include "sound/2203intf.h"
static tilemap *tmap; static tilemap *tmap;
static UINT8 *colorram;
static UINT8 *videoram;
static WRITE8_HANDLER( cowrace_videoram_w ) static WRITE8_HANDLER( cowrace_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset); tilemap_mark_tile_dirty(tmap, offset);
} }
static WRITE8_HANDLER( cowrace_colorram_w ) static WRITE8_HANDLER( cowrace_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset); tilemap_mark_tile_dirty(tmap, offset);
} }
static TILE_GET_INFO( get_tile_info ) 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) ;
UINT8 color = 0;//(machine->generic.colorram.u8[ tile_index ] & 0x3e)>>1; UINT8 color = 0;//(colorram[ tile_index ] & 0x3e)>>1;
SET_TILE_INFO(1, code & 0x1ff, color, TILE_FLIPYX( 0 ));; 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(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x33ff) AM_RAM AM_RANGE(0x3000, 0x33ff) AM_RAM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(cowrace_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0x5000, 0x53ff) AM_RAM_WRITE(cowrace_colorram_w) AM_BASE(&colorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map_cowrace, ADDRESS_SPACE_IO, 8 ) static ADDRESS_MAP_START( io_map_cowrace, ADDRESS_SPACE_IO, 8 )

View File

@ -1060,6 +1060,9 @@
#include "funworld.lh" #include "funworld.lh"
/* from video */ /* from video */
extern UINT8* funworld_videoram;
extern UINT8* funworld_colorram;
WRITE8_HANDLER( funworld_videoram_w ); WRITE8_HANDLER( funworld_videoram_w );
WRITE8_HANDLER( funworld_colorram_w ); WRITE8_HANDLER( funworld_colorram_w );
PALETTE_INIT( funworld ); 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(0x0c00, 0x0c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x0e00, 0x0e00) AM_DEVWRITE("crtc", mc6845_address_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(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(0x2000, 0x2fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x3000, 0x3fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x4000, 0x4000) AM_READNOP AM_RANGE(0x4000, 0x4000) AM_READNOP
AM_RANGE(0x8000, 0xbfff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xffff) 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(0x2c00, 0x2cff) AM_RAM /* range for protection */
AM_RANGE(0x3600, 0x36ff) AM_RAM /* some games use $3603-05 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(0x3c00, 0x3cff) AM_RAM /* range for protection */
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END 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(0x0e01, 0x0e01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x2000, 0x2000) AM_READNOP /* some unknown reads */ 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(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(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END 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(0x2c00, 0x2c01) AM_DEVWRITE("ay8910", ay8910_address_data_w)
AM_RANGE(0x2e00, 0x2e00) AM_DEVWRITE("crtc", mc6845_address_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(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(0x4000, 0x4fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x5000, 0x5fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x6000, 0xffff) AM_ROM AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END 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, 0x1800) AM_DEVREAD("ay8910", ay8910_r)
AM_RANGE(0x1800, 0x1801) AM_DEVWRITE("ay8910", ay8910_address_data_w) 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(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(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -630,17 +630,19 @@
* Video Hardware * * Video Hardware *
*************************/ *************************/
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER( goldnpkr_videoram_w ) static WRITE8_HANDLER( goldnpkr_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( goldnpkr_colorram_w ) static WRITE8_HANDLER( goldnpkr_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -654,8 +656,8 @@ static TILE_GET_INFO( get_bg_tile_info )
xx-- ---- unused. xx-- ---- unused.
*/ */
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = ((attr & 1) << 8) | machine->generic.videoram.u8[tile_index]; int code = ((attr & 1) << 8) | videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */ int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c) >> 2; /* bits 2-3-4-5 for color */ 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(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_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(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(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_RANGE(0x4000, 0x7fff) AM_ROM
ADDRESS_MAP_END 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(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_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(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(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x2000, 0x3fff) AM_ROM AM_RANGE(0x2000, 0x3fff) AM_ROM
ADDRESS_MAP_END 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(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_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(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(0x1000, 0x13ff) AM_RAM_WRITE(goldnpkr_videoram_w) AM_BASE(&videoram)
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(goldnpkr_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2") AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW2")
// AM_RANGE(0x2108, 0x210b) AM_NOP /* unknown 40-pin device */ // AM_RANGE(0x2108, 0x210b) AM_NOP /* unknown 40-pin device */
AM_RANGE(0x4000, 0x7fff) AM_ROM AM_RANGE(0x4000, 0x7fff) AM_ROM

View File

@ -110,6 +110,8 @@
static int dataoffset=0; 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; 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(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_ROM
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(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(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) 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(0x0000, 0xb7ff) AM_ROM
AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
AM_RANGE(0xc000, 0xc7ff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_ROM
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(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(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) 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(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(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_GENERIC(colorram) 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(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) 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(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(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_GENERIC(colorram) 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(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) 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 ) static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) 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(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_GENERIC(colorram) 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(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(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) 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 ) static ADDRESS_MAP_START( kkojnoli_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM /* definitelly no NVRAM */ 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(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_GENERIC(colorram) 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(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(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) 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 ) static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) 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(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_GENERIC(colorram) 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(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(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) 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 ) static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size) 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(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_GENERIC(colorram) 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(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(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) 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(0xd800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(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) AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE( goldstar_reel2_ram_w ) AM_BASE(&goldstar_reel2_ram)

View File

@ -49,14 +49,17 @@ Some debug tricks (let's test this CPU as more as possible):
static UINT8 *hitpoker_sys_regs; static UINT8 *hitpoker_sys_regs;
static UINT8 hitpoker_pic_data; static UINT8 hitpoker_pic_data;
static UINT8 *videoram;
static UINT8 *paletteram;
static UINT8 *colorram;
#define CRTC_CLOCK XTAL_3_579545MHz #define CRTC_CLOCK XTAL_3_579545MHz
static VIDEO_START(hitpoker) static VIDEO_START(hitpoker)
{ {
machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x35ff); videoram = auto_alloc_array(machine, UINT8, 0x35ff);
machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x1000); paletteram = auto_alloc_array(machine, UINT8, 0x1000);
machine->generic.colorram.u8 = auto_alloc_array(machine, UINT8, 0x2000); colorram = auto_alloc_array(machine, UINT8, 0x2000);
} }
static VIDEO_UPDATE(hitpoker) static VIDEO_UPDATE(hitpoker)
@ -72,9 +75,9 @@ static VIDEO_UPDATE(hitpoker)
{ {
int tile,color,gfx_bpp; int tile,color,gfx_bpp;
tile = (((screen->machine->generic.videoram.u8[count]<<8)|(screen->machine->generic.videoram.u8[count+1])) & 0x3fff); tile = (((videoram[count]<<8)|(videoram[count+1])) & 0x3fff);
gfx_bpp = (screen->machine->generic.colorram.u8[count] & 0x80)>>7; //flag between 4 and 8 bpp gfx_bpp = (colorram[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); 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); 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"); UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10) if(hitpoker_pic_data & 0x10)
return space->machine->generic.videoram.u8[offset]; return videoram[offset];
else else
return ROM[offset+0x8000]; return ROM[offset+0x8000];
} }
@ -100,7 +103,7 @@ static WRITE8_HANDLER( hitpoker_vram_w )
// UINT8 *ROM = memory_region(space->machine, "maincpu"); // UINT8 *ROM = memory_region(space->machine, "maincpu");
// if(hitpoker_sys_regs[0x00] & 0x10) // if(hitpoker_sys_regs[0x00] & 0x10)
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
} }
static READ8_HANDLER( hitpoker_cram_r ) static READ8_HANDLER( hitpoker_cram_r )
@ -108,14 +111,14 @@ static READ8_HANDLER( hitpoker_cram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu"); UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10) if(hitpoker_pic_data & 0x10)
return space->machine->generic.colorram.u8[offset]; return colorram[offset];
else else
return ROM[offset+0xc000]; return ROM[offset+0xc000];
} }
static WRITE8_HANDLER( hitpoker_cram_w ) static WRITE8_HANDLER( hitpoker_cram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
} }
static READ8_HANDLER( hitpoker_paletteram_r ) static READ8_HANDLER( hitpoker_paletteram_r )
@ -123,7 +126,7 @@ static READ8_HANDLER( hitpoker_paletteram_r )
UINT8 *ROM = memory_region(space->machine, "maincpu"); UINT8 *ROM = memory_region(space->machine, "maincpu");
if(hitpoker_pic_data & 0x10) if(hitpoker_pic_data & 0x10)
return space->machine->generic.paletteram.u8[offset]; return paletteram[offset];
else else
return ROM[offset+0xe000]; return ROM[offset+0xe000];
} }
@ -131,9 +134,9 @@ static READ8_HANDLER( hitpoker_paletteram_r )
static WRITE8_HANDLER( hitpoker_paletteram_w ) static WRITE8_HANDLER( hitpoker_paletteram_w )
{ {
int r,g,b,datax; int r,g,b,datax;
space->machine->generic.paletteram.u8[offset] = data; paletteram[offset] = data;
offset>>=1; 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 */ /* RGB565 */
b = ((datax)&0xf800)>>11; b = ((datax)&0xf800)>>11;

View File

@ -60,6 +60,8 @@ Notes:
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "video/kan_pand.h" #include "video/kan_pand.h"
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static UINT16 hu_scrollx, hu_scrolly; static UINT16 hu_scrollx, hu_scrolly;
static UINT16 port0_data; static UINT16 port0_data;
@ -276,8 +278,8 @@ static READ8_HANDLER( mermaid_status_r )
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x0f) << 8); int code = videoram[tile_index] + ((attr & 0x0f) << 8);
int color = (attr >> 4); int color = (attr >> 4);
SET_TILE_INFO(1, code, color, 0); SET_TILE_INFO(1, code, color, 0);
@ -336,13 +338,13 @@ static WRITE8_HANDLER( master_bankswitch_w )
static WRITE8_HANDLER( hu_videoram_w ) static WRITE8_HANDLER( hu_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( hu_colorram_w ) static WRITE8_HANDLER( hu_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); 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 ) static ADDRESS_MAP_START( slave_memory, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2") AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(hu_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(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(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_split1_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_RANGE(0xd000, 0xdfff) AM_RAM

View File

@ -100,19 +100,21 @@
* Video Hardware * * Video Hardware *
*************************/ *************************/
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER( jokrwild_videoram_w ) static WRITE8_HANDLER( jokrwild_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( jokrwild_colorram_w ) static WRITE8_HANDLER( jokrwild_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -124,8 +126,8 @@ static TILE_GET_INFO( get_bg_tile_info )
xx-- ---- bank select. xx-- ---- bank select.
---- xxxx color code. ---- xxxx color code.
*/ */
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] | ((attr & 0xc0) << 2); int code = videoram[tile_index] | ((attr & 0xc0) << 2);
int color = (attr & 0x0f); int color = (attr & 0x0f);
SET_TILE_INFO( 0, code , color , 0); 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 ) 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(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(0x2400, 0x27ff) AM_RAM //stack RAM
AM_RANGE(0x4004, 0x4007) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w) 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 AM_RANGE(0x4008, 0x400b) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w) //optical sensor is here

View File

@ -120,7 +120,7 @@ static WRITE8_HANDLER( jrpacman_interrupt_vector_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(0x4800, 0x4fef) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x4ff0, 0x4fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("P1") AM_RANGE(0x5000, 0x503f) AM_READ_PORT("P1")

View File

@ -36,6 +36,7 @@ ft5_v6_c4.u58 /
static UINT16 *bmc_1_videoram, *bmc_2_videoram,*main_ram; static UINT16 *bmc_1_videoram, *bmc_2_videoram,*main_ram;
static tilemap *tilemap_1,*tilemap_2; static tilemap *tilemap_1,*tilemap_2;
static UINT8 *bmc_colorram;
static int clr_offset=0; static int clr_offset=0;
static TILE_GET_INFO( get_t1_tile_info ) static TILE_GET_INFO( get_t1_tile_info )
@ -80,14 +81,14 @@ static WRITE16_HANDLER( bmc_RAMDAC_offset_w )
static WRITE16_HANDLER( bmc_RAMDAC_color_w ) static WRITE16_HANDLER( bmc_RAMDAC_color_w )
{ {
space->machine->generic.colorram.u8[clr_offset]=data; bmc_colorram[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])); 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; clr_offset=(clr_offset+1)%768;
} }
static READ16_HANDLER( bmc_RAMDAC_color_r ) 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) static READ16_HANDLER(random_number_r)
@ -271,7 +272,7 @@ static const UINT16 nvram[]=
#endif #endif
static DRIVER_INIT(koftball) 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 #if NVRAM_HACK
{ {

View File

@ -18,6 +18,9 @@
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8 *liberate_videoram;
extern UINT8 *liberate_colorram;
PALETTE_INIT( liberate ); PALETTE_INIT( liberate );
VIDEO_UPDATE( prosoccr ); VIDEO_UPDATE( prosoccr );
VIDEO_UPDATE( prosport ); VIDEO_UPDATE( prosport );
@ -56,8 +59,8 @@ static READ8_HANDLER( deco16_bank_r )
return ROM[offset]; return ROM[offset];
/* Else the handler falls through to read the usual address */ /* Else the handler falls through to read the usual address */
if (offset<0x400) return space->machine->generic.colorram.u8[offset]; if (offset<0x400) return liberate_colorram[offset];
if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400]; if (offset<0x800) return liberate_videoram[offset-0x400];
if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0x800]; 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<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200]; if (offset<0x2800) return scratchram[offset-0x2200];
@ -99,9 +102,9 @@ static READ8_HANDLER( prosoccr_bank_r )
return ROM[offset]; return ROM[offset];
/* Else the handler falls through to read the usual address */ /* Else the handler falls through to read the usual address */
if (offset<0x400) return space->machine->generic.colorram.u8[offset]; if (offset<0x400) return liberate_colorram[offset];
if (offset<0x800) return space->machine->generic.videoram.u8[offset-0x400]; if (offset<0x800) return liberate_videoram[offset-0x400];
if (offset<0xc00) return space->machine->generic.colorram.u8[offset-0x800]; if (offset<0xc00) return liberate_colorram[offset-0x800];
if (offset<0x1000) return space->machine->generic.spriteram.u8[offset-0xc00]; 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<0x2200) { logerror("%04x: Unmapped bank read %04x\n",cpu_get_pc(space->cpu),offset); return 0; }
if (offset<0x2800) return scratchram[offset-0x2200]; 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(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(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1fff isn't charram!
AM_RANGE(0x2400, 0x2fff) AM_RAM AM_RANGE(0x2400, 0x2fff) AM_RAM
AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) 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(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w) AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w)
AM_RANGE(0x8000, 0x800f) AM_ROMBANK("bank1") 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(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */ AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r) AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram) 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(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram) AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x800f) AM_WRITE(deco16_io_w) 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(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */ AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(prosoccr_bank_r) 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(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_GENERIC(videoram) 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(0x4c00, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram) AM_RANGE(0x6200, 0x67ff) AM_RAM AM_BASE(&scratchram)
AM_RANGE(0x8000, 0x97ff) AM_READWRITE(prosoccr_charram_r,prosoccr_charram_w) 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(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */ AM_RANGE(0x1000, 0x3fff) AM_ROM /* Mirror of main rom */
AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r) AM_RANGE(0x4000, 0x7fff) AM_READ(deco16_bank_r)
AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4000, 0x43ff) AM_WRITE(liberate_colorram_w) AM_BASE(&liberate_colorram)
AM_RANGE(0x4400, 0x47ff) AM_WRITE(liberate_videoram_w) AM_BASE_GENERIC(videoram) 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(0x4800, 0x4fff) AM_WRITEONLY AM_BASE_GENERIC(spriteram)
AM_RANGE(0x6200, 0x67ff) AM_WRITEONLY AM_BASE(&scratchram) AM_RANGE(0x6200, 0x67ff) AM_WRITEONLY AM_BASE(&scratchram)
AM_RANGE(0xf000, 0xf00f) AM_WRITE(deco16_io_w) AM_RANGE(0xf000, 0xf00f) AM_WRITE(deco16_io_w)

View File

@ -77,6 +77,8 @@ TODO:
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8 *lvcards_videoram;
extern UINT8 *lvcards_colorram;
extern WRITE8_HANDLER( lvcards_videoram_w ); extern WRITE8_HANDLER( lvcards_videoram_w );
extern WRITE8_HANDLER( lvcards_colorram_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 ) static ADDRESS_MAP_START( ponttehk_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) 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(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps 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 // ??? 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 ) static ADDRESS_MAP_START( lvcards_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) 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(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP
AM_RANGE(0xa002, 0xa002) AM_READ_PORT("IN2") 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 ) static ADDRESS_MAP_START( lvpoker_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) 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(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
AM_RANGE(0xa001, 0xa001) AM_READ_PORT("IN1") AM_WRITENOP // lamps 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) AM_RANGE(0xa002, 0xa002) AM_READ(payout_r) AM_WRITE(control_port_2_w)

View File

@ -405,17 +405,19 @@
* Video Hardware * * Video Hardware *
*************************/ *************************/
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER( magicfly_videoram_w ) static WRITE8_HANDLER( magicfly_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( magicfly_colorram_w ) static WRITE8_HANDLER( magicfly_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); 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. x--- ---- Mirrored from bit 3. The code check this one to boot the game.
*/ */
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index]; int code = videoram[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */ int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */ int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 3 to have a normal boot */ /* Seems that bit 7 is mirrored from bit 3 to have a normal boot */
/* Boot only check the first color RAM offset */ /* 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 */ colorram[0] = colorram[0] | ((colorram[0] & 0x08) << 4); /* only for 1st offset */
// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */ //colorram[tile_index] = attr | ((attr & 0x08) << 4); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0); 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. x--- ---- Mirrored from bit 2. The code check this one to boot the game.
*/ */
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index]; int code = videoram[tile_index];
int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */ int bank = (attr & 0x10) >> 4; /* bit 4 switch the gfx banks */
int color = attr & 0x07; /* bits 0-2 for color */ int color = attr & 0x07; /* bits 0-2 for color */
/* Seems that bit 7 is mirrored from bit 2 to have a normal boot */ /* Seems that bit 7 is mirrored from bit 2 to have a normal boot */
/* Boot only check the first color RAM offset */ /* 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 */ colorram[0] = colorram[0] | ((colorram[0] & 0x04) << 5); /* only for 1st offset */
// machine->generic.colorram.u8[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */ //colorram[tile_index] = attr | ((attr & 0x04) << 5); /* for the whole color RAM */
SET_TILE_INFO(bank, code, color, 0); 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(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* MK48Z02B NVRAM */
AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w) 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(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(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_GENERIC(colorram) /* HM6116LP #2 (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(0x2800, 0x2800) AM_READ(mux_port_r) /* multiplexed input port */
AM_RANGE(0x3000, 0x3000) AM_WRITE(mux_port_w) /* output port */ AM_RANGE(0x3000, 0x3000) AM_WRITE(mux_port_w) /* output port */
AM_RANGE(0xc000, 0xffff) AM_ROM /* ROM space */ AM_RANGE(0xc000, 0xffff) AM_ROM /* ROM space */

View File

@ -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(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(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(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&matmania_videoram) AM_SIZE(&matmania_videoram_size)
AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram) 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(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(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect) 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(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(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(0x1400, 0x17ff) AM_RAM AM_BASE(&matmania_colorram2)
AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) AM_RANGE(0x2000, 0x21ff) AM_RAM AM_BASE(&matmania_videoram) AM_SIZE(&matmania_videoram_size)
AM_RANGE(0x2200, 0x23ff) AM_RAM AM_BASE_GENERIC(colorram) 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(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(0x2600, 0x27ff) AM_RAM AM_BASE(&matmania_colorram3)
AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect) AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0") AM_WRITEONLY AM_BASE(&matmania_pageselect)

View File

@ -19,8 +19,11 @@ To enter service mode, keep 1&2 pressed on reset
extern UINT8 *megazone_scrollx; extern UINT8 *megazone_scrollx;
extern UINT8 *megazone_scrolly; extern UINT8 *megazone_scrolly;
extern UINT8 *megazone_videoram;
extern UINT8 *megazone_videoram2; extern UINT8 *megazone_videoram2;
extern UINT8 *megazone_colorram;
extern UINT8 *megazone_colorram2; extern UINT8 *megazone_colorram2;
extern size_t megazone_videoram_size;
extern size_t megazone_videoram2_size; extern size_t megazone_videoram2_size;
static int i8039_status; 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(0x0800, 0x0800) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE(&megazone_scrolly) AM_RANGE(0x1000, 0x1000) AM_WRITEONLY AM_BASE(&megazone_scrolly)
AM_RANGE(0x1800, 0x1800) AM_WRITEONLY AM_BASE(&megazone_scrollx) 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(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(0x2c00, 0x2fff) AM_RAM AM_BASE(&megazone_colorram2)
AM_RANGE(0x3000, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x3000, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("share1") AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("share1")

View File

@ -117,6 +117,8 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8* mermaid_videoram;
extern UINT8* mermaid_colorram;
extern UINT8* mermaid_videoram2; extern UINT8* mermaid_videoram2;
extern UINT8* mermaid_bg_scrollram; extern UINT8* mermaid_bg_scrollram;
extern UINT8* mermaid_fg_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(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcbff) AM_RAM_WRITE(mermaid_videoram2_w) AM_BASE(&mermaid_videoram2) 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(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(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(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, 0xe000) AM_READ_PORT("DSW")
AM_RANGE(0xe000, 0xe001) AM_RAM AM_BASE(&mermaid_ay8910_enable) AM_RANGE(0xe000, 0xe001) AM_RAM AM_BASE(&mermaid_ay8910_enable)
AM_RANGE(0xe002, 0xe002) AM_WRITENOP // ??? AM_RANGE(0xe002, 0xe002) AM_WRITENOP // ???

View File

@ -22,6 +22,9 @@ MAIN BOARD:
#include "sound/sn76496.h" #include "sound/sn76496.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
extern UINT8 *mikie_videoram;
extern UINT8 *mikie_colorram;
extern WRITE8_HANDLER( mikie_videoram_w ); extern WRITE8_HANDLER( mikie_videoram_w );
extern WRITE8_HANDLER( mikie_colorram_w ); extern WRITE8_HANDLER( mikie_colorram_w );
extern WRITE8_HANDLER( mikie_palettebank_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(0x2501, 0x2501) AM_READ_PORT("DSW1")
AM_RANGE(0x2800, 0x288f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x2800, 0x288f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2890, 0x37ff) AM_RAM AM_RANGE(0x2890, 0x37ff) AM_RAM
AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(mikie_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) 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(0x4000, 0x5fff) AM_ROM // Machine checks for extra rom
AM_RANGE(0x6000, 0xffff) AM_ROM AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -132,17 +132,19 @@
* Video Hardware * * Video Hardware *
*************************/ *************************/
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER( miniboy7_videoram_w ) static WRITE8_HANDLER( miniboy7_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( miniboy7_colorram_w ) static WRITE8_HANDLER( miniboy7_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -154,8 +156,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank. ---- --x- tiles bank.
xx-- ---x seems unused. */ xx-- ---x seems unused. */
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index]; int code = videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */ int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color? */ 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 ) static ADDRESS_MAP_START( miniboy7_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x07ff) AM_RAM /* battery backed RAM? */ 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(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(0x1800, 0x25ff) AM_RAM /* looks like videoram */
AM_RANGE(0x2600, 0x27ff) AM_RAM AM_RANGE(0x2600, 0x27ff) AM_RAM
AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x2800, 0x2800) AM_DEVWRITE("crtc", mc6845_address_w)

View File

@ -75,6 +75,8 @@ The End
static UINT8 nAyCtrl, nAyData; static UINT8 nAyCtrl, nAyData;
static UINT8 nmi_mask; static UINT8 nmi_mask;
static UINT8 *videoram;
static UINT8 *colorram;
static VIDEO_START(mirax) static VIDEO_START(mirax)
{ {
@ -117,8 +119,8 @@ static VIDEO_UPDATE(mirax)
{ {
for (x=0;x<32;x++) for (x=0;x<32;x++)
{ {
int tile = screen->machine->generic.videoram.u8[count]; int tile = videoram[count];
int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]); int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8; int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3); tile |= ((color & 0xe0)<<3);
@ -139,8 +141,8 @@ static VIDEO_UPDATE(mirax)
{ {
for (x=0;x<32;x++) for (x=0;x<32;x++)
{ {
int tile = screen->machine->generic.videoram.u8[count]; int tile = videoram[count];
int color = (screen->machine->generic.colorram.u8[x*2]<<8) | (screen->machine->generic.colorram.u8[(x*2)+1]); int color = (colorram[x*2]<<8) | (colorram[(x*2)+1]);
int x_scroll = (color & 0xff00)>>8; int x_scroll = (color & 0xff00)>>8;
tile |= ((color & 0xe0)<<3); 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 ) static ADDRESS_MAP_START( mirax_main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc800, 0xd7ff) AM_RAM 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(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(0xf000, 0xf000) AM_READ_PORT("P1")
AM_RANGE(0xf100, 0xf100) AM_READ_PORT("P2") AM_RANGE(0xf100, 0xf100) AM_READ_PORT("P2")
AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW1") AM_RANGE(0xf200, 0xf200) AM_READ_PORT("DSW1")

View File

@ -21,6 +21,9 @@ static UINT8 mouser_sound_byte;
static UINT8 mouser_nmi_enable; static UINT8 mouser_nmi_enable;
/* From "video/mouser.c" */ /* From "video/mouser.c" */
extern UINT8 *mouser_videoram;
extern UINT8 *mouser_colorram;
PALETTE_INIT( mouser ); PALETTE_INIT( mouser );
WRITE8_HANDLER( mouser_flip_screen_x_w ); WRITE8_HANDLER( mouser_flip_screen_x_w );
WRITE8_HANDLER( mouser_flip_screen_y_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(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x6bff) AM_RAM AM_RANGE(0x6000, 0x6bff) AM_RAM
AM_RANGE(0x8800, 0x88ff) AM_WRITENOP /* unknown */ 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(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(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(0xa001, 0xa001) AM_WRITE(mouser_flip_screen_x_w)
AM_RANGE(0xa002, 0xa002) AM_WRITE(mouser_flip_screen_y_w) AM_RANGE(0xa002, 0xa002) AM_WRITE(mouser_flip_screen_y_w)

View File

@ -47,6 +47,9 @@ ROMs 6A, 7A, 8A, 9A: 2764
#include "sound/sn76496.h" #include "sound/sn76496.h"
extern UINT8 *mrjong_videoram;
extern UINT8 *mrjong_colorram;
extern WRITE8_HANDLER( mrjong_videoram_w ); extern WRITE8_HANDLER( mrjong_videoram_w );
extern WRITE8_HANDLER( mrjong_colorram_w ); extern WRITE8_HANDLER( mrjong_colorram_w );
extern WRITE8_HANDLER( mrjong_flipscreen_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(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(mrjong_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0xe400, 0xe7ff) AM_RAM_WRITE(mrjong_colorram_w) AM_BASE(&mrjong_colorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static WRITE8_HANDLER( io_0x00_w ) static WRITE8_HANDLER( io_0x00_w )

View File

@ -56,6 +56,8 @@ $7004 writes, related to $7000 reads
#include "deprecat.h" #include "deprecat.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static PALETTE_INIT( olibochu ) static PALETTE_INIT( olibochu )
@ -97,13 +99,13 @@ static PALETTE_INIT( olibochu )
static WRITE8_HANDLER( olibochu_videoram_w ) static WRITE8_HANDLER( olibochu_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( olibochu_colorram_w ) static WRITE8_HANDLER( olibochu_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); 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 ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3); int code = videoram[tile_index] + ((attr & 0x20) << 3);
int color = (attr & 0x1f) + 0x20; int color = (attr & 0x1f) + 0x20;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0); 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 ) static ADDRESS_MAP_START( olibochu_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(olibochu_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(olibochu_colorram_w) AM_BASE(&colorram)
AM_RANGE(0x9000, 0x903f) AM_RAM //??? AM_RANGE(0x9000, 0x903f) AM_RAM //???
AM_RANGE(0x9800, 0x983f) AM_RAM //??? AM_RANGE(0x9800, 0x983f) AM_RAM //???
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")

View File

@ -892,8 +892,8 @@ static WRITE8_HANDLER( mspacman_enable_decode_w ) { mspacman_enable_deco
static ADDRESS_MAP_START( pacman_map, ADDRESS_SPACE_PROGRAM, 8 ) 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. //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(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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) 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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) static ADDRESS_MAP_START( woodpek_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) static ADDRESS_MAP_START( alibaba_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4eef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ef0, 0x4eff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) static ADDRESS_MAP_START( dremshpr_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(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_GENERIC(colorram) 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(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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) 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 ) static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1") 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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) static ADDRESS_MAP_START( vanvan_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(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_GENERIC(colorram) 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(0x4800, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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) 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 ) static ADDRESS_MAP_START( s2650games_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x8000) AM_ROMBANK("bank1") 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(0x1400, 0x141f) AM_MIRROR(0xe000) AM_WRITE(s2650games_scroll_w)
AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITEONLY AM_RANGE(0x1420, 0x148f) AM_MIRROR(0xe000) AM_WRITEONLY
AM_RANGE(0x1490, 0x149f) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE(&s2650games_spriteram) 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(0x1500, 0x1500) AM_MIRROR(0xe000) AM_READ_PORT("IN0")
AM_RANGE(0x1540, 0x1540) AM_MIRROR(0xe000) AM_READ_PORT("IN1") AM_RANGE(0x1540, 0x1540) AM_MIRROR(0xe000) AM_READ_PORT("IN1")
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0xe000) AM_READ_PORT("DSW0") 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(0x1c00, 0x1fef) AM_MIRROR(0xe000) AM_RAM
AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x1ff0, 0x1fff) AM_MIRROR(0xe000) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2000, 0x2fff) AM_MIRROR(0x8000) AM_ROMBANK("bank2") 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 ) static ADDRESS_MAP_START( rocktrv2_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w) AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_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 ) static ADDRESS_MAP_START( bigbucks_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM 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(0x4000, 0x43ff) AM_RAM_WRITE(pacman_videoram_w) AM_BASE(&pacman_videoram)
AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w) AM_RANGE(0x5000, 0x5000) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x5001, 0x5001) AM_DEVWRITE("namco", pacman_sound_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 ) static ADDRESS_MAP_START( mschamp_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") 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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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 ) 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. //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(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(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_GENERIC(colorram) 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(0x4800, 0x4bff) AM_MIRROR(0xa000) AM_READ(pacman_read_nop) AM_WRITENOP
AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM AM_RANGE(0x4c00, 0x4fef) AM_MIRROR(0xa000) AM_RAM
AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x4ff0, 0x4fff) AM_MIRROR(0xa000) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)

View File

@ -70,6 +70,7 @@ Stephh's notes (based on the game Z80 code and some tests) :
#include "machine/segacrpt.h" #include "machine/segacrpt.h"
extern UINT8 *pbaction_videoram,*pbaction_colorram;
extern UINT8 *pbaction_videoram2,*pbaction_colorram2; extern UINT8 *pbaction_videoram2,*pbaction_colorram2;
extern WRITE8_HANDLER( pbaction_videoram_w ); 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(0xc000, 0xcfff) AM_RAM AM_BASE(&work_ram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(pbaction_videoram2_w) AM_BASE(&pbaction_videoram2) 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(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(0xd800, 0xdbff) AM_RAM_WRITE(pbaction_videoram_w) AM_BASE(&pbaction_videoram)
AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(pbaction_colorram_w) AM_BASE_GENERIC(colorram) 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(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(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) AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1") AM_WRITE(interrupt_enable_w)

View File

@ -98,8 +98,8 @@
static ADDRESS_MAP_START( pengo_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( pengo_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM 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(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_GENERIC(colorram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pacman_colorram_w) AM_BASE(&pacman_colorram)
AM_RANGE(0x8800, 0x8fef) AM_RAM AM_RANGE(0x8800, 0x8fef) AM_RAM
AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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) 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 ) static ADDRESS_MAP_START( jrpacmbl_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM 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(0x8800, 0x8fef) AM_RAM
AM_RANGE(0x8ff0, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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) AM_RANGE(0x9000, 0x901f) AM_DEVWRITE("namco", pacman_sound_w) AM_BASE(&pacman_soundregs)

View File

@ -9,6 +9,9 @@ Ping Pong (c) 1985 Konami
#include "deprecat.h" #include "deprecat.h"
#include "sound/sn76496.h" #include "sound/sn76496.h"
extern UINT8 *pingpong_videoram;
extern UINT8 *pingpong_colorram;
extern WRITE8_HANDLER( pingpong_videoram_w ); extern WRITE8_HANDLER( pingpong_videoram_w );
extern WRITE8_HANDLER( pingpong_colorram_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 ) static ADDRESS_MAP_START( pingpong_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&pingpong_videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM AM_RANGE(0x9000, 0x9002) AM_RAM
AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM 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(0x5400, 0x57ff) AM_RAM
AM_RANGE(0x6000, 0x6007) AM_WRITENOP /* solenoid writes */ AM_RANGE(0x6000, 0x6007) AM_WRITENOP /* solenoid writes */
AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN4") AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN4")
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(pingpong_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(pingpong_videoram_w) AM_BASE(&pingpong_videoram)
AM_RANGE(0x9000, 0x9002) AM_RAM AM_RANGE(0x9000, 0x9002) AM_RAM
AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x9003, 0x9052) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x9053, 0x97ff) AM_RAM AM_RANGE(0x9053, 0x97ff) AM_RAM

View File

@ -21,6 +21,8 @@ Notes:
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8 *popeye_videoram;
extern UINT8 *popeye_colorram;
extern UINT8 *popeye_background_pos; extern UINT8 *popeye_background_pos;
extern UINT8 *popeye_palettebank; 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(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM AM_RANGE(0x8e80, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w) AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w) AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END 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(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM AM_RANGE(0x8e80, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xdfff) AM_WRITE(popeye_bitmap_w) AM_RANGE(0xc000, 0xdfff) AM_WRITE(popeye_bitmap_w)
AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w) AM_RANGE(0xe000, 0xe001) AM_READWRITE(protection_r,protection_w)
ADDRESS_MAP_END 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(0x8c03, 0x8c03) AM_RAM AM_BASE(&popeye_palettebank)
AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8c04, 0x8e7f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8e80, 0x8fff) AM_RAM AM_RANGE(0x8e80, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0xa000, 0xa3ff) AM_WRITE(popeye_videoram_w) AM_BASE(&popeye_videoram)
AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xa400, 0xa7ff) AM_WRITE(popeye_colorram_w) AM_BASE(&popeye_colorram)
AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w) AM_RANGE(0xc000, 0xcfff) AM_WRITE(skyskipr_bitmap_w)
AM_RANGE(0xe000, 0xe01f) AM_ROM AM_RANGE(0xe000, 0xe01f) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -34,24 +34,26 @@ TODO:
#include "sound/msm5205.h" #include "sound/msm5205.h"
static int gfxbank; static int gfxbank;
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER( rmhaihai_videoram_w ) static WRITE8_HANDLER( rmhaihai_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( rmhaihai_colorram_w ) static WRITE8_HANDLER( rmhaihai_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4); int code = videoram[tile_index] + (gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
int color = (gfxbank << 5) + (attr >> 3); int color = (gfxbank << 5) + (attr >> 3);
SET_TILE_INFO(0, code, color, 0); 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 ) static ADDRESS_MAP_START( rmhaihai_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x9fff) AM_ROM AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xb83c, 0xb83c) AM_WRITENOP // ?? AM_RANGE(0xb83c, 0xb83c) AM_WRITENOP // ??
AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP // ?? AM_RANGE(0xbc00, 0xbc00) AM_WRITENOP // ??
AM_RANGE(0xc000, 0xdfff) AM_ROM 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(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1") AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(rmhaihai_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(rmhaihai_videoram_w) AM_BASE(&videoram)
AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank2") AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank2")
AM_RANGE(0xe000, 0xffff) AM_ROM AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -13,6 +13,8 @@ Issues:
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8 *rollrace_videoram;
extern UINT8 *rollrace_colorram;
VIDEO_UPDATE( rollrace ); VIDEO_UPDATE( rollrace );
PALETTE_INIT( wiz ); 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(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd806, 0xd806) AM_READNOP /* looks like a watchdog, bit4 checked*/ 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(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(0xe000, 0xe3ff) AM_RAM AM_BASE(&rollrace_videoram)
AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE_GENERIC(colorram) AM_RANGE(0xe400, 0xe47f) AM_RAM AM_BASE(&rollrace_colorram)
AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_w)
AM_RANGE(0xec00, 0xec0f) AM_NOP /* Analog sound effects ?? ec00 sound enable ?*/ AM_RANGE(0xec00, 0xec0f) AM_NOP /* Analog sound effects ?? ec00 sound enable ?*/
AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)

View File

@ -38,6 +38,8 @@ Stephh's notes (based on the game M6502 code and some tests) :
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "includes/konamipt.h" #include "includes/konamipt.h"
extern UINT8 *scotrsht_videoram;
extern UINT8 *scotrsht_colorram;
extern UINT8 *scotrsht_scroll; extern UINT8 *scotrsht_scroll;
extern WRITE8_HANDLER( scotrsht_videoram_w ); 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 ) 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(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE(&scotrsht_colorram)
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE_GENERIC(videoram) 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(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
AM_RANGE(0x10c0, 0x1fff) AM_RAM /* work ram */ AM_RANGE(0x10c0, 0x1fff) AM_RAM /* work ram */
AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE(&scotrsht_scroll) /* scroll registers */ AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE(&scotrsht_scroll) /* scroll registers */

View File

@ -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/ay8910.h"
#include "sound/dac.h" #include "sound/dac.h"
extern UINT8 *seicross_videoram;
extern UINT8 *seicross_colorram;
extern UINT8 *seicross_row_scroll; extern UINT8 *seicross_row_scroll;
extern WRITE8_HANDLER( seicross_videoram_w ); 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(0x0000, 0x77ff) AM_ROM
AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1") AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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(0x9800, 0x981f) AM_RAM AM_BASE(&seicross_row_scroll)
AM_RANGE(0x9880, 0x989f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram2) 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(0xa000, 0xa000) AM_READ_PORT("IN0") /* IN0 */
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */ AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") /* IN1 */
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST") /* test */ AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST") /* test */

View File

@ -14,6 +14,8 @@ driver by Allard Van Der Bas
UINT8 shaolins_nmi_enable; UINT8 shaolins_nmi_enable;
extern UINT8 *shaolins_videoram;
extern UINT8 *shaolins_colorram;
WRITE8_HANDLER( shaolins_videoram_w ); WRITE8_HANDLER( shaolins_videoram_w );
WRITE8_HANDLER( shaolins_colorram_w ); WRITE8_HANDLER( shaolins_colorram_w );
WRITE8_HANDLER( shaolins_palettebank_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(0x2800, 0x2bff) AM_RAM /* RAM BANK 2 */
AM_RANGE(0x3000, 0x30ff) AM_RAM /* RAM BANK 1 */ AM_RANGE(0x3000, 0x30ff) AM_RAM /* RAM BANK 1 */
AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) 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(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE(&shaolins_colorram)
AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE_GENERIC(videoram) 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(0x4000, 0x5fff) AM_ROM /* Machine checks for extra rom */
AM_RANGE(0x6000, 0xffff) AM_ROM AM_RANGE(0x6000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -40,6 +40,8 @@ Notes:
#include "sound/2203intf.h" #include "sound/2203intf.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
extern UINT8 *sidearms_videoram;
extern UINT8 *sidearms_colorram;
extern UINT8 *sidearms_bg_scrollx; extern UINT8 *sidearms_bg_scrollx;
extern UINT8 *sidearms_bg_scrolly; 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(0xc808, 0xc809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly) 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(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(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END 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(0xe808, 0xe809) AM_WRITEONLY AM_BASE(&sidearms_bg_scrollx)
AM_RANGE(0xe80a, 0xe80b) AM_WRITEONLY AM_BASE(&sidearms_bg_scrolly) 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(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(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( sidearms_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) 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(0xe805, 0xe805) AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w) AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_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(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_BASE(&sidearms_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_BASE(&sidearms_colorram)
AM_RANGE(0xe000, 0xefff) AM_RAM AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -20,6 +20,9 @@ i8751 protection simluation and other fixes by Bryan McPhail, 15/10/00.
#include "sound/3526intf.h" #include "sound/3526intf.h"
/* from video */ /* from video */
extern UINT8 *sidepckt_videoram;
extern UINT8 *sidepckt_colorram;
PALETTE_INIT( sidepckt ); PALETTE_INIT( sidepckt );
VIDEO_START( sidepckt ); VIDEO_START( sidepckt );
VIDEO_UPDATE( sidepckt ); VIDEO_UPDATE( sidepckt );
@ -127,9 +130,9 @@ static WRITE8_HANDLER( sidepctj_i8751_w )
static ADDRESS_MAP_START( sidepckt_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sidepckt_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_RAM 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(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(0x1c00, 0x1fff) AM_RAM // ???
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x2100, 0x24ff) AM_RAM // ??? AM_RANGE(0x2100, 0x24ff) AM_RAM // ???

View File

@ -413,8 +413,8 @@ static ADDRESS_MAP_START( perfrman_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1") AM_RANGE(0x8800, 0x880f) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8810, 0x8fff) AM_RAMBANK("bank1") /* Shared RAM with sound CPU */ 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(0x9000, 0x97ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
AM_RANGE(0x9800, 0x9fff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram) 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) AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
ADDRESS_MAP_END 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(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1") AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM 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(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram) 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(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo) AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi) AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly) 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(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_colorram) AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( slapfght_map, ADDRESS_SPACE_PROGRAM, 8 ) 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(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1") AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM 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(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram) 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(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo) AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi) AM_RANGE(0xe801, 0xe801) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly) AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly)
// AM_RANGE(0xe803, 0xe803) AM_READ(mcu_r) // MCU lives here // 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(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_colorram) AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( slapbtuk_map, ADDRESS_SPACE_PROGRAM, 8 ) 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(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1") AM_RANGE(0xc800, 0xc80f) AM_RAM AM_SHARE("share1")
AM_RANGE(0xc810, 0xcfff) AM_RAM 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(0xd000, 0xd7ff) AM_RAM_WRITE(slapfight_videoram_w) AM_BASE(&slapfight_videoram)
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(slapfight_colorram_w) AM_BASE_GENERIC(colorram) 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(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi) AM_RANGE(0xe800, 0xe800) AM_WRITEONLY AM_BASE(&slapfight_scrollx_hi)
AM_RANGE(0xe802, 0xe802) AM_WRITEONLY AM_BASE(&slapfight_scrolly) 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_WRITEONLY AM_BASE(&slapfight_scrollx_lo)
// AM_RANGE(0xe803, 0xe803) AM_READ(getstar_e803_r) // 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(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(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_colorram) AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(slapfight_fixcol_w) AM_BASE(&slapfight_fixcolorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( slapfght_io_map, ADDRESS_SPACE_IO, 8 ) static ADDRESS_MAP_START( slapfght_io_map, ADDRESS_SPACE_IO, 8 )

View File

@ -90,6 +90,7 @@ static int jpeg_y=0;
static int tmp_counter; static int tmp_counter;
static int clr_offset=0; static int clr_offset=0;
static UINT8 *colorram;
static bitmap_t *sliver_bitmap_fg; static bitmap_t *sliver_bitmap_fg;
static bitmap_t *sliver_bitmap_bg; static bitmap_t *sliver_bitmap_bg;
@ -183,7 +184,7 @@ static WRITE16_HANDLER( sliver_RAMDAC_offset_w )
static WRITE16_HANDLER( sliver_RAMDAC_color_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; 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; if(y<0 ||x<0 || x>383 || y> 255) return;
addr*=3; addr*=3;
b=machine->generic.colorram.u8[addr]<<2; b=colorram[addr]<<2;
g=machine->generic.colorram.u8[addr+1]<<2; g=colorram[addr+1]<<2;
r=machine->generic.colorram.u8[addr+2]<<2; r=colorram[addr+2]<<2;
if (sliver_bitmap_fg->bpp == 32) if (sliver_bitmap_fg->bpp == 32)
{ {
@ -590,7 +591,7 @@ ROM_END
static DRIVER_INIT(sliver) static DRIVER_INIT(sliver)
{ {
jpeg_addr = -1; 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 ) GAME( 1996, sliver, 0, sliver, sliver, sliver, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )

View File

@ -322,8 +322,8 @@ static CUSTOM_INPUT( sasuke_count_r )
static ADDRESS_MAP_START( sasuke_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( sasuke_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2) 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(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram) 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(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_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 ) static ADDRESS_MAP_START( satansat_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2) 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(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram) 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(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_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 ) static ADDRESS_MAP_START( vanguard_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2) 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(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram) 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(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x3000, 0x3000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE("crtc", mc6845_register_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 ) static ADDRESS_MAP_START( fantasy_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2) 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(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram) 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(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("crtc", mc6845_address_w)
AM_RANGE(0x2001, 0x2001) AM_DEVWRITE("crtc", mc6845_register_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 ) static ADDRESS_MAP_START( pballoon_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_RANGE(0x0000, 0x03ff) AM_RAM
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(snk6502_videoram2_w) AM_BASE(&snk6502_videoram2) 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(0x0800, 0x0bff) AM_RAM_WRITE(snk6502_videoram_w) AM_BASE(&snk6502_videoram)
AM_RANGE(0x0c00, 0x0fff) AM_RAM_WRITE(snk6502_colorram_w) AM_BASE_GENERIC(colorram) 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(0x1000, 0x1fff) AM_RAM_WRITE(snk6502_charram_w) AM_BASE(&snk6502_charram)
AM_RANGE(0x3000, 0x9fff) AM_ROM AM_RANGE(0x3000, 0x9fff) AM_ROM
AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("crtc", mc6845_address_w) AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("crtc", mc6845_address_w)

View File

@ -368,6 +368,9 @@
/* from video */ /* from video */
extern UINT8 *snookr10_videoram;
extern UINT8 *snookr10_colorram;
WRITE8_HANDLER( snookr10_videoram_w ); WRITE8_HANDLER( snookr10_videoram_w );
WRITE8_HANDLER( snookr10_colorram_w ); WRITE8_HANDLER( snookr10_colorram_w );
PALETTE_INIT( snookr10 ); 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(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(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */ 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(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&snookr10_videoram)
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&snookr10_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END 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(0x4003, 0x4003) AM_READ_PORT("SW1") /* DS1 */
AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */ AM_RANGE(0x5000, 0x5000) AM_WRITE(output_port_0_w) /* OUT0 */
AM_RANGE(0x5001, 0x5001) AM_WRITE(output_port_1_w) /* OUT1 */ 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(0x6000, 0x6fff) AM_RAM_WRITE(snookr10_videoram_w) AM_BASE(&snookr10_videoram)
AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(snookr10_colorram_w) AM_BASE(&snookr10_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -10,6 +10,8 @@ driver by Mirko Buffoni
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
#include "sound/ay8910.h" #include "sound/ay8910.h"
extern UINT8 *solomon_videoram;
extern UINT8 *solomon_colorram;
extern UINT8 *solomon_videoram2; extern UINT8 *solomon_videoram2;
extern UINT8 *solomon_colorram2; extern UINT8 *solomon_colorram2;
@ -53,8 +55,8 @@ static READ8_HANDLER( solomon_0xe603_r )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_RANGE(0xc000, 0xcfff) AM_RAM
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE_GENERIC(colorram) 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_GENERIC(videoram) 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(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(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_BASE(&solomon_videoram2)
AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)

View File

@ -37,6 +37,8 @@ a000-a3ff R/W X/Y scroll position of each character (can be scrolled up
#include "sound/sn76496.h" #include "sound/sn76496.h"
extern UINT8 *spcforce_videoram;
extern UINT8 *spcforce_colorram;
extern UINT8 *spcforce_scrollram; extern UINT8 *spcforce_scrollram;
WRITE8_HANDLER( spcforce_flip_screen_w ); 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(0x700b, 0x700b) AM_WRITE(spcforce_flip_screen_w)
AM_RANGE(0x700e, 0x700e) AM_WRITE(interrupt_enable_w) AM_RANGE(0x700e, 0x700e) AM_WRITE(interrupt_enable_w)
AM_RANGE(0x700f, 0x700f) AM_WRITENOP AM_RANGE(0x700f, 0x700f) AM_WRITENOP
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE(&spcforce_videoram)
AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_GENERIC(colorram) AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&spcforce_colorram)
AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spcforce_scrollram) AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spcforce_scrollram)
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -79,6 +79,8 @@ PS / PD : key matrix
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "video/mc6845.h" #include "video/mc6845.h"
extern UINT8 *speedatk_videoram;
extern UINT8 *speedatk_colorram;
static UINT8 mux_data; static UINT8 mux_data;
static UINT8 km_status,coin_settings; 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(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(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_RANGE(0x8800, 0x8fff) AM_RAM
AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE(&speedatk_colorram)
ADDRESS_MAP_END ADDRESS_MAP_END
static ADDRESS_MAP_START( speedatk_io, ADDRESS_SPACE_IO, 8 ) static ADDRESS_MAP_START( speedatk_io, ADDRESS_SPACE_IO, 8 )

View File

@ -94,11 +94,13 @@ Note
static UINT8 *spool99_main; static UINT8 *spool99_main;
static tilemap *sc0_tilemap; static tilemap *sc0_tilemap;
static UINT8 *spool99_cram;
static UINT8 *spool99_vram;
static TILE_GET_INFO( get_spool99_tile_info ) 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 code = ((spool99_vram[tile_index*2+1]<<8) | (spool99_vram[tile_index*2+0]));
int color = machine->generic.colorram.u8[tile_index*2+0]; int color = spool99_cram[tile_index*2+0];
SET_TILE_INFO( SET_TILE_INFO(
0, 0,
@ -120,13 +122,13 @@ static VIDEO_UPDATE(spool99)
static WRITE8_HANDLER( spool99_vram_w ) 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); tilemap_mark_tile_dirty(sc0_tilemap,offset/2);
} }
static WRITE8_HANDLER( spool99_cram_w ) 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); 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(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram) // palette
AM_RANGE(0xb800, 0xdfff) AM_RAM AM_RANGE(0xb800, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(spool99_vram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(spool99_cram_w) AM_BASE(&spool99_cram)
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -13,6 +13,8 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/dac.h" #include "sound/dac.h"
extern UINT8 *ssozumo_videoram;
extern UINT8 *ssozumo_colorram;
extern UINT8 *ssozumo_videoram2; extern UINT8 *ssozumo_videoram2;
extern UINT8 *ssozumo_colorram2; 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(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(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(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(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE(&ssozumo_videoram)
AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&ssozumo_colorram)
AM_RANGE(0x3400, 0x35ff) AM_RAM AM_RANGE(0x3400, 0x35ff) AM_RAM
AM_RANGE(0x3600, 0x37ff) AM_RAM AM_RANGE(0x3600, 0x37ff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w) AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w)

View File

@ -26,6 +26,8 @@ To enter test mode in smoto, keep F2 pressed during boot.
Video Hardware Video Hardware
***************************************************************************/ ***************************************************************************/
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *tmap; static tilemap *tmap;
static int tiles_offset; static int tiles_offset;
@ -38,19 +40,19 @@ static WRITE8_HANDLER( subsino_tiles_offset_w )
static WRITE8_HANDLER( subsino_videoram_w ) static WRITE8_HANDLER( subsino_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset); tilemap_mark_tile_dirty(tmap, offset);
} }
static WRITE8_HANDLER( subsino_colorram_w ) static WRITE8_HANDLER( subsino_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(tmap, offset); tilemap_mark_tile_dirty(tmap, offset);
} }
static TILE_GET_INFO( get_tile_info ) 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; UINT16 color = (code >> 8) & 0x0f;
code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0); code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
code += tiles_offset; 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( 0x0d01b, 0x0d01b ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram ) 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_GENERIC( videoram ) AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
ADDRESS_MAP_END 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( 0x0901b, 0x0901b ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM AM_RANGE( 0x07800, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE_GENERIC( colorram ) 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_GENERIC( videoram ) AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram )
AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions AM_RANGE( 0x00000, 0x13fff ) AM_ROM //overlap unmapped regions
ADDRESS_MAP_END 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( 0x0900d, 0x0900d ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM AM_RANGE( 0x07800, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram ) 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_GENERIC( colorram ) AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions
AM_RANGE( 0x10000, 0x13fff ) AM_ROM 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( 0x0900d, 0x0900d ) AM_WRITE( subsino_tiles_offset_w )
AM_RANGE( 0x07800, 0x07fff ) AM_RAM AM_RANGE( 0x07800, 0x07fff ) AM_RAM
AM_RANGE( 0x08000, 0x087ff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE_GENERIC( videoram ) 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_GENERIC( colorram ) AM_RANGE( 0x08800, 0x08fff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram )
AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions AM_RANGE( 0x00000, 0x8fff ) AM_ROM //overlap unmapped regions

View File

@ -30,6 +30,9 @@ TODO:
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/dac.h" #include "sound/dac.h"
extern UINT8 *tagteam_videoram;
extern UINT8 *tagteam_colorram;
extern WRITE8_HANDLER( tagteam_videoram_w ); extern WRITE8_HANDLER( tagteam_videoram_w );
extern WRITE8_HANDLER( tagteam_colorram_w ); extern WRITE8_HANDLER( tagteam_colorram_w );
extern READ8_HANDLER( tagteam_mirrorvideoram_r ); 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(0x4000, 0x43ff) AM_READWRITE(tagteam_mirrorvideoram_r, tagteam_mirrorvideoram_w)
AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w) AM_RANGE(0x4400, 0x47ff) AM_READWRITE(tagteam_mirrorcolorram_r, tagteam_mirrorcolorram_w)
AM_RANGE(0x4800, 0x4fff) AM_READONLY AM_RANGE(0x4800, 0x4fff) AM_READONLY
AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE_GENERIC(videoram) AM_RANGE(0x4800, 0x4bff) AM_WRITE(tagteam_videoram_w) AM_BASE(&tagteam_videoram)
AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE_GENERIC(colorram) AM_RANGE(0x4c00, 0x4fff) AM_WRITE(tagteam_colorram_w) AM_BASE(&tagteam_colorram)
AM_RANGE(0x8000, 0xffff) AM_ROM AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END ADDRESS_MAP_END

View File

@ -25,6 +25,8 @@ VIDEO_START( tankbust );
VIDEO_UPDATE( tankbust ); VIDEO_UPDATE( tankbust );
extern UINT8 *tankbust_txtram; extern UINT8 *tankbust_txtram;
extern UINT8 *tankbust_videoram;
extern UINT8 *tankbust_colorram;
WRITE8_HANDLER( tankbust_background_videoram_w ); WRITE8_HANDLER( tankbust_background_videoram_w );
READ8_HANDLER ( tankbust_background_videoram_r ); 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(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x9fff) AM_ROMBANK("bank1") AM_RANGE(0x6000, 0x9fff) AM_ROMBANK("bank1")
AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank2") 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(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_GENERIC(colorram) 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(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(0xd800, 0xd8ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe007) AM_READWRITE(debug_output_area_r, tankbust_e0xx_w) AM_RANGE(0xe000, 0xe007) AM_READWRITE(debug_output_area_r, tankbust_e0xx_w)

View File

@ -22,12 +22,14 @@
#include "cpu/z80/z80.h" #include "cpu/z80/z80.h"
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *tmap; static tilemap *tmap;
static TILE_GET_INFO( get_tile_info ) static TILE_GET_INFO( get_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = videoram[tile_index];
int color=machine->generic.colorram.u8[tile_index]; int color = colorram[tile_index];
if((color&1 ) || (color>15) ) if((color&1 ) || (color>15) )
logerror("COLOR %i\n",color); logerror("COLOR %i\n",color);
@ -56,8 +58,8 @@ static VIDEO_START( tattack )
static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x0000, 0x0fff) AM_ROM
// AM_RANGE(0x4000, 0x4000) AM_READNOP $315 // AM_RANGE(0x4000, 0x4000) AM_READNOP $315
AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_GENERIC(videoram) AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE(&videoram)
AM_RANGE(0x7000, 0x73ff) AM_RAM AM_BASE_GENERIC(colorram) // color map ? something else .. only bits 1-3 are used 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(0x6000, 0x6000) AM_READ_PORT("DSW2")
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1") // dsw ? something else ? AM_RANGE(0xa000, 0xa000) AM_READ_PORT("DSW1") // dsw ? something else ?
AM_RANGE(0xc000, 0xc000) AM_READ_PORT("INPUTS") AM_WRITENOP AM_RANGE(0xc000, 0xc000) AM_READ_PORT("INPUTS") AM_WRITENOP

View File

@ -94,6 +94,8 @@ TO DO :
#include "sound/msm5205.h" #include "sound/msm5205.h"
#include "gridiron.lh" #include "gridiron.lh"
extern UINT8 *tehkanwc_videoram;
extern UINT8 *tehkanwc_colorram;
extern UINT8 *tehkanwc_videoram2; extern UINT8 *tehkanwc_videoram2;
extern WRITE8_HANDLER( tehkanwc_videoram_w ); 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(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1") 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(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_GENERIC(colorram) 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(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(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) AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(tehkanwc_videoram2_w) AM_SHARE("share6") AM_BASE(&tehkanwc_videoram2)

View File

@ -37,6 +37,9 @@ Daughterboard: Custom made, plugged in the 2 roms and Z80 mainboard sockets.
#include "sound/dac.h" #include "sound/dac.h"
/* from video */ /* from video */
extern UINT8 *trucocl_videoram;
extern UINT8 *trucocl_colorram;
WRITE8_HANDLER( trucocl_videoram_w ); WRITE8_HANDLER( trucocl_videoram_w );
WRITE8_HANDLER( trucocl_colorram_w ); WRITE8_HANDLER( trucocl_colorram_w );
PALETTE_INIT( trucocl ); PALETTE_INIT( trucocl );
@ -88,8 +91,8 @@ static WRITE8_DEVICE_HANDLER( audio_dac_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_RAM_WRITE(trucocl_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(trucocl_colorram_w) AM_BASE(&trucocl_colorram)
AM_RANGE(0x4c00, 0x4fff) AM_RAM AM_RANGE(0x4c00, 0x4fff) AM_RAM
AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w) AM_RANGE(0x5000, 0x5000) AM_WRITE(irq_enable_w)
AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0") AM_RANGE(0x5000, 0x503f) AM_READ_PORT("IN0")

View File

@ -47,6 +47,10 @@ TODO:
#include "sound/ay8910.h" #include "sound/ay8910.h"
#include "sound/dac.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( vsgongf_color_w );
WRITE8_HANDLER( tsamurai_bgcolor_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_videoram_w );
WRITE8_HANDLER( tsamurai_fg_colorram_w ); WRITE8_HANDLER( tsamurai_fg_colorram_w );
extern VIDEO_START( tsamurai ); extern VIDEO_START( tsamurai );
extern UINT8 *tsamurai_videoram;
extern VIDEO_START( vsgongf ); extern VIDEO_START( vsgongf );
extern VIDEO_UPDATE( 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(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_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(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_GENERIC(colorram) AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&tsamurai_colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM 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(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP 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(0xd900, 0xd900) AM_READ(unknown_d900_r)
AM_RANGE(0xd938, 0xd938) AM_READ(unknown_d938_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(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_GENERIC(colorram) AM_RANGE(0xe400, 0xe43f) AM_RAM_WRITE(tsamurai_fg_colorram_w) AM_BASE(&tsamurai_colorram)
AM_RANGE(0xe440, 0xe7ff) AM_RAM 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(0xf000, 0xf3ff) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xf400, 0xf400) AM_WRITENOP/* This is always written with F401, F402 & F403 data */ 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(0xa006, 0xa006) AM_READ(vsgongf_a006_r) /* protection */
AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */ AM_RANGE(0xa100, 0xa100) AM_READ(vsgongf_a100_r) /* protection */
AM_RANGE(0xc000, 0xc7ff) AM_RAM /* work ram */ 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(0xe400, 0xe43f) AM_RAM AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe440, 0xe47b) AM_RAM AM_RANGE(0xe440, 0xe47b) AM_RAM
AM_RANGE(0xe800, 0xe800) AM_WRITE(vsgongf_sound_command_w) AM_RANGE(0xe800, 0xe800) AM_WRITE(vsgongf_sound_command_w)

View File

@ -42,6 +42,8 @@ Tomasz Slanina 20050225
/* video */ /* video */
static UINT8 *vroulet_ball; static UINT8 *vroulet_ball;
static UINT8 *videoram;
static UINT8 *colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static WRITE8_HANDLER(vroulet_paletteram_w) static WRITE8_HANDLER(vroulet_paletteram_w)
@ -66,20 +68,20 @@ static WRITE8_HANDLER(vroulet_paletteram_w)
static WRITE8_HANDLER( vroulet_videoram_w ) static WRITE8_HANDLER( vroulet_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static WRITE8_HANDLER( vroulet_colorram_w ) static WRITE8_HANDLER( vroulet_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0xc0) << 2); int code = videoram[tile_index] + ((attr & 0xc0) << 2);
int color = attr & 0x1f; int color = attr & 0x1f;
SET_TILE_INFO(0, code, color, 0); 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(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
AM_RANGE(0x8000, 0x8000) AM_NOP AM_RANGE(0x8000, 0x8000) AM_NOP
AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE_GENERIC(videoram) 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_GENERIC(colorram) 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(0xa000, 0xa001) AM_RAM AM_BASE(&vroulet_ball)
AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0xb000, 0xb0ff) AM_WRITE(vroulet_paletteram_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0xc000, 0xc000) AM_NOP AM_RANGE(0xc000, 0xc000) AM_NOP

View File

@ -85,8 +85,8 @@ static WRITE8_HANDLER( subcpu_reset_w )
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */ AM_RANGE(0x8000, 0x83ff) AM_BASE(&wiping_videoram)
AM_RANGE(0x8400, 0x87ff) AM_BASE_GENERIC(colorram) AM_RANGE(0x8400, 0x87ff) AM_BASE(&wiping_colorram)
AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_GENERIC(spriteram) AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_GENERIC(spriteram)
AM_RANGE(0x8000, 0x8bff) AM_RAM AM_RANGE(0x8000, 0x8bff) AM_RAM
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1) AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1)

View File

@ -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(0xd840, 0xd85f) AM_BASE_GENERIC(spriteram2) AM_SIZE_GENERIC(spriteram)
AM_RANGE(0xd000, 0xd85f) AM_RAM AM_RANGE(0xd000, 0xd85f) AM_RAM
AM_RANGE(0xe000, 0xe3ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */ 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(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram) AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram)
AM_RANGE(0xe000, 0xe85f) AM_RAM AM_RANGE(0xe000, 0xe85f) AM_RAM

View File

@ -7,6 +7,8 @@ WRITE8_HANDLER( bagman_pal16r6_w );
/*----------- defined in video/bagman.c -----------*/ /*----------- defined in video/bagman.c -----------*/
extern UINT8 *bagman_videoram;
extern UINT8 *bagman_colorram;
extern UINT8 *bagman_video_enable; extern UINT8 *bagman_video_enable;
WRITE8_HANDLER( bagman_videoram_w ); WRITE8_HANDLER( bagman_videoram_w );

View File

@ -16,6 +16,8 @@ READ8_HANDLER( maniach_mcu_status_r );
/*----------- defined in video/matmania.c -----------*/ /*----------- defined in video/matmania.c -----------*/
extern UINT8 *matmania_videoram,*matmania_colorram;
extern size_t matmania_videoram_size;
extern UINT8 *matmania_videoram2,*matmania_colorram2; extern UINT8 *matmania_videoram2,*matmania_colorram2;
extern size_t matmania_videoram2_size; extern size_t matmania_videoram2_size;
extern UINT8 *matmania_videoram3,*matmania_colorram3; extern UINT8 *matmania_videoram3,*matmania_colorram3;

View File

@ -6,6 +6,9 @@
/*----------- defined in video/pacman.c -----------*/ /*----------- defined in video/pacman.c -----------*/
extern UINT8 *pacman_videoram;
extern UINT8 *pacman_colorram;
PALETTE_INIT( pacman ); PALETTE_INIT( pacman );
VIDEO_START( pacman ); VIDEO_START( pacman );
VIDEO_UPDATE( pacman ); VIDEO_UPDATE( pacman );

View File

@ -72,7 +72,8 @@ INTERRUPT_GEN( getstar_interrupt );
extern UINT8 *slapfight_videoram; extern UINT8 *slapfight_videoram;
extern UINT8 *slapfight_colorram; 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; extern UINT8 *slapfight_scrollx_lo,*slapfight_scrollx_hi,*slapfight_scrolly;
VIDEO_UPDATE( slapfight ); VIDEO_UPDATE( slapfight );

View File

@ -41,6 +41,8 @@ DISCRETE_SOUND_EXTERN( fantasy );
/*----------- defined in video/snk6502.c -----------*/ /*----------- defined in video/snk6502.c -----------*/
extern UINT8 *snk6502_videoram;
extern UINT8 *snk6502_colorram;
extern UINT8 *snk6502_videoram2; extern UINT8 *snk6502_videoram2;
extern UINT8 *snk6502_charram; extern UINT8 *snk6502_charram;

View File

@ -10,6 +10,9 @@ WRITE8_HANDLER( wiping_sound_w );
/*----------- defined in video/wiping.c -----------*/ /*----------- defined in video/wiping.c -----------*/
extern UINT8 *wiping_videoram;
extern UINT8 *wiping_colorram;
WRITE8_HANDLER( wiping_flipscreen_w ); WRITE8_HANDLER( wiping_flipscreen_w );
PALETTE_INIT( wiping ); PALETTE_INIT( wiping );
VIDEO_UPDATE( wiping ); VIDEO_UPDATE( wiping );

View File

@ -13,18 +13,20 @@
UINT8 *bagman_video_enable; UINT8 *bagman_video_enable;
UINT8 *bagman_videoram;
UINT8 *bagman_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
WRITE8_HANDLER( bagman_videoram_w ) WRITE8_HANDLER( bagman_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; bagman_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( bagman_colorram_w ) WRITE8_HANDLER( bagman_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; bagman_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -95,9 +97,9 @@ WRITE8_HANDLER( bagman_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int gfxbank = (machine->gfx[2] && (machine->generic.colorram.u8[tile_index] & 0x10)) ? 2 : 0; int gfxbank = (machine->gfx[2] && (bagman_colorram[tile_index] & 0x10)) ? 2 : 0;
int code = machine->generic.videoram.u8[tile_index] + 8 * (machine->generic.colorram.u8[tile_index] & 0x20); int code = bagman_videoram[tile_index] + 8 * (bagman_colorram[tile_index] & 0x20);
int color = machine->generic.colorram.u8[tile_index] & 0x0f; int color = bagman_colorram[tile_index] & 0x0f;
SET_TILE_INFO(gfxbank, code, color, 0); SET_TILE_INFO(gfxbank, code, color, 0);
} }

View File

@ -15,17 +15,19 @@
#include "driver.h" #include "driver.h"
UINT8 *calomega_videoram;
UINT8 *calomega_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
WRITE8_HANDLER( calomega_videoram_w ) WRITE8_HANDLER( calomega_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; calomega_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( calomega_colorram_w ) WRITE8_HANDLER( calomega_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; calomega_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -37,8 +39,8 @@ static TILE_GET_INFO( get_bg_tile_info )
---- --x- tiles bank. ---- --x- tiles bank.
xx-- ---x seems unused. */ xx-- ---x seems unused. */
int attr = machine->generic.colorram.u8[tile_index]; int attr = calomega_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index]; int code = calomega_videoram[tile_index];
int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */ int bank = (attr & 0x02) >> 1; /* bit 1 switch the gfx banks */
int color = (attr & 0x3c); /* bits 2-3-4-5 for color */ int color = (attr & 0x3c); /* bits 2-3-4-5 for color */

View File

@ -61,6 +61,8 @@
#include "video/resnet.h" #include "video/resnet.h"
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
UINT8 *funworld_colorram;
UINT8 *funworld_videoram;
/***** RESISTORS ***** /***** RESISTORS *****
@ -119,13 +121,13 @@ PALETTE_INIT(funworld)
WRITE8_HANDLER( funworld_videoram_w ) WRITE8_HANDLER( funworld_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; funworld_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( funworld_colorram_w ) WRITE8_HANDLER( funworld_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; funworld_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -146,9 +148,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx unused. ---- xxxx unused.
*/ */
int offs = tile_index; 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 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); SET_TILE_INFO(0, code, color, 0);
} }

View File

@ -9,6 +9,8 @@
#include "driver.h" #include "driver.h"
UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll; UINT8 *goldstar_reel1_scroll, *goldstar_reel2_scroll, *goldstar_reel3_scroll;
UINT8 *goldstar_fg_atrram;
UINT8 *goldstar_fg_vidram;
static int bgcolor; static int bgcolor;
@ -55,20 +57,20 @@ WRITE8_HANDLER( cm_outport0_w )
WRITE8_HANDLER( goldstar_fg_vidram_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); tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
} }
WRITE8_HANDLER( goldstar_fg_atrram_w ) 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); tilemap_mark_tile_dirty(goldstar_fg_tilemap,offset);
} }
static TILE_GET_INFO( get_goldstar_fg_tile_info ) static TILE_GET_INFO( get_goldstar_fg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = goldstar_fg_vidram[tile_index];
int attr = machine->generic.colorram.u8[tile_index]; int attr = goldstar_fg_atrram[tile_index];
SET_TILE_INFO( SET_TILE_INFO(
0, 0,
@ -80,8 +82,8 @@ static TILE_GET_INFO( get_goldstar_fg_tile_info )
// colour / high tile bits are swapped around // colour / high tile bits are swapped around
static TILE_GET_INFO( get_cherrym_fg_tile_info ) static TILE_GET_INFO( get_cherrym_fg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = goldstar_fg_vidram[tile_index];
int attr = machine->generic.colorram.u8[tile_index]; int attr = goldstar_fg_atrram[tile_index];
SET_TILE_INFO( SET_TILE_INFO(
0, 0,

View File

@ -12,6 +12,8 @@
#include "driver.h" #include "driver.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
UINT8 *liberate_videoram;
UINT8 *liberate_colorram;
static int background_color, background_disable; static int background_color, background_disable;
static tilemap *background_tilemap, *fix_tilemap; static tilemap *background_tilemap, *fix_tilemap;
static UINT8 deco16_io_ram[16]; 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 ) static TILE_GET_INFO( get_fix_tile_info )
{ {
UINT8 *videoram = machine->generic.videoram.u8; UINT8 *videoram = liberate_videoram;
UINT8 *colorram = machine->generic.colorram.u8; UINT8 *colorram = liberate_colorram;
int tile, color; int tile, color;
tile = videoram[tile_index] + (colorram[tile_index] << 8); tile = videoram[tile_index] + (colorram[tile_index] << 8);
@ -183,13 +185,13 @@ WRITE8_HANDLER( prosport_io_w )
WRITE8_HANDLER( liberate_videoram_w ) WRITE8_HANDLER( liberate_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; liberate_videoram[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset); tilemap_mark_tile_dirty(fix_tilemap, offset);
} }
WRITE8_HANDLER( liberate_colorram_w ) WRITE8_HANDLER( liberate_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; liberate_colorram[offset] = data;
tilemap_mark_tile_dirty(fix_tilemap, offset); tilemap_mark_tile_dirty(fix_tilemap, offset);
} }
@ -527,7 +529,7 @@ VIDEO_UPDATE( prosport )
for (offs = 0;offs < 0x400;offs++) 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 if(deco16_io_ram[0]&0x40) //dynamic ram-based gfxs for Pro Golf
gfx_region = 3; gfx_region = 3;

View File

@ -8,6 +8,8 @@
#include "driver.h" #include "driver.h"
UINT8 *lvcards_videoram;
UINT8 *lvcards_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
PALETTE_INIT( ponttehk ) PALETTE_INIT( ponttehk )
@ -82,20 +84,20 @@ PALETTE_INIT( lvcards ) //Ever so slightly different, but different enough.
WRITE8_HANDLER( lvcards_videoram_w ) WRITE8_HANDLER( lvcards_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; lvcards_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( lvcards_colorram_w ) WRITE8_HANDLER( lvcards_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; lvcards_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = lvcards_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3); int code = lvcards_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
int color = attr & 0x0f; int color = attr & 0x0f;
int flags = (attr & 0x40) ? TILE_FLIPX : 0; int flags = (attr & 0x40) ? TILE_FLIPX : 0;

View File

@ -17,6 +17,8 @@
UINT8 *matmania_videoram,*matmania_colorram;
size_t matmania_videoram_size;
UINT8 *matmania_videoram2,*matmania_colorram2; UINT8 *matmania_videoram2,*matmania_colorram2;
size_t matmania_videoram2_size; size_t matmania_videoram2_size;
UINT8 *matmania_videoram3,*matmania_colorram3; UINT8 *matmania_videoram3,*matmania_colorram3;
@ -144,7 +146,7 @@ VIDEO_UPDATE( matmania )
/* Update the tiles in the left tile ram bank */ /* 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; int sx,sy;
@ -153,8 +155,8 @@ VIDEO_UPDATE( matmania )
sy = offs % 32; sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1], drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x08) << 5), matmania_videoram3[offs] + ((matmania_colorram[offs] & 0x08) << 5),
(screen->machine->generic.colorram.u8[offs] & 0x30) >> 4, (matmania_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */ 0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy); 16*sx,16*sy);
} }
@ -228,7 +230,7 @@ VIDEO_UPDATE( maniach )
/* Update the tiles in the left tile ram bank */ /* 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; int sx,sy;
@ -237,8 +239,8 @@ VIDEO_UPDATE( maniach )
sy = offs % 32; sy = offs % 32;
drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1], drawgfx_opaque(tmpbitmap,0,screen->machine->gfx[1],
screen->machine->generic.videoram.u8[offs] + ((screen->machine->generic.colorram.u8[offs] & 0x03) << 8), matmania_videoram[offs] + ((matmania_colorram[offs] & 0x03) << 8),
(screen->machine->generic.colorram.u8[offs] & 0x30) >> 4, (matmania_colorram[offs] & 0x30) >> 4,
0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */ 0,sy >= 16, /* flip horizontally tiles on the right half of the bitmap */
16*sx,16*sy); 16*sx,16*sy);
} }

View File

@ -13,8 +13,11 @@ UINT8 *megazone_scrollx;
UINT8 *megazone_scrolly; UINT8 *megazone_scrolly;
static int flipscreen; static int flipscreen;
UINT8 *megazone_videoram;
UINT8 *megazone_colorram;
UINT8 *megazone_videoram2; UINT8 *megazone_videoram2;
UINT8 *megazone_colorram2; UINT8 *megazone_colorram2;
size_t megazone_videoram_size;
size_t megazone_videoram2_size; size_t megazone_videoram2_size;
/*************************************************************************** /***************************************************************************
@ -119,14 +122,14 @@ VIDEO_UPDATE( megazone )
int x,y; int x,y;
/* for every character in the Video RAM */ /* 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; int sx,sy,flipx,flipy;
sx = offs % 32; sx = offs % 32;
sy = offs / 32; sy = offs / 32;
flipx = screen->machine->generic.colorram.u8[offs] & (1<<6); flipx = megazone_colorram[offs] & (1<<6);
flipy = screen->machine->generic.colorram.u8[offs] & (1<<5); flipy = megazone_colorram[offs] & (1<<5);
if (flipscreen) if (flipscreen)
{ {
sx = 31 - sx; sx = 31 - sx;
@ -136,8 +139,8 @@ VIDEO_UPDATE( megazone )
} }
drawgfx_opaque(screen->machine->generic.tmpbitmap,0,screen->machine->gfx[1], 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) ), ((int)megazone_videoram[offs]) + ((megazone_colorram[offs] & (1<<7) ? 256 : 0) ),
(screen->machine->generic.colorram.u8[offs] & 0x0f) + 0x10, (megazone_colorram[offs] & 0x0f) + 0x10,
flipx,flipy, flipx,flipy,
8*sx,8*sy); 8*sx,8*sy);
} }

View File

@ -2,6 +2,8 @@
static tilemap *bg_tilemap, *fg_tilemap; static tilemap *bg_tilemap, *fg_tilemap;
UINT8* mermaid_videoram;
UINT8* mermaid_colorram;
UINT8* mermaid_videoram2; UINT8* mermaid_videoram2;
UINT8* mermaid_bg_scrollram; UINT8* mermaid_bg_scrollram;
UINT8* mermaid_fg_scrollram; UINT8* mermaid_fg_scrollram;
@ -62,13 +64,13 @@ WRITE8_HANDLER( mermaid_videoram2_w )
WRITE8_HANDLER( mermaid_videoram_w ) WRITE8_HANDLER( mermaid_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; mermaid_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
WRITE8_HANDLER( mermaid_colorram_w ) WRITE8_HANDLER( mermaid_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; mermaid_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); 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 ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = mermaid_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x30) << 4); int code = mermaid_videoram[tile_index] + ((attr & 0x30) << 4);
int color = attr & 0x0f; int color = attr & 0x0f;
int flags = TILE_FLIPYX((attr & 0xc0) >> 6); int flags = TILE_FLIPYX((attr & 0xc0) >> 6);

View File

@ -11,6 +11,8 @@
static int palettebank; static int palettebank;
UINT8 *mikie_videoram;
UINT8 *mikie_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
/*************************************************************************** /***************************************************************************
@ -92,13 +94,13 @@ PALETTE_INIT( mikie )
WRITE8_HANDLER( mikie_videoram_w ) WRITE8_HANDLER( mikie_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; mikie_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( mikie_colorram_w ) WRITE8_HANDLER( mikie_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; mikie_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -122,9 +124,9 @@ WRITE8_HANDLER( mikie_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) 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 code = mikie_videoram[tile_index] + ((mikie_colorram[tile_index] & 0x20) << 3);
int color = (machine->generic.colorram.u8[tile_index] & 0x0f) + 16 * palettebank; int color = (mikie_colorram[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 flags = ((mikie_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((mikie_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags); SET_TILE_INFO(0, code, color, flags);
} }

View File

@ -15,6 +15,9 @@
#include "driver.h" #include "driver.h"
UINT8 *mouser_videoram;
UINT8 *mouser_colorram;
PALETTE_INIT( mouser ) PALETTE_INIT( mouser )
{ {
int i; int i;
@ -61,7 +64,7 @@ VIDEO_UPDATE( mouser )
int flipx,flipy; int flipx,flipy;
/* for every character in the Video RAM */ /* 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 scrolled_y_position;
int color_offs; int color_offs;
@ -89,8 +92,8 @@ VIDEO_UPDATE( mouser )
color_offs = offs%32 + ((256 + 8*(offs/32) - spriteram[offs%32])%256)/8*32; color_offs = offs%32 + ((256 + 8*(offs/32) - spriteram[offs%32])%256)/8*32;
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0], 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, mouser_videoram[offs] | (mouser_colorram[color_offs]>>5)*256 | ((mouser_colorram[color_offs]>>4)&1)*512,
screen->machine->generic.colorram.u8[color_offs]%16, mouser_colorram[color_offs]%16,
flip_screen_x_get(screen->machine),flip_screen_y_get(screen->machine), flip_screen_x_get(screen->machine),flip_screen_y_get(screen->machine),
8*sx,scrolled_y_position); 8*sx,scrolled_y_position);
} }

View File

@ -8,6 +8,8 @@
#include "driver.h" #include "driver.h"
UINT8 *mrjong_videoram;
UINT8 *mrjong_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
/*************************************************************************** /***************************************************************************
@ -68,13 +70,13 @@ PALETTE_INIT( mrjong )
***************************************************************************/ ***************************************************************************/
WRITE8_HANDLER( mrjong_videoram_w ) WRITE8_HANDLER( mrjong_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; mrjong_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( mrjong_colorram_w ) WRITE8_HANDLER( mrjong_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; mrjong_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -89,9 +91,9 @@ WRITE8_HANDLER( mrjong_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) 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 code = mrjong_videoram[tile_index] | ((mrjong_colorram[tile_index] & 0x20) << 3);
int color = machine->generic.colorram.u8[tile_index] & 0x1f; int color = mrjong_colorram[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 flags = ((mrjong_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((mrjong_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags); 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 sx, sy;
int flipx, flipy; int flipx, flipy;
sprt = (((machine->generic.videoram.u8[offs + 1] >> 2) & 0x3f) | ((machine->generic.videoram.u8[offs + 3] & 0x20) << 1)); sprt = (((mrjong_videoram[offs + 1] >> 2) & 0x3f) | ((mrjong_videoram[offs + 3] & 0x20) << 1));
flipx = (machine->generic.videoram.u8[offs + 1] & 0x01) >> 0; flipx = (mrjong_videoram[offs + 1] & 0x01) >> 0;
flipy = (machine->generic.videoram.u8[offs + 1] & 0x02) >> 1; flipy = (mrjong_videoram[offs + 1] & 0x02) >> 1;
color = (machine->generic.videoram.u8[offs + 3] & 0x1f); color = (mrjong_videoram[offs + 3] & 0x1f);
sx = 224 - machine->generic.videoram.u8[offs + 2]; sx = 224 - mrjong_videoram[offs + 2];
sy = machine->generic.videoram.u8[offs + 0]; sy = mrjong_videoram[offs + 0];
if (flip_screen_get(machine)) if (flip_screen_get(machine))
{ {
sx = 208 - sx; sx = 208 - sx;

View File

@ -20,6 +20,8 @@
#include "includes/pacman.h" #include "includes/pacman.h"
#include "video/resnet.h" #include "video/resnet.h"
UINT8 *pacman_videoram;
UINT8 *pacman_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static UINT8 charbank; static UINT8 charbank;
static UINT8 spritebank; static UINT8 spritebank;
@ -152,8 +154,8 @@ static TILEMAP_MAPPER( pacman_scan_rows )
static TILE_GET_INFO( pacman_get_tile_info ) static TILE_GET_INFO( pacman_get_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index] | (charbank << 8); int code = pacman_videoram[tile_index] | (charbank << 8);
int attr = (machine->generic.colorram.u8[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 ); int attr = (pacman_colorram[tile_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0); SET_TILE_INFO(0,code,attr,0);
} }
@ -198,13 +200,13 @@ VIDEO_START( pacman )
WRITE8_HANDLER( pacman_videoram_w ) WRITE8_HANDLER( pacman_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; pacman_videoram[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset ); tilemap_mark_tile_dirty( bg_tilemap, offset );
} }
WRITE8_HANDLER( pacman_colorram_w ) WRITE8_HANDLER( pacman_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; pacman_colorram[offset] = data;
tilemap_mark_tile_dirty( bg_tilemap, offset ); 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; colbank = s2650games_tileram[tile_index & 0x1f] & 0x3;
code = machine->generic.videoram.u8[tile_index] + (colbank << 8); code = pacman_videoram[tile_index] + (colbank << 8);
attr = machine->generic.colorram.u8[tile_index & 0x1f]; attr = pacman_colorram[tile_index & 0x1f];
SET_TILE_INFO(0,code,attr & 0x1f,0); SET_TILE_INFO(0,code,attr & 0x1f,0);
} }
@ -442,14 +444,14 @@ VIDEO_UPDATE( s2650games )
WRITE8_HANDLER( s2650games_videoram_w ) WRITE8_HANDLER( s2650games_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; pacman_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset); tilemap_mark_tile_dirty(bg_tilemap,offset);
} }
WRITE8_HANDLER( s2650games_colorram_w ) WRITE8_HANDLER( s2650games_colorram_w )
{ {
int i; int i;
space->machine->generic.colorram.u8[offset & 0x1f] = data; pacman_colorram[offset & 0x1f] = data;
for (i = offset; i < 0x0400; i += 32) for (i = offset; i < 0x0400; i += 32)
tilemap_mark_tile_dirty(bg_tilemap, i); tilemap_mark_tile_dirty(bg_tilemap, i);
} }
@ -512,8 +514,8 @@ static TILE_GET_INFO( jrpacman_get_tile_info )
color_index = tile_index + 0x80; color_index = tile_index + 0x80;
} }
code = machine->generic.videoram.u8[tile_index] | (charbank << 8); code = pacman_videoram[tile_index] | (charbank << 8);
attr = (machine->generic.videoram.u8[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 ); attr = (pacman_videoram[color_index] & 0x1f) | (colortablebank << 5) | (palettebank << 6 );
SET_TILE_INFO(0,code,attr,0); SET_TILE_INFO(0,code,attr,0);
} }
@ -567,7 +569,7 @@ VIDEO_START( jrpacman )
WRITE8_HANDLER( jrpacman_videoram_w ) WRITE8_HANDLER( jrpacman_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; pacman_videoram[offset] = data;
jrpacman_mark_tile_dirty(offset); jrpacman_mark_tile_dirty(offset);
} }

View File

@ -8,6 +8,7 @@
#include "driver.h" #include "driver.h"
UINT8 *pbaction_videoram, *pbaction_colorram;
UINT8 *pbaction_videoram2, *pbaction_colorram2; UINT8 *pbaction_videoram2, *pbaction_colorram2;
static int scroll; static int scroll;
@ -16,13 +17,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( pbaction_videoram_w ) WRITE8_HANDLER( pbaction_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; pbaction_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( pbaction_colorram_w ) WRITE8_HANDLER( pbaction_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; pbaction_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -53,8 +54,8 @@ WRITE8_HANDLER( pbaction_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = pbaction_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + 0x10 * (attr & 0x70); int code = pbaction_videoram[tile_index] + 0x10 * (attr & 0x70);
int color = attr & 0x07; int color = attr & 0x07;
int flags = (attr & 0x80) ? TILE_FLIPY : 0; int flags = (attr & 0x80) ? TILE_FLIPY : 0;

View File

@ -9,6 +9,8 @@
#include "driver.h" #include "driver.h"
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
UINT8 *pingpong_videoram;
UINT8 *pingpong_colorram;
/* This is strange; it's unlikely that the sprites actually have a hardware */ /* 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 ) WRITE8_HANDLER( pingpong_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; pingpong_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( pingpong_colorram_w ) WRITE8_HANDLER( pingpong_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; pingpong_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = pingpong_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x20) << 3); int code = pingpong_videoram[tile_index] + ((attr & 0x20) << 3);
int color = attr & 0x1f; int color = attr & 0x1f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0); int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);

View File

@ -8,6 +8,8 @@
#include "driver.h" #include "driver.h"
UINT8 *popeye_videoram;
UINT8 *popeye_colorram;
UINT8 *popeye_background_pos; UINT8 *popeye_background_pos;
UINT8 *popeye_palettebank; UINT8 *popeye_palettebank;
static UINT8 *popeye_bitmapram; static UINT8 *popeye_bitmapram;
@ -173,13 +175,13 @@ static void set_background_palette(running_machine *machine,int bank)
WRITE8_HANDLER( popeye_videoram_w ) WRITE8_HANDLER( popeye_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; popeye_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
WRITE8_HANDLER( popeye_colorram_w ) WRITE8_HANDLER( popeye_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; popeye_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
@ -236,8 +238,8 @@ WRITE8_HANDLER( skyskipr_bitmap_w )
static TILE_GET_INFO( get_fg_tile_info ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = popeye_videoram[tile_index];
int color = machine->generic.colorram.u8[tile_index] & 0x0f; int color = popeye_colorram[tile_index] & 0x0f;
SET_TILE_INFO(0, code, color, 0); SET_TILE_INFO(0, code, color, 0);
} }

View File

@ -1,5 +1,7 @@
#include "driver.h" #include "driver.h"
UINT8 *rollrace_videoram;
UINT8 *rollrace_colorram;
static int ra_charbank[2] = { 0,0 }; static int ra_charbank[2] = { 0,0 };
static int ra_bkgpage = 0; static int ra_bkgpage = 0;
@ -70,7 +72,7 @@ VIDEO_UPDATE( rollrace )
bitmap_fill(bitmap,cliprect,ra_bkgpen); bitmap_fill(bitmap,cliprect,ra_bkgpen);
/* draw road */ /* draw road */
for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--) for (offs = 0x3ff; offs >= 0; offs--)
{ {
if(!(ra_bkgflip)) if(!(ra_bkgflip))
{ {
@ -138,14 +140,14 @@ VIDEO_UPDATE( rollrace )
/* draw foreground characters */ /* draw foreground characters */
for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--) for (offs = 0x3ff; offs >= 0; offs--)
{ {
sx = offs % 32; sx = offs % 32;
sy = offs / 32; sy = offs / 32;
scroll = ( 8 * sy + screen->machine->generic.colorram.u8[2 * sx] ) % 256; scroll = ( 8 * sy + rollrace_colorram[2 * sx] ) % 256;
col = screen->machine->generic.colorram.u8[ sx * 2 + 1 ]&0x1f; col = rollrace_colorram[ sx * 2 + 1 ]&0x1f;
if (!ra_flipy) if (!ra_flipy)
{ {
@ -155,7 +157,7 @@ VIDEO_UPDATE( rollrace )
if (ra_flipx) sx = 31 - sx; if (ra_flipx) sx = 31 - sx;
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[RA_FGCHAR_BASE + ra_chrbank] , drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[RA_FGCHAR_BASE + ra_chrbank] ,
screen->machine->generic.videoram.u8[ offs ] , rollrace_videoram[ offs ] ,
col, col,
ra_flipx,ra_flipy, ra_flipx,ra_flipy,
8*sx,scroll,0); 8*sx,scroll,0);

View File

@ -2,6 +2,8 @@
UINT8 *scotrsht_scroll; UINT8 *scotrsht_scroll;
UINT8 *scotrsht_videoram;
UINT8 *scotrsht_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static int scotrsht_charbank = 0; static int scotrsht_charbank = 0;
static int scotrsht_palette_bank = 0; static int scotrsht_palette_bank = 0;
@ -42,13 +44,13 @@ PALETTE_INIT( scotrsht )
WRITE8_HANDLER( scotrsht_videoram_w ) WRITE8_HANDLER( scotrsht_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; scotrsht_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( scotrsht_colorram_w ) WRITE8_HANDLER( scotrsht_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; scotrsht_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); 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 ) static TILE_GET_INFO( scotrsht_get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = scotrsht_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2); int code = scotrsht_videoram[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + scotrsht_palette_bank * 16; int color = (attr & 0x0f) + scotrsht_palette_bank * 16;
int flag = 0; int flag = 0;

View File

@ -10,6 +10,8 @@
UINT8 *seicross_row_scroll; UINT8 *seicross_row_scroll;
UINT8 *seicross_videoram;
UINT8 *seicross_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
/*************************************************************************** /***************************************************************************
@ -58,7 +60,7 @@ PALETTE_INIT( seicross )
WRITE8_HANDLER( seicross_videoram_w ) WRITE8_HANDLER( seicross_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; seicross_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -69,8 +71,8 @@ WRITE8_HANDLER( seicross_colorram_w )
/* region. */ /* region. */
offset &= 0xffdf; offset &= 0xffdf;
space->machine->generic.colorram.u8[offset] = data; seicross_colorram[offset] = data;
space->machine->generic.colorram.u8[offset + 0x20] = data; seicross_colorram[offset + 0x20] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
tilemap_mark_tile_dirty(bg_tilemap, offset + 0x20); 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 ) 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 code = seicross_videoram[tile_index] + ((seicross_colorram[tile_index] & 0x10) << 4);
int color = machine->generic.colorram.u8[tile_index] & 0x0f; int color = seicross_colorram[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 flags = ((seicross_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((seicross_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
SET_TILE_INFO(0, code, color, flags); SET_TILE_INFO(0, code, color, flags);
} }

View File

@ -12,6 +12,8 @@
extern UINT8 shaolins_nmi_enable; extern UINT8 shaolins_nmi_enable;
static int palettebank; static int palettebank;
UINT8 *shaolins_videoram;
UINT8 *shaolins_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
/*************************************************************************** /***************************************************************************
@ -93,13 +95,13 @@ PALETTE_INIT( shaolins )
WRITE8_HANDLER( shaolins_videoram_w ) WRITE8_HANDLER( shaolins_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; shaolins_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( shaolins_colorram_w ) WRITE8_HANDLER( shaolins_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; shaolins_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -133,8 +135,8 @@ WRITE8_HANDLER( shaolins_nmi_w )
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = shaolins_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x40) << 2); int code = shaolins_videoram[tile_index] + ((attr & 0x40) << 2);
int color = (attr & 0x0f) + 16 * palettebank; int color = (attr & 0x0f) + 16 * palettebank;
int flags = (attr & 0x20) ? TILE_FLIPY : 0; int flags = (attr & 0x20) ? TILE_FLIPY : 0;

View File

@ -12,6 +12,8 @@ extern int sidearms_gameid;
UINT8 *sidearms_bg_scrollx; UINT8 *sidearms_bg_scrollx;
UINT8 *sidearms_bg_scrolly; UINT8 *sidearms_bg_scrolly;
UINT8 *sidearms_videoram;
UINT8 *sidearms_colorram;
static UINT8 *tilerom; static UINT8 *tilerom;
static int bgon, objon, staron, charon, flipon; static int bgon, objon, staron, charon, flipon;
@ -21,13 +23,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( sidearms_videoram_w ) WRITE8_HANDLER( sidearms_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; sidearms_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
WRITE8_HANDLER( sidearms_colorram_w ) WRITE8_HANDLER( sidearms_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; sidearms_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); 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 ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = sidearms_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + (attr<<2 & 0x300); int code = sidearms_videoram[tile_index] + (attr<<2 & 0x300);
int color = attr & 0x3f; int color = attr & 0x3f;
SET_TILE_INFO(0, code, color, 0); SET_TILE_INFO(0, code, color, 0);

View File

@ -1,6 +1,8 @@
#include "driver.h" #include "driver.h"
UINT8 *sidepckt_videoram;
UINT8 *sidepckt_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static int flipscreen; static int flipscreen;
@ -46,10 +48,10 @@ PALETTE_INIT( sidepckt )
static TILE_GET_INFO( get_tile_info ) static TILE_GET_INFO( get_tile_info )
{ {
UINT8 attr = machine->generic.colorram.u8[tile_index]; UINT8 attr = sidepckt_colorram[tile_index];
SET_TILE_INFO( SET_TILE_INFO(
0, 0,
machine->generic.videoram.u8[tile_index] + ((attr & 0x07) << 8), sidepckt_videoram[tile_index] + ((attr & 0x07) << 8),
((attr & 0x10) >> 3) | ((attr & 0x20) >> 5), ((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
TILE_FLIPX); TILE_FLIPX);
tileinfo->group = (attr & 0x80) >> 7; tileinfo->group = (attr & 0x80) >> 7;
@ -83,13 +85,13 @@ VIDEO_START( sidepckt )
WRITE8_HANDLER( sidepckt_videoram_w ) WRITE8_HANDLER( sidepckt_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; sidepckt_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset); tilemap_mark_tile_dirty(bg_tilemap,offset);
} }
WRITE8_HANDLER( sidepckt_colorram_w ) WRITE8_HANDLER( sidepckt_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; sidepckt_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap,offset); tilemap_mark_tile_dirty(bg_tilemap,offset);
} }

View File

@ -11,7 +11,8 @@
UINT8 *slapfight_videoram; UINT8 *slapfight_videoram;
UINT8 *slapfight_colorram; UINT8 *slapfight_colorram;
size_t slapfight_videoram_size; UINT8 *slapfight_fixvideoram;
UINT8 *slapfight_fixcolorram;
UINT8 *slapfight_scrollx_lo,*slapfight_scrollx_hi,*slapfight_scrolly; UINT8 *slapfight_scrollx_lo,*slapfight_scrollx_hi,*slapfight_scrolly;
static int flipscreen, slapfight_palette_bank = 0; 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; int tile,color;
tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x03) << 8); tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x03) << 8);
color=(machine->generic.colorram.u8[tile_index] >> 3) & 0x0f; color=(slapfight_colorram[tile_index] >> 3) & 0x0f;
SET_TILE_INFO( SET_TILE_INFO(
0, 0,
tile, tile,
@ -43,8 +44,8 @@ static TILE_GET_INFO( get_pf1_tile_info )
{ {
int tile,color; int tile,color;
tile=machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0x0f) << 8); tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x0f) << 8);
color=(machine->generic.colorram.u8[tile_index] & 0xf0) >> 4; color=(slapfight_colorram[tile_index] & 0xf0) >> 4;
SET_TILE_INFO( SET_TILE_INFO(
1, 1,
@ -57,8 +58,8 @@ static TILE_GET_INFO( get_fix_tile_info )
{ {
int tile,color; int tile,color;
tile=slapfight_videoram[tile_index] + ((slapfight_colorram[tile_index] & 0x03) << 8); tile=slapfight_fixvideoram[tile_index] + ((slapfight_fixcolorram[tile_index] & 0x03) << 8);
color=(slapfight_colorram[tile_index] & 0xfc) >> 2; color=(slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
SET_TILE_INFO( SET_TILE_INFO(
0, 0,
@ -98,25 +99,25 @@ VIDEO_START( slapfight )
WRITE8_HANDLER( slapfight_videoram_w ) WRITE8_HANDLER( slapfight_videoram_w )
{ {
space->machine->generic.videoram.u8[offset]=data; slapfight_videoram[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset); tilemap_mark_tile_dirty(pf1_tilemap,offset);
} }
WRITE8_HANDLER( slapfight_colorram_w ) WRITE8_HANDLER( slapfight_colorram_w )
{ {
space->machine->generic.colorram.u8[offset]=data; slapfight_colorram[offset]=data;
tilemap_mark_tile_dirty(pf1_tilemap,offset); tilemap_mark_tile_dirty(pf1_tilemap,offset);
} }
WRITE8_HANDLER( slapfight_fixram_w ) WRITE8_HANDLER( slapfight_fixram_w )
{ {
slapfight_videoram[offset]=data; slapfight_fixvideoram[offset]=data;
tilemap_mark_tile_dirty(fix_tilemap,offset); tilemap_mark_tile_dirty(fix_tilemap,offset);
} }
WRITE8_HANDLER( slapfight_fixcol_w ) WRITE8_HANDLER( slapfight_fixcol_w )
{ {
slapfight_colorram[offset]=data; slapfight_fixcolorram[offset]=data;
tilemap_mark_tile_dirty(fix_tilemap,offset); tilemap_mark_tile_dirty(fix_tilemap,offset);
} }
@ -140,7 +141,7 @@ static void slapfght_log_vram(running_machine *machine)
int i; int i;
for (i=0; i<0x800; 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 #endif

View File

@ -10,6 +10,8 @@
#include "includes/snk6502.h" #include "includes/snk6502.h"
UINT8 *snk6502_videoram;
UINT8 *snk6502_colorram;
UINT8 *snk6502_videoram2; UINT8 *snk6502_videoram2;
UINT8 *snk6502_charram; UINT8 *snk6502_charram;
@ -86,7 +88,7 @@ PALETTE_INIT( snk6502 )
WRITE8_HANDLER( snk6502_videoram_w ) WRITE8_HANDLER( snk6502_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; snk6502_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -98,7 +100,7 @@ WRITE8_HANDLER( snk6502_videoram2_w )
WRITE8_HANDLER( snk6502_colorram_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(bg_tilemap, offset);
tilemap_mark_tile_dirty(fg_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 ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index] + 256 * charbank; int code = snk6502_videoram[tile_index] + 256 * charbank;
int color = (machine->generic.colorram.u8[tile_index] & 0x38) >> 3; int color = (snk6502_colorram[tile_index] & 0x38) >> 3;
SET_TILE_INFO(1, code, color, 0); 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 ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int code = snk6502_videoram2[tile_index]; 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); 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 ) static TILE_GET_INFO( satansat_get_bg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = snk6502_videoram[tile_index];
int color = (machine->generic.colorram.u8[tile_index] & 0x0c) >> 2; int color = (snk6502_colorram[tile_index] & 0x0c) >> 2;
SET_TILE_INFO(1, code, color, 0); 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 ) static TILE_GET_INFO( satansat_get_fg_tile_info )
{ {
int code = snk6502_videoram2[tile_index]; 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); SET_TILE_INFO(0, code, color, 0);
} }

View File

@ -40,18 +40,20 @@
#include "driver.h" #include "driver.h"
#include "video/resnet.h" #include "video/resnet.h"
UINT8 *snookr10_videoram;
UINT8 *snookr10_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
WRITE8_HANDLER( snookr10_videoram_w ) WRITE8_HANDLER( snookr10_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; snookr10_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( snookr10_colorram_w ) WRITE8_HANDLER( snookr10_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; snookr10_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -102,9 +104,9 @@ static TILE_GET_INFO( get_bg_tile_info )
---- xxxx seems unused. ---- xxxx seems unused.
*/ */
int offs = tile_index; 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 code = attr & 0xfff;
int color = machine->generic.colorram.u8[offs] >> 4; int color = snookr10_colorram[offs] >> 4;
SET_TILE_INFO(0, code, color, 0); SET_TILE_INFO(0, code, color, 0);
} }
@ -164,9 +166,9 @@ static TILE_GET_INFO( apple10_get_bg_tile_info )
---- xxxx seems unused. ---- xxxx seems unused.
*/ */
int offs = tile_index; 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 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); SET_TILE_INFO(0, code, color, 0);
} }

View File

@ -1,5 +1,7 @@
#include "driver.h" #include "driver.h"
UINT8 *solomon_videoram;
UINT8 *solomon_colorram;
UINT8 *solomon_videoram2; UINT8 *solomon_videoram2;
UINT8 *solomon_colorram2; UINT8 *solomon_colorram2;
@ -7,13 +9,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( solomon_videoram_w ) WRITE8_HANDLER( solomon_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; solomon_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
WRITE8_HANDLER( solomon_colorram_w ) WRITE8_HANDLER( solomon_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; solomon_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); 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 ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = solomon_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + 256 * (attr & 0x07); int code = solomon_colorram[tile_index] + 256 * (attr & 0x07);
int color = (attr & 0x70) >> 4; int color = (attr & 0x70) >> 4;
SET_TILE_INFO(0, code, color, 0); SET_TILE_INFO(0, code, color, 0);

View File

@ -10,6 +10,8 @@
UINT8 *spcforce_scrollram; UINT8 *spcforce_scrollram;
UINT8 *spcforce_videoram;
UINT8 *spcforce_colorram;
WRITE8_HANDLER( spcforce_flip_screen_w ) WRITE8_HANDLER( spcforce_flip_screen_w )
@ -28,7 +30,7 @@ VIDEO_UPDATE( spcforce )
bitmap_fill(bitmap,cliprect,0); 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; int code,sx,sy,col;
@ -36,8 +38,8 @@ VIDEO_UPDATE( spcforce )
sy = 8 * (offs / 32) - (spcforce_scrollram[offs] & 0x0f); sy = 8 * (offs / 32) - (spcforce_scrollram[offs] & 0x0f);
sx = 8 * (offs % 32) + ((spcforce_scrollram[offs] >> 4) & 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); code = spcforce_videoram[offs] + ((spcforce_colorram[offs] & 0x01) << 8);
col = (~screen->machine->generic.colorram.u8[offs] >> 4) & 0x07; col = (~spcforce_colorram[offs] >> 4) & 0x07;
if (flip_screen_get(screen->machine)) if (flip_screen_get(screen->machine))
{ {

View File

@ -5,6 +5,8 @@
*****************************************************************************************/ *****************************************************************************************/
#include "driver.h" #include "driver.h"
UINT8 *speedatk_videoram;
UINT8 *speedatk_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
/* /*
@ -75,13 +77,13 @@ PALETTE_INIT( speedatk )
WRITE8_HANDLER( speedatk_videoram_w ) WRITE8_HANDLER( speedatk_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; speedatk_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( speedatk_colorram_w ) WRITE8_HANDLER( speedatk_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; speedatk_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -89,9 +91,9 @@ static TILE_GET_INFO( get_tile_info )
{ {
int code, color, region; int code, color, region;
code = machine->generic.videoram.u8[tile_index] + ((machine->generic.colorram.u8[tile_index] & 0xe0) << 3); code = speedatk_videoram[tile_index] + ((speedatk_colorram[tile_index] & 0xe0) << 3);
color = machine->generic.colorram.u8[tile_index] & 0x1f; color = speedatk_colorram[tile_index] & 0x1f;
region = (machine->generic.colorram.u8[tile_index] & 0x10) >> 4; region = (speedatk_colorram[tile_index] & 0x10) >> 4;
SET_TILE_INFO(region, code, color, 0); SET_TILE_INFO(region, code, color, 0);
} }

View File

@ -9,6 +9,8 @@ Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/10/04
#include "driver.h" #include "driver.h"
UINT8 *ssozumo_videoram;
UINT8 *ssozumo_colorram;
UINT8 *ssozumo_videoram2; UINT8 *ssozumo_videoram2;
UINT8 *ssozumo_colorram2; UINT8 *ssozumo_colorram2;
@ -46,13 +48,13 @@ PALETTE_INIT( ssozumo )
WRITE8_HANDLER( ssozumo_videoram_w ) WRITE8_HANDLER( ssozumo_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; ssozumo_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( ssozumo_colorram_w ) WRITE8_HANDLER( ssozumo_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; ssozumo_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -113,8 +115,8 @@ WRITE8_HANDLER( ssozumo_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) 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 code = ssozumo_videoram[tile_index] + ((ssozumo_colorram[tile_index] & 0x08) << 5);
int color = (machine->generic.colorram.u8[tile_index] & 0x30) >> 4; int color = (ssozumo_colorram[tile_index] & 0x30) >> 4;
int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0; int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
SET_TILE_INFO(1, code, color, flags); SET_TILE_INFO(1, code, color, flags);

View File

@ -10,6 +10,8 @@
static int palettebank; static int palettebank;
UINT8 *tagteam_videoram;
UINT8 *tagteam_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
PALETTE_INIT( tagteam ) PALETTE_INIT( tagteam )
@ -44,13 +46,13 @@ PALETTE_INIT( tagteam )
WRITE8_HANDLER( tagteam_videoram_w ) WRITE8_HANDLER( tagteam_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; tagteam_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( tagteam_colorram_w ) WRITE8_HANDLER( tagteam_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; tagteam_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
@ -63,7 +65,7 @@ READ8_HANDLER( tagteam_mirrorvideoram_r )
y = offset % 32; y = offset % 32;
offset = 32 * y + x; offset = 32 * y + x;
return space->machine->generic.videoram.u8[offset]; return tagteam_videoram[offset];
} }
READ8_HANDLER( tagteam_mirrorcolorram_r ) READ8_HANDLER( tagteam_mirrorcolorram_r )
@ -75,7 +77,7 @@ READ8_HANDLER( tagteam_mirrorcolorram_r )
y = offset % 32; y = offset % 32;
offset = 32 * y + x; offset = 32 * y + x;
return space->machine->generic.colorram.u8[offset]; return tagteam_colorram[offset];
} }
WRITE8_HANDLER( tagteam_mirrorvideoram_w ) WRITE8_HANDLER( tagteam_mirrorvideoram_w )
@ -121,7 +123,7 @@ WRITE8_HANDLER( tagteam_flipscreen_w )
static TILE_GET_INFO( get_bg_tile_info ) 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 int color = palettebank * 2; // GUESS
SET_TILE_INFO(0, code, color, 0); 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) for (offs = 0; offs < 0x20; offs += 4)
{ {
int spritebank = (machine->generic.videoram.u8[offs] & 0x30) << 4; int spritebank = (tagteam_videoram[offs] & 0x30) << 4;
int code = machine->generic.videoram.u8[offs + 1] + 256 * spritebank; int code = tagteam_videoram[offs + 1] + 256 * spritebank;
int color = 1 + 2 * palettebank; // GUESS int color = 1 + 2 * palettebank; // GUESS
int flipx = machine->generic.videoram.u8[offs] & 0x04; int flipx = tagteam_videoram[offs] & 0x04;
int flipy = machine->generic.videoram.u8[offs] & 0x02; int flipy = tagteam_videoram[offs] & 0x02;
int sx = 240 - machine->generic.videoram.u8[offs + 3]; int sx = 240 - tagteam_videoram[offs + 3];
int sy = 240 - machine->generic.videoram.u8[offs + 2]; 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)) if (flip_screen_get(machine))
{ {
@ -165,7 +167,7 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
/* Wrap around */ /* Wrap around */
code = machine->generic.videoram.u8[offs + 0x20] + 256 * spritebank; code = tagteam_videoram[offs + 0x20] + 256 * spritebank;
color = palettebank; color = palettebank;
sy += (flip_screen_get(machine) ? -256 : 256); sy += (flip_screen_get(machine) ? -256 : 256);

View File

@ -8,7 +8,10 @@
* variables * variables
*/ */
UINT8 * tankbust_videoram;
UINT8 * tankbust_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
static tilemap *txt_tilemap; static tilemap *txt_tilemap;
UINT8 * tankbust_txtram; UINT8 * tankbust_txtram;
@ -34,8 +37,8 @@ note:
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int code = machine->generic.videoram.u8[tile_index]; int code = tankbust_videoram[tile_index];
int attr = machine->generic.colorram.u8[tile_index]; int attr = tankbust_colorram[tile_index];
int color = ((attr>>4) & 0x07); int color = ((attr>>4) & 0x07);
@ -101,22 +104,22 @@ VIDEO_START( tankbust )
WRITE8_HANDLER( tankbust_background_videoram_w ) WRITE8_HANDLER( tankbust_background_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; tankbust_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
READ8_HANDLER( tankbust_background_videoram_r ) READ8_HANDLER( tankbust_background_videoram_r )
{ {
return space->machine->generic.videoram.u8[offset]; return tankbust_videoram[offset];
} }
WRITE8_HANDLER( tankbust_background_colorram_w ) WRITE8_HANDLER( tankbust_background_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; tankbust_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
READ8_HANDLER( tankbust_background_colorram_r ) READ8_HANDLER( tankbust_background_colorram_r )
{ {
return space->machine->generic.colorram.u8[offset]; return tankbust_colorram[offset];
} }
WRITE8_HANDLER( tankbust_txtram_w ) WRITE8_HANDLER( tankbust_txtram_w )
@ -235,7 +238,7 @@ VIDEO_UPDATE( tankbust )
for (i=0; i<0x800; i++) 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) ) if ( (tile_attrib&8) || (tile_attrib&0x80) )
{ {

View File

@ -13,6 +13,8 @@ robbiex@rocketmail.com
#include "driver.h" #include "driver.h"
UINT8 *tehkanwc_videoram;
UINT8 *tehkanwc_colorram;
UINT8 *tehkanwc_videoram2; UINT8 *tehkanwc_videoram2;
static UINT8 scroll_x[2]; static UINT8 scroll_x[2];
static UINT8 led0,led1; static UINT8 led0,led1;
@ -21,13 +23,13 @@ static tilemap *bg_tilemap, *fg_tilemap;
WRITE8_HANDLER( tehkanwc_videoram_w ) WRITE8_HANDLER( tehkanwc_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; tehkanwc_videoram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); tilemap_mark_tile_dirty(fg_tilemap, offset);
} }
WRITE8_HANDLER( tehkanwc_colorram_w ) WRITE8_HANDLER( tehkanwc_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; tehkanwc_colorram[offset] = data;
tilemap_mark_tile_dirty(fg_tilemap, offset); 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 ) static TILE_GET_INFO( get_fg_tile_info )
{ {
int attr = machine->generic.colorram.u8[tile_index]; int attr = tehkanwc_colorram[tile_index];
int code = machine->generic.videoram.u8[tile_index] + ((attr & 0x10) << 4); int code = tehkanwc_videoram[tile_index] + ((attr & 0x10) << 4);
int color = attr & 0x0f; int color = attr & 0x0f;
int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0); int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);

View File

@ -34,6 +34,8 @@ Daughterboard: Custom made, plugged in the 2 roms and Z80 mainboard sockets.
#include "driver.h" #include "driver.h"
UINT8 *trucocl_videoram;
UINT8 *trucocl_colorram;
static tilemap *bg_tilemap; static tilemap *bg_tilemap;
PALETTE_INIT( trucocl ) PALETTE_INIT( trucocl )
@ -46,22 +48,22 @@ PALETTE_INIT( trucocl )
WRITE8_HANDLER( trucocl_videoram_w ) WRITE8_HANDLER( trucocl_videoram_w )
{ {
space->machine->generic.videoram.u8[offset] = data; trucocl_videoram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
WRITE8_HANDLER( trucocl_colorram_w ) WRITE8_HANDLER( trucocl_colorram_w )
{ {
space->machine->generic.colorram.u8[offset] = data; trucocl_colorram[offset] = data;
tilemap_mark_tile_dirty(bg_tilemap, offset); tilemap_mark_tile_dirty(bg_tilemap, offset);
} }
static TILE_GET_INFO( get_bg_tile_info ) static TILE_GET_INFO( get_bg_tile_info )
{ {
int gfxsel = machine->generic.colorram.u8[tile_index] & 1; int gfxsel = trucocl_colorram[tile_index] & 1;
int bank = ( ( machine->generic.colorram.u8[tile_index] >> 2 ) & 0x07 ); int bank = ( ( trucocl_colorram[tile_index] >> 2 ) & 0x07 );
int code = machine->generic.videoram.u8[tile_index]; int code = trucocl_videoram[tile_index];
int colour = (machine->generic.colorram.u8[tile_index] & 2) >> 1; int colour = (trucocl_colorram[tile_index] & 2) >> 1;
code |= ( bank & 1 ) << 10; code |= ( bank & 1 ) << 10;
code |= ( bank & 2 ) << 8; code |= ( bank & 2 ) << 8;

Some files were not shown because too many files have changed in this diff Show More