Further improved graphics in Greyhound games.

This commit is contained in:
mariuszw1 2009-11-14 14:56:12 +00:00
parent bf161f27dd
commit 699a4a9d1a
2 changed files with 29 additions and 11 deletions

View File

@ -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);

View File

@ -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