MCFG_CPU_ADD("audiocpu", Z80, 4000000) // ? MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(wyvernf0_state, irq0_line_hold, 60*2) // IRQ generated by ??? (drives music tempo), NMI by main cpu // MCFG_CPU_ADD("mcu", M68705, 4000000) // ? // MCFG_CPU_PROGRAM_MAP(mcu_map) // MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per second to synchronize between the MCU and the main CPU MCFG_MACHINE_START_OVERRIDE(wyvernf0_state,wyvernf0) MCFG_MACHINE_RESET_OVERRIDE(wyvernf0_state,wyvernf0) // 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_UPDATE_DRIVER(wyvernf0_state, screen_update_wyvernf0) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", wyvernf0) MCFG_PALETTE_ADD("palette", 512) MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB) MCFG_PALETTE_ENDIANNESS(ENDIANNESS_BIG) MCFG_VIDEO_START_OVERRIDE(wyvernf0_state,wyvernf0) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono")
/* basic machine hardware */ MCFG_CPU_ADD("maincpu", R4600LE, MASTER_CLOCK*2) MCFG_CPU_CONFIG(r4600_config) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", kinst_state, irq0_start) MCFG_ATA_INTERFACE_ADD("ata", ata_devices, "hdd", NULL, true) MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(kinst_state, ide_interrupt)) /* video hardware */ MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) MCFG_SCREEN_SIZE(320, 240) MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) MCFG_SCREEN_UPDATE_DRIVER(kinst_state, screen_update_kinst) MCFG_PALETTE_ADD_BBBBBGGGGGRRRRR("palette") /* sound hardware */ MCFG_FRAGMENT_ADD(dcs_audio_2k) MACHINE_CONFIG_END /************************************* * * ROM definition(s)
* Machine driver * *************************************/ static MACHINE_CONFIG_START( canyon, canyon_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) MCFG_WATCHDOG_VBLANK_INIT(8) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(22 * 1000000 / 15750)) MCFG_SCREEN_SIZE(256, 240) MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239) MCFG_SCREEN_UPDATE_STATIC(canyon) MCFG_GFXDECODE(canyon) MCFG_PALETTE_LENGTH(4) MCFG_PALETTE_INIT(canyon) MCFG_VIDEO_START(canyon) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SOUND_ADD("discrete", DISCRETE, 0) MCFG_SOUND_CONFIG_DISCRETE(canyon)
MCFG_CPU_ADD("mcu", M68705, 4000000) /* xtal is 4MHz, divided by 4 internally */ MCFG_CPU_PROGRAM_MAP(mexico86_m68705_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, mexico86_m68705_interrupt) MCFG_CPU_ADD("sub", Z80, 8000000/2) /* 4 MHz, Uses 8Mhz OSC */ MCFG_CPU_PROGRAM_MAP(mexico86_sub_cpu_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, irq0_line_hold) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */ /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */) MCFG_SCREEN_SIZE(32*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(mexico86_state, screen_update_mexico86) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", mexico86) MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 256) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ymsnd", YM2203, 3000000) MCFG_YM2203_AY8910_INTF(&ay8910_config) MCFG_SOUND_ROUTE(0, "mono", 0.30) MCFG_SOUND_ROUTE(1, "mono", 0.30)
MCFG_CPU_ADD("maincpu", M68000, 16000000) MCFG_CPU_PROGRAM_MAP(suprslam_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", suprslam_state, irq1_line_hold) MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_IO_MAP(sound_io_map) MCFG_GFXDECODE_ADD("gfxdecode", suprslam) MCFG_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2300) /* hand-tuned */) MCFG_SCREEN_SIZE(64*8, 64*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1) MCFG_SCREEN_UPDATE_DRIVER(suprslam_state, screen_update_suprslam) MCFG_PALETTE_ADD("palette", 0x800) MCFG_PALETTE_FORMAT(xGGGGGBBBBBRRRRR) MCFG_DEVICE_ADD("vsystem_spr", VSYSTEM_SPR, 0) MCFG_VSYSTEM_SPR_SET_TILE_INDIRECT( suprslam_state, suprslam_tile_callback ) MCFG_VSYSTEM_SPR_SET_GFXREGION(1) MCFG_VSYSTEM_SPR_GFXDECODE("gfxdecode") MCFG_VSYSTEM_SPR_PALETTE("palette") MCFG_K053936_ADD("k053936", suprslam_k053936_intf)
GFXDECODE_ENTRY( "gfx2", 0, trckydoc_spritelayout, 0, 64 ) GFXDECODE_END static MACHINE_CONFIG_START( tecfri, sauro_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) /* verified on pcb */ MCFG_CPU_VBLANK_INT_DRIVER("screen", sauro_state, irq0_line_hold) MCFG_NVRAM_ADD_1FILL("nvram") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(55.72) /* verified on pcb */ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(5000)) // frames per second, vblank duration (otherwise sprites lag) MCFG_SCREEN_SIZE(32 * 8, 32 * 8) MCFG_SCREEN_VISIBLE_AREA(1 * 8, 31 * 8 - 1, 2 * 8, 30 * 8 - 1) MCFG_SCREEN_PALETTE("palette") MCFG_PALETTE_ADD_RRRRGGGGBBBB_PROMS("palette", 1024) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_20MHz/8) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( trckydoc, tecfri )
/* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* Verified at 4MHz */ MCFG_CPU_PROGRAM_MAP(skyfox_map) MCFG_CPU_VBLANK_INT("screen", skyfox_interrupt) /* NMI caused by coin insertion */ MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/8) /* Verified at 1.789772MHz */ MCFG_CPU_PROGRAM_MAP(skyfox_sound_map) MCFG_MACHINE_START(skyfox) MCFG_MACHINE_RESET(skyfox) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(62.65) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // we're using PORT_VBLANK MCFG_SCREEN_SIZE(512, 256) MCFG_SCREEN_VISIBLE_AREA(0+0x60, 320-1+0x60, 0+16, 256-1-16) // from $30*2 to $CC*2+8 MCFG_SCREEN_UPDATE_STATIC(skyfox) MCFG_GFXDECODE(skyfox) MCFG_PALETTE_LENGTH(256+256) /* 256 static colors (+256 for the background??) */ MCFG_PALETTE_INIT(skyfox) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ym1", YM2203, XTAL_14_31818MHz/8) /* Verified at 1.789772MHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
device.execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE); device.execute().set_input_line(INPUT_LINE_IRQ3, ASSERT_LINE); } static MACHINE_CONFIG_START( konendev, konendev_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", PPC403GCX, 32000000) // Clock unknown MCFG_CPU_PROGRAM_MAP(konendev_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", konendev_state, vbl_interrupt) /* video hardware */ MCFG_PALETTE_ADD_RRRRRGGGGGBBBBB("palette") MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // Not accurate MCFG_SCREEN_SIZE(640, 480) MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479) MCFG_SCREEN_UPDATE_DRIVER(konendev_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_DEVICE_ADD("gcu", K057714, 0) MCFG_K057714_IRQ_CALLBACK(WRITELINE(konendev_state, gcu_interrupt)) MCFG_NVRAM_ADD_0FILL("nvram0") MCFG_NVRAM_ADD_0FILL("nvram1") MCFG_EEPROM_SERIAL_93C56_ADD("eeprom") /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
/*** MACHINE DRIVER **********************************************************/ static MACHINE_CONFIG_START( gstriker, gstriker_state ) MCFG_CPU_ADD("maincpu", M68000, 10000000) MCFG_CPU_PROGRAM_MAP(gstriker_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gstriker_state, irq1_line_hold) MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_IO_MAP(sound_io_map) MCFG_SCREEN_ADD("screen", RASTER) // MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(5000) /* hand-tuned, it needs a bit */) MCFG_SCREEN_SIZE(64*8, 64*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1) MCFG_SCREEN_UPDATE_DRIVER(gstriker_state, screen_update_gstriker) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", gstriker) MCFG_PALETTE_ADD("palette", 0x800) MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB) MCFG_DEVICE_ADD("zoomtilemap", MB60553, 0) MCFG_MB60553_GFXDECODE("gfxdecode") MCFG_DEVICE_ADD("texttilemap", VS920A, 0) MCFG_VS920A_GFXDECODE("gfxdecode")