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