diff options
| author | 2009-06-17 21:17:40 +0000 | |
|---|---|---|
| committer | 2009-06-17 21:17:40 +0000 | |
| commit | 62804e9f7caf5a8b277389d487f6ba279a1a554e (patch) | |
| tree | ee385ab56b972f0dd9d5c8fe4135d1406517b68b /src | |
| parent | cdb30239860c597bbc55a4974fb0367632386d32 (diff) | |
Some minor tweakery
Diffstat (limited to 'src')
| -rw-r--r-- | src/mame/drivers/liberate.c | 4 | ||||
| -rw-r--r-- | src/mame/video/liberate.c | 57 |
2 files changed, 33 insertions, 28 deletions
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c index 7235676d272..650418eb1be 100644 --- a/src/mame/drivers/liberate.c +++ b/src/mame/drivers/liberate.c @@ -249,11 +249,11 @@ static ADDRESS_MAP_START( prosport_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0800, 0x1fff) AM_READWRITE(prosport_charram_r,prosport_charram_w) //0x1e00-0x1ff isn't charram! // AM_RANGE(0x2000, 0x2fff) AM_RAM //likely i/o AM_RANGE(0x2000, 0x23ff) AM_SHARE(2) AM_RAM - AM_RANGE(0x2800, 0x283f) AM_SHARE(1) AM_RAM AM_BASE(&spriteram) + AM_RANGE(0x2800, 0x2bff) AM_RAM // AM_RANGE(0x2800, 0x2fff) AM_SHARE(2) AM_RAM AM_RANGE(0x3000, 0x33ff) AM_RAM_WRITE(liberate_colorram_w) AM_BASE(&colorram) AM_RANGE(0x3400, 0x37ff) AM_RAM_WRITE(liberate_videoram_w) AM_BASE(&videoram) - AM_RANGE(0x3800, 0x3fff) AM_SHARE(1) AM_RAM + AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE(&spriteram) AM_RANGE(0x8000, 0x800f) AM_WRITE(prosport_io_w) AM_RANGE(0x8000, 0x800f) AM_ROMBANK(1) AM_RANGE(0x4000, 0xffff) AM_ROM diff --git a/src/mame/video/liberate.c b/src/mame/video/liberate.c index 525c96acb97..eebcb680064 100644 --- a/src/mame/video/liberate.c +++ b/src/mame/video/liberate.c @@ -151,7 +151,7 @@ WRITE8_HANDLER( prosport_io_w ) switch (offset) { case 0: - background_disable = ~data & 0x80; + //background_disable = ~data & 0x80; break; case 2: /* Sound */ soundlatch_w(space, 0, data); @@ -209,8 +209,10 @@ VIDEO_START( liberate ) WRITE8_HANDLER( prosport_paletteram_w ) { + paletteram[offset] = data; + /* RGB output is inverted */ - paletteram_BBGGGRRR_w(space,offset,~data); + palette_set_color_rgb(space->machine, offset, pal3bit(~data >> 0), pal3bit(~data >> 3), pal2bit(~data >> 6)); } PALETTE_INIT( liberate ) @@ -338,7 +340,7 @@ static void prosport_draw_sprites(running_machine *machine, bitmap_t *bitmap, co // sy = (240-spriteram[offs+2]);//-16; sy = 240-sy; - color = 1;//(spriteram[offs+0]&0x4)>>2; + color = 1;//(deco16_io_ram[4] & 2)+1;//(spriteram[offs+0]&0x4)>>2; fx = spriteram[offs+0] & 0x02; fy = spriteram[offs+0] & 0x04; @@ -477,59 +479,63 @@ VIDEO_UPDATE( prosoccr ) VIDEO_UPDATE( prosport ) { - int mx,my,tile,color,offs,gfx_region; + int mx,my,tile,offs,gfx_region; + int scrollx; bitmap_fill(bitmap,cliprect,0); +// popmessage("%d",scrollx); + offs = 0; +// scrollx = ((deco16_io_ram[0] & 0xf)<<8)+deco16_io_ram[1]; + scrollx = 0;//((deco16_io_ram[0] & 0x3)<<8)+deco16_io_ram[1]; - /* TODO: enough for showing something for Pro Bowling, not enough at all for Pro Golf...*/ + /* TODO: enough for showing something for Pro Bowling, not enough yet for Pro Golf...*/ for(mx = 0;mx < 32;mx++) { for(my = 0;my < 16;my++) { -// #if 0 tile = (prosport_bg_vram[offs] & 0xf0)>>4; - tile+=0x20; + + if(deco16_io_ram[4] & 0x80) + tile+=0x20; drawgfx(bitmap,screen->machine->gfx[8], - tile,0,0,0,248-16*(mx+0),16*(my+0), + tile,0,0,0,256-16*(mx+0)+scrollx,16*(my+0), cliprect,TRANSPARENCY_NONE,0); -//#endif - #if 0 - tile = (prosport_bg_vram[offs] & 0x0f); - tile+=0x20; - drawgfx(bitmap,screen->machine->gfx[8], - tile,0,0,0,248-16*(mx+0),16*(my), + tile,0,0,0,256-16*(mx+0)+scrollx+512,16*(my+0), cliprect,TRANSPARENCY_NONE,0); - #endif + offs++; } } - #if 0 - offs = 0; - +// #if 0 for(mx = 0;mx < 32;mx++) { - for(my = 0;my < 16;my++) + for(my = 16;my < 32;my++) { - tile = (prosport_bg_vram[offs] & 0x0f); - //tile+=0x20; + tile = (prosport_bg_vram[offs] & 0xf0)>>4; + + if(deco16_io_ram[4] & 0x80) + tile+=0x20; drawgfx(bitmap,screen->machine->gfx[8], - tile,0,0,0,248-16*(mx+0),16*(my), - cliprect,TRANSPARENCY_PEN,0); + tile,0,0,0,256-16*(mx+0)+scrollx,16*(my+0), + cliprect,TRANSPARENCY_NONE,0); + drawgfx(bitmap,screen->machine->gfx[8], + tile,0,0,0,256-16*(mx+0)+scrollx+512,16*(my+0), + cliprect,TRANSPARENCY_NONE,0); offs++; } } - #endif +// #endif //return 0; -// popmessage("%02x %02x %02x %02x %02x %02x %02x %02x",deco16_io_ram[0],deco16_io_ram[1],deco16_io_ram[2],deco16_io_ram[3] +// popmessage("%d %02x %02x %02x %02x %02x %02x %02x %02x",scrollx,deco16_io_ram[0],deco16_io_ram[1],deco16_io_ram[2],deco16_io_ram[3] // ,deco16_io_ram[4],deco16_io_ram[5],deco16_io_ram[6],deco16_io_ram[7]); for (offs = 0;offs < 0x400;offs++) @@ -541,7 +547,6 @@ VIDEO_UPDATE( prosport ) else gfx_region = ((deco16_io_ram[0]&0x30)>>4); - color=1;//(videoram[offs]&0x70)>>4; my = (offs) % 32; mx = (offs) / 32; |
