n64_periphs *periphs = machine().device<n64_periphs>("rcp"); periphs->poll_reset_button((ioport("RESET")->read() & 1) ? true : false); } static MACHINE_CONFIG_START( n64, n64_mess_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", VR4300BE, 93750000) MCFG_FORCE_NO_DRC() MCFG_CPU_CONFIG(config) MCFG_CPU_PROGRAM_MAP(n64_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", n64_mess_state, n64_reset_poll) MCFG_CPU_ADD("rsp", RSP, 62500000) MCFG_RSP_DP_REG_R_CB(DEVREAD32("rcp",n64_periphs, dp_reg_r)) MCFG_RSP_DP_REG_W_CB(DEVWRITE32("rcp",n64_periphs, dp_reg_w)) MCFG_RSP_SP_REG_R_CB(DEVREAD32("rcp",n64_periphs, sp_reg_r)) MCFG_RSP_SP_REG_W_CB(DEVWRITE32("rcp",n64_periphs, sp_reg_w)) MCFG_RSP_SP_SET_STATUS_CB(DEVWRITE32("rcp",n64_periphs, sp_set_status)) MCFG_CPU_PROGRAM_MAP(rsp_map) //MCFG_QUANTUM_TIME(attotime::from_hz(1000000)) MCFG_QUANTUM_TIME(attotime::from_hz(1200)) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(640, 525) MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239) MCFG_SCREEN_UPDATE_DRIVER(n64_state, screen_update_n64)
static MACHINE_CONFIG_START( mwskins, atlantis_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", VR4310LE, 166666666) // clock is TRUSTED MCFG_MIPS3_ICACHE_SIZE(16384) MCFG_MIPS3_DCACHE_SIZE(16384) MCFG_PCI_ROOT_ADD( ":pci") MCFG_VRC4373_ADD( PCI_ID_NILE, ":maincpu") MCFG_PCI9050_ADD( PCI_ID_9050) MCFG_PCI9050_SET_MAP(0, map0) MCFG_PCI9050_SET_MAP(1, map1) MCFG_PCI9050_SET_MAP(2, map2) MCFG_PCI9050_SET_MAP(3, map3) MCFG_PCI9050_USER_OUTPUT_CALLBACK(DEVWRITE32(":", atlantis_state, user_io_output)) MCFG_PCI9050_USER_INPUT_CALLBACK(DEVREAD32(":", atlantis_state, user_io_input)) MCFG_NVRAM_ADD_0FILL("rtc") //MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", nullptr, true) MCFG_IDE_PCI_ADD(PCI_ID_IDE, 0x10950646, 0x03, 0x0) MCFG_IDE_PCI_IRQ_ADD(":maincpu", IDE_IRQ_NUM) /* 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(320, 240) MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)