diff --git a/src/mame/drivers/taitojc.c b/src/mame/drivers/taitojc.c index dc6c1f99c37..21e1e6da6e2 100644 --- a/src/mame/drivers/taitojc.c +++ b/src/mame/drivers/taitojc.c @@ -344,8 +344,8 @@ Notes: - dendeg doesn't show credit display - landgear has some weird crashes (after playing one round, after a couple of loops in attract mode) (needs testing -AS) - landgear has huge 3d problems on gameplay (CPU comms?) - - dendeg2/dendeg2x usually crashes when starting the game (lots of read and writes to invalid addresses). - All dendeg games have random wrong textures/palettes. (can't see any ... -AS) + - dendeg2 shows a debug string during gameplay? - Train board (external sound board with OKI6295) is not emulated. - dangcurv DSP program crashes very soon, so no 3d is currently shown. - add idle skips if possible @@ -1902,8 +1902,8 @@ ROM_END GAME( 1996, dendeg, 0, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go (Japan)", GAME_IMPERFECT_GRAPHICS ) GAME( 1996, dendegx, dendeg, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go Ex (Japan)", GAME_IMPERFECT_GRAPHICS ) -GAME( 1998, dendeg2, 0, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go 2 (Japan)", GAME_NOT_WORKING ) -GAME( 1998, dendeg2x, dendeg2, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go 2 Ex (Japan)", GAME_NOT_WORKING ) +GAME( 1998, dendeg2, 0, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go 2 (Japan)", GAME_IMPERFECT_GRAPHICS ) +GAME( 1998, dendeg2x, dendeg2, taitojc, dendeg, taitojc, ROT0, "Taito", "Densya De Go 2 Ex (Japan)", GAME_IMPERFECT_GRAPHICS ) GAME( 1996, sidebs, 0, taitojc, sidebs, taitojc, ROT0, "Taito", "Side By Side (Japan)", GAME_IMPERFECT_GRAPHICS ) GAME( 1997, sidebs2, 0, taitojc, sidebs, taitojc, ROT0, "Taito", "Side By Side 2 (North/South America)", GAME_IMPERFECT_GRAPHICS ) GAME( 1997, sidebs2j, sidebs2, taitojc, sidebs, taitojc, ROT0, "Taito", "Side By Side 2 (Japan)", GAME_IMPERFECT_GRAPHICS ) diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c index 741da0f20f9..e297780cc77 100644 --- a/src/mame/video/taitojc.c +++ b/src/mame/video/taitojc.c @@ -167,7 +167,7 @@ static void draw_object(running_machine &machine, bitmap_t *bitmap, const rectan y2 = cliprect->max_y; } - if(!color_depth) // Densya de Go 2X "credit text", 4bpp + if(!color_depth) // Densya de Go 2/2X "credit text", 4bpp { for (j=y1; j < y2; j++) { @@ -355,9 +355,17 @@ static void render_solid_scan(void *dest, INT32 scanline, const poly_extent *ext int color = extent->param[1].start; float dz = extent->param[0].dpdx; UINT16 *fb = BITMAP_ADDR16(destmap, scanline, 0); - UINT16 *zb = BITMAP_ADDR16(extra->zbuffer, scanline, 0); + UINT16 *zb;// = BITMAP_ADDR16(extra->zbuffer, scanline, 0); int x; + // avoid crash in dendeg2 + if (!extra->zbuffer) + { + return; + } + + zb = BITMAP_ADDR16(extra->zbuffer, scanline, 0); + for (x = extent->startx; x < extent->stopx; x++) { int iz = (int)z & 0xffff;