diff --git a/src/emu/drivers/xtal.h b/src/emu/drivers/xtal.h index 8890811766c..a2407525888 100644 --- a/src/emu/drivers/xtal.h +++ b/src/emu/drivers/xtal.h @@ -132,6 +132,7 @@ enum XTAL_11_6688MHz = 11668800, /* Gameplan pixel clock */ XTAL_11_8MHz = 11800000, /* IBM PC Music Feature Card */ XTAL_11_9808MHz = 11980800, /* Luxor ABC 80 */ + XTAL_11_9931MHz = 11993100, /* DECO HMC20 CRTC */ XTAL_12MHz = 12000000, /* Extremely common, used on 100's of PCBs */ XTAL_12_0576MHz = 12057600, /* Poly 1 (38400 * 314) */ XTAL_12_096MHz = 12096000, /* Some early 80's Atari games */ diff --git a/src/mame/drivers/bogeyman.cpp b/src/mame/drivers/bogeyman.cpp index bad65f36d24..8080e9416bd 100644 --- a/src/mame/drivers/bogeyman.cpp +++ b/src/mame/drivers/bogeyman.cpp @@ -238,10 +238,12 @@ static MACHINE_CONFIG_START( bogeyman ) // video hardware MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) +// MCFG_SCREEN_REFRESH_RATE(60) +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(bogeyman_state, screen_update) MCFG_SCREEN_PALETTE("palette") @@ -253,11 +255,11 @@ static MACHINE_CONFIG_START( bogeyman ) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("ay1", AY8910, 1500000) /* Verified */ + MCFG_SOUND_ADD("ay1", YM2149, 1500000) /* Verified */ MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(bogeyman_state, colbank_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) - MCFG_SOUND_ADD("ay2", AY8910, 1500000) /* Verified */ + MCFG_SOUND_ADD("ay2", YM2149, 1500000) /* Verified */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END diff --git a/src/mame/drivers/chanbara.cpp b/src/mame/drivers/chanbara.cpp index 2c04f13c23f..c3e5a08e7e2 100644 --- a/src/mame/drivers/chanbara.cpp +++ b/src/mame/drivers/chanbara.cpp @@ -347,9 +347,9 @@ static const gfx_layout spritelayout = static GFXDECODE_START( chanbara ) GFXDECODE_ENTRY( "gfx1", 0x00000, tilelayout, 0x40, 32 ) GFXDECODE_ENTRY( "sprites", 0x00000, spritelayout, 0x80, 16 ) - GFXDECODE_ENTRY( "gfx3", 0x00000, tile16layout, 0, 32 ) GFXDECODE_END + /***************************************************************************/ @@ -387,16 +387,18 @@ void chanbara_state::machine_reset() static MACHINE_CONFIG_START( chanbara ) - MCFG_CPU_ADD("maincpu", M6809, 12000000/8) + MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) MCFG_CPU_PROGRAM_MAP(chanbara_map) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57.4122) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1) +// MCFG_SCREEN_REFRESH_RATE(57.4122) +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,16,240) MCFG_SCREEN_UPDATE_DRIVER(chanbara_state, screen_update_chanbara) MCFG_SCREEN_PALETTE("palette") @@ -409,8 +411,6 @@ static MACHINE_CONFIG_START( chanbara ) MCFG_SOUND_ADD("ymsnd", YM2203, 12000000/8) MCFG_YM2203_IRQ_HANDLER(INPUTLINE("maincpu", 0)) - - MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(chanbara_state, chanbara_ay_out_0_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(chanbara_state, chanbara_ay_out_1_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp index c576c10399c..58c6d6aa138 100644 --- a/src/mame/drivers/dec0.cpp +++ b/src/mame/drivers/dec0.cpp @@ -500,6 +500,7 @@ READ16_MEMBER(dec0_state::slyspy_controls_r) return ~0; } +// TODO: this can be a timer access, maybe HMC20 or VSC30 counter returns (and used as RNG in both games) READ16_MEMBER(dec0_state::slyspy_protection_r) { switch (offset<<1) @@ -1594,13 +1595,9 @@ GFXDECODE_END /* This is guesswork, in order to get ~57,41 Hz. * If real Pixel Clock isn't 5 MHz then htotal/vtotal is different too ... */ -#define DEC0_PIXEL_CLOCK XTAL_20MHz/4 -#define DEC0_HTOTAL 320 -#define DEC0_HBEND 0 -#define DEC0_HBSTART 256 -#define DEC0_VTOTAL 272 -#define DEC0_VBEND 8 -#define DEC0_VBSTART 256-8 +#define MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 \ + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) + static MACHINE_CONFIG_START( dec0_base ) @@ -1609,7 +1606,7 @@ static MACHINE_CONFIG_START( dec0_base ) MCFG_SCREEN_ADD("screen", RASTER) //MCFG_SCREEN_REFRESH_RATE(57.41) //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */) - MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 //MCFG_SCREEN_SIZE(32*8, 32*8) //MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) //MCFG_SCREEN_UPDATE_DRIVER differs per game @@ -1742,7 +1739,7 @@ static MACHINE_CONFIG_START( automat ) MCFG_SCREEN_ADD("screen", RASTER) // MCFG_SCREEN_REFRESH_RATE(57.41) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */) - MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec0_automat_state, screen_update_automat) MCFG_SCREEN_PALETTE("palette") @@ -1817,7 +1814,7 @@ static MACHINE_CONFIG_START( secretab ) MCFG_SCREEN_ADD("screen", RASTER) // MCFG_SCREEN_REFRESH_RATE(57.41) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */) - MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec0_automat_state, screen_update_secretab) MCFG_SCREEN_PALETTE("palette") diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp index 6305631504b..762a2038b8e 100644 --- a/src/mame/drivers/dec8.cpp +++ b/src/mame/drivers/dec8.cpp @@ -1949,14 +1949,10 @@ void dec8_state::machine_reset() } -/* TODO: These are raw guesses, only to get ~57,41 Hz, assume to be the same as dec0 */ -#define DEC8_PIXEL_CLOCK XTAL_20MHz/4 -#define DEC8_HTOTAL 320 -#define DEC8_HBEND 0 -#define DEC8_HBSTART 256 -#define DEC8_VTOTAL 272 -#define DEC8_VBEND 8 -#define DEC8_VBSTART 256-8 +/* TODO: These are raw guesses, only to get ~57,41 Hz, assume to be the same as other HMC20 games */ +#define MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 \ + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) + static MACHINE_CONFIG_START( lastmisn ) @@ -1985,7 +1981,7 @@ static MACHINE_CONFIG_START( lastmisn ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn) MCFG_SCREEN_PALETTE("palette") @@ -2039,7 +2035,7 @@ static MACHINE_CONFIG_START( shackled ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_shackled) MCFG_SCREEN_PALETTE("palette") @@ -2092,7 +2088,7 @@ static MACHINE_CONFIG_START( gondo ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_gondo) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8)) MCFG_SCREEN_PALETTE("palette") @@ -2146,7 +2142,7 @@ static MACHINE_CONFIG_START( garyoret ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_garyoret) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8)) MCFG_SCREEN_PALETTE("palette") @@ -2204,7 +2200,7 @@ static MACHINE_CONFIG_START( ghostb ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_ghostb) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(dec8_state, screen_vblank_dec8)) MCFG_SCREEN_PALETTE("palette") @@ -2262,7 +2258,7 @@ static MACHINE_CONFIG_START( csilver ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_lastmisn) MCFG_SCREEN_PALETTE("palette") @@ -2325,7 +2321,7 @@ static MACHINE_CONFIG_START( oscar ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_oscar) MCFG_SCREEN_PALETTE("palette") @@ -2375,7 +2371,7 @@ static MACHINE_CONFIG_START( srdarwin ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_srdarwin) MCFG_SCREEN_PALETTE("palette") @@ -2433,7 +2429,7 @@ static MACHINE_CONFIG_START( cobracom ) // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 58Hz, 529ms Vblank duration */) // MCFG_SCREEN_SIZE(32*8, 32*8) // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) - MCFG_SCREEN_RAW_PARAMS(DEC8_PIXEL_CLOCK, DEC8_HTOTAL, DEC8_HBEND, DEC8_HBSTART, DEC8_VTOTAL, DEC8_VBEND, DEC8_VBSTART) + MCFG_SCREEN_RAW_PARAMS_DECO_HMC20 MCFG_SCREEN_UPDATE_DRIVER(dec8_state, screen_update_cobracom) MCFG_SCREEN_PALETTE("palette") diff --git a/src/mame/drivers/firetrap.cpp b/src/mame/drivers/firetrap.cpp index e4063e437cf..e06362f1495 100644 --- a/src/mame/drivers/firetrap.cpp +++ b/src/mame/drivers/firetrap.cpp @@ -347,8 +347,7 @@ WRITE8_MEMBER(firetrap_state::flip_screen_w) flip_screen_set(data); } - -static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) +static ADDRESS_MAP_START( firetrap_base_map, AS_PROGRAM, 8, firetrap_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") AM_RANGE(0xc000, 0xcfff) AM_RAM @@ -371,32 +370,15 @@ static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) AM_RANGE(0xf012, 0xf012) AM_READ_PORT("IN2") AM_RANGE(0xf013, 0xf013) AM_READ_PORT("DSW0") AM_RANGE(0xf014, 0xf014) AM_READ_PORT("DSW1") +ADDRESS_MAP_END + +static ADDRESS_MAP_START( firetrap_map, AS_PROGRAM, 8, firetrap_state ) + AM_IMPORT_FROM( firetrap_base_map ) AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_r) ADDRESS_MAP_END static ADDRESS_MAP_START( firetrap_bootleg_map, AS_PROGRAM, 8, firetrap_state ) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1") - AM_RANGE(0xc000, 0xcfff) AM_RAM - AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(firetrap_bg1videoram_w) AM_SHARE("bg1videoram") - AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(firetrap_bg2videoram_w) AM_SHARE("bg2videoram") - AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(firetrap_fgvideoram_w) AM_SHARE("fgvideoram") - AM_RANGE(0xe800, 0xe97f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* IRQ acknowledge */ - AM_RANGE(0xf001, 0xf001) AM_DEVWRITE("soundlatch", generic_latch_8_device, write) - AM_RANGE(0xf002, 0xf002) AM_WRITE(firetrap_bankselect_w) - AM_RANGE(0xf003, 0xf003) AM_WRITE(flip_screen_w) - AM_RANGE(0xf004, 0xf004) AM_WRITE(firetrap_nmi_disable_w) - AM_RANGE(0xf005, 0xf005) AM_WRITENOP - AM_RANGE(0xf008, 0xf009) AM_WRITE(firetrap_bg1_scrollx_w) - AM_RANGE(0xf00a, 0xf00b) AM_WRITE(firetrap_bg1_scrolly_w) - AM_RANGE(0xf00c, 0xf00d) AM_WRITE(firetrap_bg2_scrollx_w) - AM_RANGE(0xf00e, 0xf00f) AM_WRITE(firetrap_bg2_scrolly_w) - AM_RANGE(0xf010, 0xf010) AM_READ_PORT("IN0") - AM_RANGE(0xf011, 0xf011) AM_READ_PORT("IN1") - AM_RANGE(0xf012, 0xf012) AM_READ_PORT("IN2") - AM_RANGE(0xf013, 0xf013) AM_READ_PORT("DSW0") - AM_RANGE(0xf014, 0xf014) AM_READ_PORT("DSW1") + AM_IMPORT_FROM( firetrap_base_map ) AM_RANGE(0xf016, 0xf016) AM_READ(firetrap_8751_bootleg_r) AM_RANGE(0xf800, 0xf8ff) AM_ROM /* extra ROM in the bootleg with unprotection code */ ADDRESS_MAP_END @@ -646,10 +628,12 @@ static MACHINE_CONFIG_START( firetrap ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57.4034) // PCB measurement - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) +// MCFG_SCREEN_REFRESH_RATE(57.4034) // PCB measurement +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap) MCFG_SCREEN_PALETTE("palette") @@ -689,10 +673,12 @@ static MACHINE_CONFIG_START( firetrapbl ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(57.4034) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) +// MCFG_SCREEN_REFRESH_RATE(57.4034) +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(firetrap_state, screen_update_firetrap) MCFG_SCREEN_PALETTE("palette") diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp index 6369c2190c0..c6ab0e564a7 100644 --- a/src/mame/drivers/ssozumo.cpp +++ b/src/mame/drivers/ssozumo.cpp @@ -210,10 +210,12 @@ static MACHINE_CONFIG_START( ssozumo ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8 - 1, 1*8, 31*8 - 1) +// MCFG_SCREEN_REFRESH_RATE(60) +// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) +// MCFG_SCREEN_SIZE(32*8, 32*8) +// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8 - 1, 1*8, 31*8 - 1) + // HMC20 + MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) MCFG_SCREEN_UPDATE_DRIVER(ssozumo_state, screen_update) MCFG_SCREEN_PALETTE("palette") @@ -226,10 +228,10 @@ static MACHINE_CONFIG_START( ssozumo ) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_SOUND_ADD("ay1", AY8910, 1500000) + MCFG_SOUND_ADD("ay1", YM2149, 1500000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) - MCFG_SOUND_ADD("ay2", AY8910, 1500000) + MCFG_SOUND_ADD("ay2", YM2149, 1500000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.3) // unknown DAC diff --git a/src/mame/video/mystston.cpp b/src/mame/video/mystston.cpp index e592668a459..14da9e8c8d6 100644 --- a/src/mame/video/mystston.cpp +++ b/src/mame/video/mystston.cpp @@ -25,14 +25,15 @@ * Video timing constants * *************************************/ - -#define PIXEL_CLOCK (MYSTSTON_MASTER_CLOCK / 2) -#define HTOTAL (0x180) -#define HBEND (0x000) -#define HBSTART (0x100) -#define VTOTAL (0x110) /* counts from 0x08-0xff, then from 0xe8-0xff */ -#define VBEND (0x008) -#define VBSTART (0x0f8) +// HMC20 +// MCFG_SCREEN_RAW_PARAMS(XTAL_11_9931MHz/2,384,0,256,272,8,248) +#define PIXEL_CLOCK (XTAL_11_9931MHz / 2) +#define HTOTAL (384) +#define HBEND (0) +#define HBSTART (256) +#define VTOTAL (272) /* counts from 0x08-0xff, then from 0xe8-0xff */ +#define VBEND (8) +#define VBSTART (248) #define FIRST_INT_VPOS (0x008) #define INT_HPOS (0x100)