Added SCREEN_RAW_PARAMS for Arkanoid and Astrocorp HWs [Angelo Salese]

This commit is contained in:
Angelo Salese 2014-11-24 01:47:13 +01:00
parent 54ecdd2ace
commit 6843e0ac9e
2 changed files with 48 additions and 20 deletions

View File

@ -1220,6 +1220,17 @@ MACHINE_RESET_MEMBER(arkanoid_state,arkanoid)
m_palettebank = 0;
}
/*
Pixel clock: 3 MHz = 192 HTotal, assuming it's 6 MHz
*/
#define ARKANOID_PIXEL_CLOCK XTAL_12MHz/2
#define ARKANOID_HTOTAL 384
#define ARKANOID_HBEND 0
#define ARKANOID_HBSTART 256
#define ARKANOID_VTOTAL 264
#define ARKANOID_VBEND 16
#define ARKANOID_VBSTART 240
static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
/* basic machine hardware */
@ -1237,10 +1248,11 @@ static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_arkanoid)
MCFG_SCREEN_PALETTE("palette")
@ -1270,10 +1282,11 @@ static MACHINE_CONFIG_START( hexa, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
MCFG_SCREEN_PALETTE("palette")
@ -1325,10 +1338,11 @@ static MACHINE_CONFIG_START( brixian, arkanoid_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_RAW_PARAMS(ARKANOID_PIXEL_CLOCK,ARKANOID_HTOTAL,ARKANOID_HBEND,ARKANOID_HBSTART,ARKANOID_VTOTAL,ARKANOID_VBEND,ARKANOID_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(arkanoid_state, screen_update_hexa)
MCFG_SCREEN_PALETTE("palette")

View File

@ -465,6 +465,18 @@ GFXDECODE_END
static const UINT16 showhand_default_eeprom[15] = {0x0001,0x0007,0x000a,0x0003,0x0000,0x0009,0x0003,0x0000,0x0002,0x0001,0x0000,0x0000,0x0000,0x0000,0x0000};
/*
TODO: understand if later hardware uses different parameters (XTAL is almost surely NOT 20 MHz so ...).
*/
#define ASTROCORP_PIXEL_CLOCK XTAL_20MHz/2
#define ASTROCORP_HTOTAL 651
#define ASTROCORP_HBEND 0
//#define ASTROCORP_HBSTART 320
#define ASTROCORP_VTOTAL 261
#define ASTROCORP_VBEND 0
#define ASTROCORP_VBSTART 240
static MACHINE_CONFIG_START( showhand, astrocorp_state )
/* basic machine hardware */
@ -478,10 +490,11 @@ static MACHINE_CONFIG_START( showhand, astrocorp_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58.846) // measured on pcb
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
// MCFG_SCREEN_REFRESH_RATE(58.846) // measured on pcb
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
// MCFG_SCREEN_SIZE(320, 240)
// MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
MCFG_SCREEN_RAW_PARAMS(ASTROCORP_PIXEL_CLOCK,ASTROCORP_HTOTAL,ASTROCORP_HBEND,320,ASTROCORP_VTOTAL,ASTROCORP_VBEND,ASTROCORP_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(astrocorp_state, screen_update_astrocorp)
MCFG_SCREEN_PALETTE("palette")
@ -531,10 +544,11 @@ static MACHINE_CONFIG_START( skilldrp, astrocorp_state )
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58.846)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(0x200, 0x100)
MCFG_SCREEN_VISIBLE_AREA(0, 0x200-1, 0, 0xf0-1)
// MCFG_SCREEN_REFRESH_RATE(58.846)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
// MCFG_SCREEN_SIZE(0x200, 0x100)
// MCFG_SCREEN_VISIBLE_AREA(0, 0x200-1, 0, 0xf0-1)
MCFG_SCREEN_RAW_PARAMS(ASTROCORP_PIXEL_CLOCK,ASTROCORP_HTOTAL,ASTROCORP_HBEND,512,ASTROCORP_VTOTAL,ASTROCORP_VBEND,ASTROCORP_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(astrocorp_state, screen_update_astrocorp)
MCFG_SCREEN_PALETTE("palette")