Haze: fixed atlantol, no whatsnew

This commit is contained in:
Angelo Salese 2010-08-26 15:35:49 +00:00
parent cb6abe6e3f
commit 60848fb198
3 changed files with 25 additions and 4 deletions

View File

@ -1107,6 +1107,12 @@ static MACHINE_DRIVER_START( hyprolyb )
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( atlantol )
MDRV_IMPORT_FROM(hyprolyb)
MDRV_VIDEO_START(atlantol)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( mastkin )
@ -1602,7 +1608,7 @@ GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld, ROT0, "Konami",
GAME( 1983, trackfldc, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", GAME_SUPPORTS_SAVE )
GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami", "Hyper Olympic", GAME_SUPPORTS_SAVE )
GAME( 1983, hyprolymb, trackfld, hyprolyb, trackfld, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
GAME( 1996, atlantol, trackfld, hyprolyb, atlantol, atlantol, ROT0, "bootleg", "Atlant Olimpic", GAME_SUPPORTS_SAVE )
GAME( 1996, atlantol, trackfld, atlantol, atlantol, atlantol, ROT0, "bootleg", "Atlant Olimpic", GAME_SUPPORTS_SAVE )
GAME( 1988, mastkin, 0, mastkin, mastkin, mastkin, ROT0, "Du Tech", "The Masters of Kin", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
GAME( 1982, trackfldnz,trackfld, trackfld, trackfld, trackfld, ROT0, "bootleg? (Goldberg Enterprizes Inc.)", "Track & Field (NZ bootleg?)", GAME_NOT_WORKING)
GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, wizzquiz, ROT0, "Zilec-Zenitone (Konami license)", "Wizz Quiz (Konami version)", GAME_SUPPORTS_SAVE )

View File

@ -27,12 +27,12 @@ public:
size_t spriteram_size;
UINT8 * palettebank; // sbasketb
UINT8 * spriteram_select; // sbasketb
/* video-related */
tilemap_t *bg_tilemap;
int bg_bank, sprite_bank1, sprite_bank2; // trackfld
int old_gfx_bank; // needed by atlantol
int sprites_gfx_banked;
/* sound-related */
int SN76496_latch;
@ -81,6 +81,7 @@ WRITE8_HANDLER( atlantol_gfxbank_w );
PALETTE_INIT( trackfld );
VIDEO_START( trackfld );
VIDEO_UPDATE( trackfld );
VIDEO_START( atlantol );
/*----------- defined in video/hyperspt.c -----------*/

View File

@ -179,8 +179,19 @@ VIDEO_START( trackfld )
trackfld_state *state = machine->driver_data<trackfld_state>();
state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 64, 32);
tilemap_set_scroll_rows(state->bg_tilemap, 32);
state->sprites_gfx_banked = 0;
}
VIDEO_START( atlantol )
{
trackfld_state *state = machine->driver_data<trackfld_state>();
VIDEO_START_CALL( trackfld );
state->sprites_gfx_banked = 1;
}
static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
{
trackfld_state *state = machine->driver_data<trackfld_state>();
@ -193,7 +204,8 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
int attr = spriteram_2[offs];
int code = spriteram[offs + 1];
int color = attr & 0x0f;
if (attr&1) code|=0x100; // extra tile# bit for the yiear conversion, trackfld doesn't have this many sprites so it will just get masked
if (!state->sprites_gfx_banked)
if (attr&1) code|=0x100; // extra tile# bit for the yiear conversion, trackfld doesn't have this many sprites so it will just get masked
int flipx = ~attr & 0x40;
int flipy = attr & 0x80;
int sx = spriteram[offs] - 1;
@ -234,6 +246,8 @@ static void draw_sprites( running_machine *machine, bitmap_t *bitmap, const rect
}
}
VIDEO_UPDATE( trackfld )
{
trackfld_state *state = screen->machine->driver_data<trackfld_state>();