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