From c2afcb65b66f4d8b927f384a379be687b6e1e1d5 Mon Sep 17 00:00:00 2001 From: Luca Elia Date: Thu, 25 Dec 2008 15:26:14 +0000 Subject: [PATCH] Adds jongtei and corrects name for showhanc. New games added or promoted from NOT_WORKING status --------------------------------------------------- Mahjong Jong-Tei [Luca Elia] --- src/mame/drivers/astrocorp.c | 2 +- src/mame/drivers/ddenlovr.c | 372 ++++++++++++++++++++++++++++++++++- src/mame/drivers/igs_blit.c | 2 +- src/mame/mamedriv.c | 1 + 4 files changed, 373 insertions(+), 4 deletions(-) diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c index 69a2004db1c..364352bb9ea 100644 --- a/src/mame/drivers/astrocorp.c +++ b/src/mame/drivers/astrocorp.c @@ -446,4 +446,4 @@ static DRIVER_INIT( showhanc ) } GAME( 1999?, showhand, 0, showhand, showhand, showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", 0 ) -GAME( 1999?, showhanc, showhand, showhanc, showhanc, showhanc, ROT0, "Astro Corp.", "Show Hand (China)", 0 ) +GAME( 1999?, showhanc, showhand, showhanc, showhanc, showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue", 0 ) diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c index c047767b09c..c3137b04ef1 100644 --- a/src/mame/drivers/ddenlovr.c +++ b/src/mame/drivers/ddenlovr.c @@ -595,10 +595,10 @@ static void blit_vert_line(void) INLINE void log_blit(running_machine *machine, int data) { #if 1 - logerror("%s: blit src %06x x %03x y %03x flags %02x layer %02x pen %02x penmode %02x w %03x h %03x linelen %03x clip: ctrl %x xy %03x %03x wh %03x %03x\n", + logerror("%s: blit src %06x x %03x y %03x flags %02x layer %02x pen %02x penmode %02x w %03x h %03x linelen %03x flip %02x clip: ctrl %x xy %03x %03x wh %03x %03x\n", cpuexec_describe_context(machine), ddenlovr_blit_address,ddenlovr_blit_x,ddenlovr_blit_y,data, - ddenlovr_dest_layer,ddenlovr_blit_pen,ddenlovr_blit_pen_mode,ddenlovr_rect_width,ddenlovr_rect_height,ddenlovr_line_length, + ddenlovr_dest_layer,ddenlovr_blit_pen,ddenlovr_blit_pen_mode,ddenlovr_rect_width,ddenlovr_rect_height,ddenlovr_line_length,ddenlovr_blit_flip, ddenlovr_clip_ctrl,ddenlovr_clip_x,ddenlovr_clip_y, ddenlovr_clip_width,ddenlovr_clip_height ); #endif } @@ -3434,6 +3434,51 @@ static ADDRESS_MAP_START( mjflove_writeport, ADDRESS_SPACE_IO, 8 ) // 16 bit I/O AM_RANGE(0x0380, 0x0380) AM_WRITE(okim6295_data_0_w) ADDRESS_MAP_END +/*************************************************************************** + Mahjong Jong-Tei +***************************************************************************/ + +static WRITE8_HANDLER( jongtei_okibank_w ) +{ + okim6295_set_bank_base(0, ((data >> 4) & 0x07) * 0x40000); +} + +static WRITE8_HANDLER( jongtei_dsw_keyb_w ) +{ + dsw = data; + keyb = data; +} + +static READ8_HANDLER( jongtei_busy_r ) +{ + return 0x04; // !bit 2 = blitter busy +} + +static ADDRESS_MAP_START( jongtei_readport, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x2c, 0x2c) AM_READ(jongtei_busy_r) + AM_RANGE(0x32, 0x32) AM_READ(hanakanz_dsw_r) + AM_RANGE(0x40, 0x40) AM_READ_PORT("SYSTEM") + AM_RANGE(0x41, 0x42) AM_READ(hanakanz_keyb_r) + AM_RANGE(0x46, 0x46) AM_READ(hanakanz_rand_r) + AM_RANGE(0x63, 0x64) AM_READ(hanakanz_gfxrom_r) + AM_RANGE(0xa0, 0xa0) AM_READ(okim6295_status_0_r) + AM_RANGE(0xc0, 0xcf) AM_DEVREAD(MSM6242, "rtc", msm6242_r) // 6242RTC +ADDRESS_MAP_END +static ADDRESS_MAP_START( jongtei_writeport, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x2c, 0x2c) AM_WRITE(jongtei_okibank_w) + AM_RANGE(0x2e, 0x2e) AM_WRITE(hanakanz_blitter_reg_w) + AM_RANGE(0x30, 0x30) AM_WRITE(hanakanz_rombank_w) + AM_RANGE(0x31, 0x31) AM_WRITE(jongtei_dsw_keyb_w) + AM_RANGE(0x43, 0x43) AM_WRITE(hanakanz_coincounter_w) + AM_RANGE(0x60, 0x60) AM_WRITE(hanakanz_blitter_data_w) + AM_RANGE(0x61, 0x61) AM_WRITE(hanakanz_palette_w) + AM_RANGE(0x80, 0x80) AM_WRITE(ym2413_register_port_0_w) + AM_RANGE(0x81, 0x81) AM_WRITE(ym2413_data_port_0_w) + AM_RANGE(0xa0, 0xa0) AM_WRITE(okim6295_data_0_w) + AM_RANGE(0xc0, 0xcf) AM_DEVWRITE(MSM6242, "rtc", msm6242_w) // 6242RTC +ADDRESS_MAP_END + + static INPUT_PORTS_START( ddenlvrj ) PORT_START("P1") @@ -4847,6 +4892,239 @@ static INPUT_PORTS_START( mjreach1 ) INPUT_PORTS_END +static INPUT_PORTS_START( jongtei ) + + PORT_START("SYSTEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE3 ) // medal out + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN) + PORT_SERVICE(0x04, IP_ACTIVE_LOW) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) // analyzer + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) // data clear + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // note + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN) + + PORT_START("KEY0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) // A + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) // E + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) // I + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) // M + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) // Kan + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // Start 2 + + PORT_START("KEY1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) // B + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) // F + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) // J + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) // N + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) // Reach + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2) // BET + + PORT_START("KEY2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) // C + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) // G + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) // K + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) // Chi + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) // Ron + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + + PORT_START("KEY3") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) // D + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) // H + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) // L + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) // Pon + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + + PORT_START("KEY4") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) // "l" + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) // "t" + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) // "w" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) // Flip Flop + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2) // "b" + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) // "s" + + PORT_START("KEY5") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) // A + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) // E + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) // I + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) // M + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) // Kan + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // Start 1 + + PORT_START("KEY6") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) // B + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) // F + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) // J + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) // N + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) // Reach + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) // BET + + PORT_START("KEY7") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) // C + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) // G + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) // K + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) // Chi + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) // Ron + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + + PORT_START("KEY8") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) // D + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) // H + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) // L + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) // Pon + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // nothing + + PORT_START("KEY9") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) // "l" + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) // "t" + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) // "w" + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) // Flip Flop + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) // "b" + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) // "s" + + PORT_START("DSW1") + PORT_DIPNAME( 0x0f, 0x07, "Pay Out Rate (%)" ) + PORT_DIPSETTING( 0x00, "50" ) + PORT_DIPSETTING( 0x01, "53" ) + PORT_DIPSETTING( 0x02, "56" ) + PORT_DIPSETTING( 0x03, "59" ) + PORT_DIPSETTING( 0x04, "62" ) + PORT_DIPSETTING( 0x05, "65" ) + PORT_DIPSETTING( 0x06, "68" ) + PORT_DIPSETTING( 0x07, "71" ) + PORT_DIPSETTING( 0x08, "75" ) + PORT_DIPSETTING( 0x09, "78" ) + PORT_DIPSETTING( 0x0a, "81" ) + PORT_DIPSETTING( 0x0b, "84" ) + PORT_DIPSETTING( 0x0c, "87" ) + PORT_DIPSETTING( 0x0d, "90" ) + PORT_DIPSETTING( 0x0e, "93" ) + PORT_DIPSETTING( 0x0f, "96" ) + PORT_DIPNAME( 0x30, 0x30, "Odds Rate" ) + PORT_DIPSETTING( 0x30, "1 2 4 8 12 16 24 32" ) + PORT_DIPSETTING( 0x00, "1 2 3 5 8 15 30 50" ) + PORT_DIPSETTING( 0x20, "2 3 6 8 12 15 30 50" ) + PORT_DIPSETTING( 0x10, "1 2 3 5 10 25 50 100" ) + PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" ) + PORT_DIPSETTING( 0xc0, "1" ) + PORT_DIPSETTING( 0x80, "5" ) + PORT_DIPSETTING( 0x40, "10" ) + PORT_DIPSETTING( 0x00, "20" ) + + PORT_START("DSW2") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) + PORT_DIPNAME( 0x0c, 0x0c, "Min Credits To Start" ) + PORT_DIPSETTING( 0x0c, "1" ) +// PORT_DIPSETTING( 0x08, "2" ) // ? these don't let you start a game +// PORT_DIPSETTING( 0x04, "3" ) +// PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPNAME( 0x30, 0x30, "Payout" ) + PORT_DIPSETTING( 0x30, "300" ) + PORT_DIPSETTING( 0x20, "500" ) + PORT_DIPSETTING( 0x10, "700" ) + PORT_DIPSETTING( 0x00, "1000" ) + PORT_DIPNAME( 0x40, 0x40, "W-BET" ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Last Chance" ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("DSW3") + PORT_DIPNAME( 0x07, 0x07, "YAKUMAN Bonus" ) + PORT_DIPSETTING( 0x07, "Cut" ) + PORT_DIPSETTING( 0x06, "1 T" ) + PORT_DIPSETTING( 0x05, "300" ) + PORT_DIPSETTING( 0x04, "500" ) + PORT_DIPSETTING( 0x03, "700" ) + PORT_DIPSETTING( 0x02, "1000" ) + PORT_DIPSETTING( 0x01, "1500" ) + PORT_DIPSETTING( 0x00, "2000" ) + PORT_DIPNAME( 0x18, 0x18, "YAKUMAN Times" ) +// PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x18, "1" ) + PORT_DIPSETTING( 0x10, "2" ) + PORT_DIPSETTING( 0x08, "3" ) + PORT_DIPNAME( 0x20, 0x20, "3 BAI In YAKUMAN Bonus Chance" ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "Auto Tsumo" ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Credit Timing" ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("DSW4") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "In Game Music" ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "Girls" ) + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Girls Show After 3 Renso" ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("DSW5") + PORT_DIPNAME( 0x01, 0x01, "Credits Per Note" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x00, "10" ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x0c, 0x0c, "Computer Strength" ) + PORT_DIPSETTING( 0x0c, "Weak" ) + PORT_DIPSETTING( 0x08, DEF_STR( Normal )) + PORT_DIPSETTING( 0x04, "Strong" ) + PORT_DIPSETTING( 0x00, "Very Strong" ) + PORT_DIPNAME( 0x10, 0x10, "Game Style" ) + PORT_DIPSETTING( 0x10, "Credit" ) + PORT_DIPSETTING( 0x00, "Credit Time" ) + PORT_DIPNAME( 0x20, 0x20, "Start Method (Credit Time)" ) + PORT_DIPSETTING( 0x20, "?" ) + PORT_DIPSETTING( 0x00, "Rate" ) + PORT_DIPNAME( 0x40, 0x40, "Unknown 4-8" ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Unknown 4-9" ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("BET") + PORT_DIPNAME( 0x40, 0x40, "Bets?" ) + PORT_DIPSETTING( 0x40, "0" ) + PORT_DIPSETTING( 0x00, "1" ) + + PORT_START("HOPPER") + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + +INPUT_PORTS_END + + static INPUT_PORTS_START( mjchuuka ) PORT_START("SYSTEM") @@ -7139,6 +7417,42 @@ static MACHINE_DRIVER_START( hparadis ) MDRV_CPU_VBLANK_INT("main", hparadis_irq) MACHINE_DRIVER_END +static MACHINE_DRIVER_START( jongtei ) + + /* basic machine hardware */ + MDRV_CPU_ADD("main",Z80, XTAL_20MHz / 2) // ? + MDRV_CPU_PROGRAM_MAP(hanakanz_readmem,hanakanz_writemem) + MDRV_CPU_IO_MAP(jongtei_readport,jongtei_writeport) + MDRV_CPU_VBLANK_INT("main", hanakanz_irq) + + /* video hardware */ + MDRV_SCREEN_ADD("main", RASTER) + MDRV_SCREEN_REFRESH_RATE(60) + MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) + MDRV_SCREEN_SIZE(336, 256) + MDRV_SCREEN_VISIBLE_AREA(0, 336-1, 5, 256-11-1) + + MDRV_PALETTE_LENGTH(0x200) + + MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) + MDRV_VIDEO_START(hanakanz) // blitter commands in the roms are shuffled around + MDRV_VIDEO_UPDATE(ddenlovr) + + /* sound hardware */ + MDRV_SPEAKER_STANDARD_MONO("mono") + + MDRV_SOUND_ADD("ym", YM2413, XTAL_28_63636MHz / 8) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + + MDRV_SOUND_ADD("oki", OKIM6295, XTAL_28_63636MHz / 28) + MDRV_SOUND_CONFIG(okim6295_interface_pin7high) + MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + + /* devices */ + MDRV_MSM6242_ADD("rtc") +MACHINE_DRIVER_END + /*************************************************************************** @@ -8685,6 +8999,59 @@ ROM_START( hgokou ) ROM_LOAD( "1081.2d", 0x00000, 0x40000, CRC(74dede40) SHA1(d148f9ab9223b4c0b2f457a6f0e7fa3d173ab12b) ) ROM_END +/*************************************************************************** + +Mahjong Jong-Tei +Dynax 1999 + +PCB Layout +---------- + +NM532-9902 +|-----------------------------------------| +| TA7252 LM358 LM358 PST532 BATT | +| VOL M6295 32.768kHz| +| DSW5(4) 53201 | +|M YM2413 20MHz M6242| +|A | +|H DSW1(10) QFP100 62256 | +|J ACTEL DSW2(10) | +|O A1010 DSW3(10) 53202 | +|N DSW4(10) | +|G 28.63636MHz 53203 | +| | +| 53204 | +| M514262 4L10FXXXX | +| M524262 53205 | +| M514262 | +| M514262 53206 | +|-----------------------------------------| +Notes: + 4L10FXXXX - Dynax graphics chip, surface scratch, but + it will be one of the usual ones + QFP100 - Main CPU, surface scratched. Clock input 20.00MHz + M6295 - Clock 1.022727143MHz [28.63636/28]. Pin 7 HIGH + YM2413 - Clock 3.579545MHz [28.63636/8] + VSync - 60.7194Hz + HSync - 15.2443kHz + +***************************************************************************/ + +ROM_START( jongtei ) + ROM_REGION( 0x90000+16*0x1000, "main", 0 ) /* Z80 Code */ + ROM_LOAD( "53202.5b", 0x00000, 0x80000, CRC(fa95a7f2) SHA1(bb67d74acb8908c222acdc92ee13d4a644358aef) ) + ROM_RELOAD( 0x10000, 0x80000 ) + + ROM_REGION( 0x800000, "blitter", 0 ) /* blitter data */ + ROM_LOAD( "53203.7b", 0x000000, 0x200000, CRC(55d6522a) SHA1(47996be70481a98ead10211645566613d20b5880) ) + ROM_LOAD( "53204.8b", 0x200000, 0x200000, CRC(4f58a303) SHA1(2893e6b47c3098cb878cf5fa5957e9652559e420) ) + ROM_LOAD( "53205.10b", 0x400000, 0x200000, CRC(d69e0355) SHA1(f67688eaf7954619785040204368d2cb5fc64e6e) ) + ROM_LOAD( "53206.12b", 0x600000, 0x200000, CRC(f0652395) SHA1(286683728836c452b71c3b8c48bd0f7159b2a10c) ) + + ROM_REGION( 0x200000, "oki", 0 ) /* Samples */ + ROM_LOAD( "53201.2a", 0x000000, 0x200000, CRC(c53d840c) SHA1(5a935320f48bdc8f3b9ed105dcdd0c6e33c3c38c) ) +ROM_END + GAME( 1992, mmpanic, 0, mmpanic, mmpanic, 0, ROT0, "Nakanihon + East Technology (Taito license)", "Monkey Mole Panic (USA)", GAME_NO_COCKTAIL ) GAME( 1993, funkyfig, 0, funkyfig, funkyfig, 0, ROT0, "Nakanihon + East Technology (Taito license)", "The First Funky Fighter", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS ) // scrolling, priority? @@ -8715,3 +9082,4 @@ GAME( 1996, mjflove, 0, mjflove, mjflove, 0, ROT0, "Nakanihon", GAME( 1997, hkagerou, 0, hkagerou, hkagerou, 0, ROT0, "Nakanihon + Dynax", "Hana Kagerou [BET] (Japan)", GAME_NO_COCKTAIL ) GAME( 1998, mjchuuka, 0, mjchuuka, mjchuuka, 0, ROT0, "Dynax", "Mahjong Chuukanejyo (China)", GAME_NO_COCKTAIL ) GAME( 1998, mjreach1, 0, mjreach1, mjreach1, 0, ROT0, "Nihon System", "Mahjong Reach Ippatsu (Japan)", GAME_NO_COCKTAIL ) +GAME( 1999, jongtei, 0, jongtei, jongtei, 0, ROT0, "Dynax", "Mahjong Jong-Tei (Japan, ver. NM532-01)", GAME_NO_COCKTAIL ) diff --git a/src/mame/drivers/igs_blit.c b/src/mame/drivers/igs_blit.c index 935fa028534..7e1a2815262 100644 --- a/src/mame/drivers/igs_blit.c +++ b/src/mame/drivers/igs_blit.c @@ -3076,7 +3076,7 @@ ROM_END /*************************************************************************** - Zhong Guo Long? (Hong Kong, V011H) + Dong Fang Zhi Zhu (Hong Kong version of Zhong Guo Long, V011H) ***************************************************************************/ diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index 080a3d5549f..9b82908b695 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -7385,6 +7385,7 @@ Other Sun games DRIVER( mjchuuka ) /* "???" (c) 1998 Dynax */ DRIVER( mjreach1 ) /* "526" Mahjong Reach Ippatsu 1998 Nihon System/Dynax */ DRIVER( cafebrk ) /* "528" Mahjong Cafe Break (C) 1999 Nakanihon / Dynax */ + DRIVER( jongtei ) /* "532" Mahjong Jong-Tei (C) 1999 Dynax */ DRIVER( pkgnsh ) /* "505" Pachinko Gindama Shoubu 1998 (Japan) */ DRIVER( pkgnshdx ) /* "522" Pachinko Gindama Shoubu DX 1998 (Japan) */