Added HMC20 and screen raw params for following drivers: [Angelo Salese]

* bogeyman.cpp, chanbara.cpp, dec0.cpp, dec8.cpp, firetrap.cpp, mystston.cpp, ssozumo.cpp,
This commit is contained in:
angelosa 2017-11-11 00:19:20 +01:00
parent ca23003a91
commit bd035338bf
8 changed files with 72 additions and 87 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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")

View File

@ -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")

View File

@ -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

View File

@ -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)