mirror of
https://github.com/holub/mame
synced 2025-05-25 23:35:26 +03:00
Further improved graphics in Greyhound games.
This commit is contained in:
parent
bf161f27dd
commit
699a4a9d1a
@ -20,10 +20,16 @@ replaced by a 6th button to start games. This is a feature of the PCB for privat
|
|||||||
|
|
||||||
|
|
||||||
static UINT8 drawctrl[3];
|
static UINT8 drawctrl[3];
|
||||||
|
static UINT8 drawctrl_bgcolor = 0;
|
||||||
|
|
||||||
static WRITE8_HANDLER( findout_drawctrl_w )
|
static WRITE8_HANDLER( findout_drawctrl_w )
|
||||||
{
|
{
|
||||||
drawctrl[offset] = data;
|
drawctrl[offset] = data;
|
||||||
|
|
||||||
|
if (offset==2 && drawctrl[1]==0xff)
|
||||||
|
{
|
||||||
|
drawctrl_bgcolor = drawctrl[0];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( findout_bitmap_w )
|
static WRITE8_HANDLER( findout_bitmap_w )
|
||||||
@ -38,7 +44,7 @@ static WRITE8_HANDLER( findout_bitmap_w )
|
|||||||
prevoffset = offset;
|
prevoffset = offset;
|
||||||
|
|
||||||
fg = drawctrl[0] & 7;
|
fg = drawctrl[0] & 7;
|
||||||
bg = 2;
|
bg = drawctrl_bgcolor & 7;
|
||||||
mask = 0xff;//drawctrl[2];
|
mask = 0xff;//drawctrl[2];
|
||||||
bits = drawctrl[1];
|
bits = drawctrl[1];
|
||||||
|
|
||||||
@ -46,6 +52,7 @@ static WRITE8_HANDLER( findout_bitmap_w )
|
|||||||
sy = offset / 64;
|
sy = offset / 64;
|
||||||
sy = (sy + yadd) & 0xff;
|
sy = (sy + yadd) & 0xff;
|
||||||
|
|
||||||
|
logerror("bitmap_w: offset = %04x, x = %d, y = %d\n", offset, sx, sy );
|
||||||
//if (mask != bits)
|
//if (mask != bits)
|
||||||
// popmessage("color %02x bits %02x mask %02x\n",fg,bits,mask);
|
// popmessage("color %02x bits %02x mask %02x\n",fg,bits,mask);
|
||||||
|
|
||||||
|
@ -84,7 +84,18 @@ NOTE: Series 8 and above are version 1.03a (currently in findout.c)
|
|||||||
#include "machine/ticket.h"
|
#include "machine/ticket.h"
|
||||||
#include "sound/dac.h"
|
#include "sound/dac.h"
|
||||||
|
|
||||||
static UINT8 *drawctrl;
|
static UINT8 drawctrl[3];
|
||||||
|
static UINT8 drawctrl_bgcolor = 0;
|
||||||
|
|
||||||
|
static WRITE8_HANDLER( getrivia_drawctrl_w )
|
||||||
|
{
|
||||||
|
drawctrl[offset] = data;
|
||||||
|
|
||||||
|
if (offset==2 && drawctrl[1]==0xff)
|
||||||
|
{
|
||||||
|
drawctrl_bgcolor = drawctrl[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( getrivia_bitmap_w )
|
static WRITE8_HANDLER( getrivia_bitmap_w )
|
||||||
{
|
{
|
||||||
@ -98,7 +109,7 @@ static WRITE8_HANDLER( getrivia_bitmap_w )
|
|||||||
prevoffset = offset;
|
prevoffset = offset;
|
||||||
|
|
||||||
fg = drawctrl[0] & 7;
|
fg = drawctrl[0] & 7;
|
||||||
bg = 2;
|
bg = drawctrl_bgcolor & 7;
|
||||||
mask = 0xff;//drawctrl[2];
|
mask = 0xff;//drawctrl[2];
|
||||||
bits = drawctrl[1];
|
bits = drawctrl[1];
|
||||||
|
|
||||||
@ -318,7 +329,7 @@ static ADDRESS_MAP_START( getrivia_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x609b, 0x609b) AM_WRITE(banksel_3_2_w)
|
AM_RANGE(0x609b, 0x609b) AM_WRITE(banksel_3_2_w)
|
||||||
AM_RANGE(0x609d, 0x609d) AM_WRITE(banksel_2_2_w)
|
AM_RANGE(0x609d, 0x609d) AM_WRITE(banksel_2_2_w)
|
||||||
AM_RANGE(0x609e, 0x609e) AM_WRITE(banksel_1_2_w)
|
AM_RANGE(0x609e, 0x609e) AM_WRITE(banksel_1_2_w)
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0x9fff) AM_ROM /* space for diagnostic ROM? */
|
AM_RANGE(0x8000, 0x9fff) AM_ROM /* space for diagnostic ROM? */
|
||||||
AM_RANGE(0xa000, 0xbfff) AM_ROM
|
AM_RANGE(0xa000, 0xbfff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
@ -334,7 +345,7 @@ static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x4403, 0x4403) AM_WRITE(banksel_2_2_w)
|
AM_RANGE(0x4403, 0x4403) AM_WRITE(banksel_2_2_w)
|
||||||
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
|
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
|
||||||
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -350,7 +361,7 @@ static ADDRESS_MAP_START( amuse_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x607b, 0x607b) AM_WRITE(banksel_3_1_w)
|
AM_RANGE(0x607b, 0x607b) AM_WRITE(banksel_3_1_w)
|
||||||
AM_RANGE(0x607d, 0x607d) AM_WRITE(banksel_2_1_w)
|
AM_RANGE(0x607d, 0x607d) AM_WRITE(banksel_2_1_w)
|
||||||
AM_RANGE(0x607e, 0x607e) AM_WRITE(banksel_1_1_w)
|
AM_RANGE(0x607e, 0x607e) AM_WRITE(banksel_1_1_w)
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROM
|
AM_RANGE(0x8000, 0xbfff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -366,7 +377,7 @@ static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x60fb, 0x60fb) AM_WRITE(banksel_2_1_w)
|
AM_RANGE(0x60fb, 0x60fb) AM_WRITE(banksel_2_1_w)
|
||||||
AM_RANGE(0x60fd, 0x60fd) AM_WRITE(banksel_1_2_w)
|
AM_RANGE(0x60fd, 0x60fd) AM_WRITE(banksel_1_2_w)
|
||||||
AM_RANGE(0x60fe, 0x60fe) AM_WRITE(banksel_1_1_w)
|
AM_RANGE(0x60fe, 0x60fe) AM_WRITE(banksel_1_1_w)
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
||||||
AM_RANGE(0xe000, 0xffff) AM_ROM
|
AM_RANGE(0xe000, 0xffff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
@ -383,7 +394,7 @@ static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
|
AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
|
||||||
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
||||||
AM_RANGE(0x5800, 0x5fff) AM_ROM
|
AM_RANGE(0x5800, 0x5fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
||||||
AM_RANGE(0xe000, 0xffff) AM_ROM
|
AM_RANGE(0xe000, 0xffff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
@ -396,7 +407,7 @@ static ADDRESS_MAP_START( suprpokr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
||||||
AM_RANGE(0x6200, 0x6200) AM_WRITE(signature2_w)
|
AM_RANGE(0x6200, 0x6200) AM_WRITE(signature2_w)
|
||||||
AM_RANGE(0x6400, 0x6400) AM_READ(signature_r)
|
AM_RANGE(0x6400, 0x6400) AM_READ(signature_r)
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */
|
||||||
AM_RANGE(0xe000, 0xffff) AM_ROM
|
AM_RANGE(0xe000, 0xffff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
@ -410,7 +421,7 @@ static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x5800, 0x5fff) AM_ROM
|
AM_RANGE(0x5800, 0x5fff) AM_ROM
|
||||||
AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w)
|
AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w)
|
||||||
AM_RANGE(0x6000, 0x7fff) AM_ROM
|
AM_RANGE(0x6000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
|
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -424,7 +435,7 @@ static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
AM_RANGE(0x5800, 0x5800) AM_WRITE(signature_w)
|
AM_RANGE(0x5800, 0x5800) AM_WRITE(signature_w)
|
||||||
AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w)
|
AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w)
|
||||||
AM_RANGE(0x6000, 0x7fff) AM_ROM
|
AM_RANGE(0x6000, 0x7fff) AM_ROM
|
||||||
AM_RANGE(0x8000, 0x8002) AM_WRITE(SMH_RAM) AM_BASE(&drawctrl)
|
AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w)
|
||||||
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
|
AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1)
|
||||||
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
Loading…
Reference in New Issue
Block a user