Fixes abaseb0122u3red

Simplifies up the video portion a bit
This commit is contained in:
Zsolt Vasvari 2008-01-07 02:16:39 +00:00
parent b1081549b7
commit 9dfed95203
4 changed files with 12 additions and 37 deletions

View File

@ -153,12 +153,12 @@ static PALETTE_INIT( atarifb )
static ADDRESS_MAP_START( atarifb_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_FLAGS( AMEF_ABITS(15) )
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_WRITE(atarifb_alphap1_vram_w) AM_BASE(&atarifb_alphap1_vram) AM_SIZE(&atarifb_alphap1_vram_size)
AM_RANGE(0x0200, 0x025f) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_alphap1_vram) AM_SIZE(&atarifb_alphap1_vram_size)
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_WRITE(atarifb_alphap2_vram_w) AM_BASE(&atarifb_alphap2_vram) AM_SIZE(&atarifb_alphap2_vram_size)
AM_RANGE(0x1000, 0x13bf) AM_READWRITE(MRA8_RAM, videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0x03a0, 0x03ff) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_alphap2_vram) AM_SIZE(&atarifb_alphap2_vram_size)
AM_RANGE(0x1000, 0x13bf) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x2000, 0x2000) AM_WRITE(atarifb_scroll_w) AM_BASE(&atarifb_scroll_register) /* OUT 0 */
AM_RANGE(0x2000, 0x2000) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_scroll_register) /* OUT 0 */
AM_RANGE(0x2001, 0x2001) AM_WRITE(atarifb_out1_w) /* OUT 1 */
AM_RANGE(0x2002, 0x2002) AM_WRITE(atarifb_out2_w) /* OUT 2 */
AM_RANGE(0x2003, 0x2003) AM_WRITE(atarifb_out3_w) /* OUT 3 */
@ -174,12 +174,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( soccer_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_FLAGS( AMEF_ABITS(14) )
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x025f) AM_WRITE(atarifb_alphap1_vram_w) AM_BASE(&atarifb_alphap1_vram) AM_SIZE(&atarifb_alphap1_vram_size)
AM_RANGE(0x0200, 0x025f) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_alphap1_vram) AM_SIZE(&atarifb_alphap1_vram_size)
AM_RANGE(0x0260, 0x039f) AM_RAM
AM_RANGE(0x03a0, 0x03ff) AM_WRITE(atarifb_alphap2_vram_w) AM_BASE(&atarifb_alphap2_vram) AM_SIZE(&atarifb_alphap2_vram_size)
AM_RANGE(0x0800, 0x0bbf) AM_READWRITE(MRA8_RAM, videoram_w) AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0x03a0, 0x03ff) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_alphap2_vram) AM_SIZE(&atarifb_alphap2_vram_size)
AM_RANGE(0x0800, 0x0bbf) AM_RAM AM_BASE(&videoram) AM_SIZE(&videoram_size)
AM_RANGE(0x0bc0, 0x0bff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
AM_RANGE(0x1000, 0x1000) AM_WRITE(atarifb_scroll_w) AM_BASE(&atarifb_scroll_register) /* OUT 0 */
AM_RANGE(0x1000, 0x1000) AM_WRITE(MWA8_RAM) AM_BASE(&atarifb_scroll_register) /* OUT 0 */
AM_RANGE(0x1001, 0x1001) AM_WRITE(atarifb_out1_w) /* OUT 1 */
AM_RANGE(0x1002, 0x1002) AM_WRITE(atarifb_out2_w) /* OUT 2 */
AM_RANGE(0x1004, 0x1004) AM_WRITE(MWA8_NOP) /* Interrupt Acknowledge */
@ -774,7 +774,7 @@ static DRIVER_INIT( soccer )
*
*************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
GAMEL( 1978, atarifb, 0, atarifb, atarifb, atarifb, ROT0, "Atari", "Atari Football (revision 2)", 0, layout_atarifb )
GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, atarifb, ROT0, "Atari", "Atari Football (revision 1)", 0, layout_atarifb )
GAMEL( 1979, atarifb4, atarifb, atarifb, atarifb4, atarifb4, ROT0, "Atari", "Atari Football (4 players)", 0, layout_atarifb4 )

View File

@ -49,8 +49,4 @@ extern UINT8 *atarifb_alphap1_vram;
extern UINT8 *atarifb_alphap2_vram;
extern UINT8 *atarifb_scroll_register;
WRITE8_HANDLER( atarifb_scroll_w );
WRITE8_HANDLER( atarifb_alphap1_vram_w );
WRITE8_HANDLER( atarifb_alphap2_vram_w );
VIDEO_UPDATE( atarifb );

View File

@ -45,14 +45,14 @@ WRITE8_HANDLER( atarifb_out1_w )
if (data & 0x80)
{
/* Invert video */
palette_set_color(Machine,2,MAKE_RGB(0x00,0x00,0x00)); /* black */
palette_set_color(Machine,1,MAKE_RGB(0x00,0x00,0x00)); /* black */
palette_set_color(Machine,0,MAKE_RGB(0xff,0xff,0xff)); /* white */
}
else
{
/* Regular video */
palette_set_color(Machine,0,MAKE_RGB(0x00,0x00,0x00)); /* black */
palette_set_color(Machine,2,MAKE_RGB(0xff,0xff,0xff)); /* white */
palette_set_color(Machine,1,MAKE_RGB(0xff,0xff,0xff)); /* white */
}
}
}

View File

@ -20,25 +20,6 @@ static const rectangle bigfield_area = { 4*8, 34*8-1, 0*8, 32*8-1 };
static const rectangle left_area = { 0*8, 3*8-1, 0*8, 32*8-1 };
static const rectangle right_area = { 34*8, 38*8-1, 0*8, 32*8-1 };
/***************************************************************************
***************************************************************************/
WRITE8_HANDLER( atarifb_alphap1_vram_w )
{
atarifb_alphap1_vram[offset] = data;
}
WRITE8_HANDLER( atarifb_alphap2_vram_w )
{
atarifb_alphap2_vram[offset] = data;
}
/***************************************************************************
***************************************************************************/
WRITE8_HANDLER( atarifb_scroll_w )
{
*atarifb_scroll_register = data - 8;
}
VIDEO_UPDATE( atarifb )
{
@ -103,13 +84,11 @@ VIDEO_UPDATE( atarifb )
int flipx,flipy;
int sx,sy;
dirtybuffer[offs]=0;
charcode = videoram[offs] & 0x3f;
flipx = (videoram[offs] & 0x40) >> 6;
flipy = (videoram[offs] & 0x80) >> 7;
sx = (8 * (offs % 32) - *atarifb_scroll_register);
sx = 8 * (offs % 32) - *atarifb_scroll_register + 8;
sy = 8 * (offs / 32) + 8;
/* Soccer hack */