MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(gimix_state,fdc_drq_w)) MCFG_WD_FDC_FORCE_READY MCFG_FLOPPY_DRIVE_ADD("fdc:0", gimix_floppies, "525hd", gimix_state::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", gimix_floppies, "525hd", gimix_state::floppy_formats) /* parallel ports */ MCFG_DEVICE_ADD("pia1",PIA6821,XTAL_2MHz) MCFG_PIA_WRITEPA_HANDLER(WRITE8(gimix_state,pia_pa_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(gimix_state,pia_pb_w)) MCFG_PIA_READPA_HANDLER(READ8(gimix_state,pia_pa_r)) MCFG_PIA_READPB_HANDLER(READ8(gimix_state,pia_pb_r)) MCFG_DEVICE_ADD("pia2",PIA6821,XTAL_2MHz) /* serial ports */ MCFG_DEVICE_ADD("acia1",ACIA6850,XTAL_2MHz) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("serial1",rs232_port_device,write_txd)) MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("serial1",rs232_port_device,write_rts)) MCFG_DEVICE_ADD("acia2",ACIA6850,XTAL_2MHz) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("serial2",rs232_port_device,write_txd)) MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("serial2",rs232_port_device,write_rts)) MCFG_DEVICE_ADD("acia3",ACIA6850,XTAL_2MHz) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("serial3",rs232_port_device,write_txd)) MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("serial3",rs232_port_device,write_rts)) MCFG_DEVICE_ADD("acia4",ACIA6850,XTAL_2MHz) MCFG_ACIA6850_TXD_HANDLER(DEVWRITELINE("serial4",rs232_port_device,write_txd)) MCFG_ACIA6850_RTS_HANDLER(DEVWRITELINE("serial4",rs232_port_device,write_rts)) MCFG_RS232_PORT_ADD("serial1",default_rs232_devices,NULL)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(256, 256) MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1) MCFG_SCREEN_UPDATE_DRIVER(darkmist_state, screen_update_darkmist) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", darkmist) MCFG_PALETTE_ADD("palette", 0x100*4) MCFG_PALETTE_INDIRECT_ENTRIES(256+1) MCFG_PALETTE_INIT_OWNER(darkmist_state, darkmist) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_YM2151_ADD("ymsnd", 14318180/4) /* 3.579545 MHz */ MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("t5182", t5182_device, ym2151_irq_handler)) MCFG_SOUND_ROUTE(0, "mono", 1.0) MCFG_SOUND_ROUTE(1, "mono", 1.0) MACHINE_CONFIG_END ROM_START( darkmist ) ROM_REGION( 0x18000, "maincpu", 0 ) ROM_LOAD( "dm_15.rom", 0x00000, 0x08000, CRC(21e6503c) SHA1(09174fb424b76f7f2a381297e3420ddd2e76b008) ) ROM_LOAD( "dm_16.rom", 0x10000, 0x08000, CRC(094579d9) SHA1(2449bc9ba38396912ee9b72dd870ea9fcff95776) ) ROM_REGION( 0x10000, "t5182_z80", 0 ) /* Toshiba T5182 module */ ROM_LOAD( "t5182.rom", 0x0000, 0x2000, CRC(d354c8fc) SHA1(a1c9e1ac293f107f69cc5788cf6abc3db1646e33) ) ROM_LOAD( "dm_17.rom", 0x8000, 0x8000, CRC(7723dcae) SHA1(a0c69e7a7b6fd74f7ed6b9c6419aed94aabcd4b0) )
MCFG_CPU_IO_MAP(pce_io) MCFG_QUANTUM_TIME(attotime::from_hz(60)) MCFG_MACHINE_START_OVERRIDE(pce_state, pce ) MCFG_MACHINE_RESET_OVERRIDE(pce_state, mess_pce ) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(MAIN_CLOCK, HUC6260_WPF, 64, 64 + 1024 + 64, HUC6260_LPF, 18, 18 + 242) MCFG_SCREEN_UPDATE_DRIVER( pce_state, screen_update ) MCFG_SCREEN_PALETTE("huc6260:palette") MCFG_DEVICE_ADD( "huc6260", HUC6260, MAIN_CLOCK ) MCFG_HUC6260_NEXT_PIXEL_DATA_CB(DEVREAD16("huc6270", huc6270_device, next_pixel)) MCFG_HUC6260_TIME_TIL_NEXT_EVENT_CB(DEVREAD16("huc6270", huc6270_device, time_until_next_event)) MCFG_HUC6260_VSYNC_CHANGED_CB(DEVWRITELINE("huc6270", huc6270_device, vsync_changed)) MCFG_HUC6260_HSYNC_CHANGED_CB(DEVWRITELINE("huc6270", huc6270_device, hsync_changed)) MCFG_DEVICE_ADD( "huc6270", HUC6270, 0 ) MCFG_HUC6270_VRAM_SIZE(0x10000) MCFG_HUC6270_IRQ_CHANGED_CB(INPUTLINE("maincpu", 0)) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SOUND_ADD(C6280_TAG, C6280, MAIN_CLOCK/6) MCFG_C6280_CPU("maincpu") MCFG_SOUND_ROUTE( 0, "lspeaker", 1.00 ) MCFG_SOUND_ROUTE( 1, "rspeaker", 1.00 ) MCFG_PCE_CD_ADD("pce_cd") MCFG_SOFTWARE_LIST_ADD("cd_list","pcecd")
ROM_END //************************************************************************** // GLOBAL VARIABLES //************************************************************************** DEFINE_DEVICE_TYPE(NUBUS_QUADRALINK, nubus_quadralink_device, "nb_qdlink", "Applied Engineering Quadralink serial card") //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- MACHINE_CONFIG_START(nubus_quadralink_device::device_add_mconfig) MCFG_SCC8530_ADD("scc1", XTAL(3'686'400), 0, 0, 0, 0) MCFG_Z80SCC_OUT_TXDA_CB(DEVWRITELINE("serport0", rs232_port_device, write_txd)) MCFG_Z80SCC_OUT_TXDB_CB(DEVWRITELINE("serport1", rs232_port_device, write_txd)) MCFG_SCC8530_ADD("scc2", XTAL(3'686'400), 0, 0, 0, 0) MCFG_Z80SCC_OUT_TXDA_CB(DEVWRITELINE("serport2", rs232_port_device, write_txd)) MCFG_Z80SCC_OUT_TXDB_CB(DEVWRITELINE("serport3", rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD( "serport0", isa_com, nullptr ) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("scc1", z80scc_device, rxa_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("scc1", z80scc_device, dcda_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("scc1", z80scc_device, ctsa_w)) MCFG_RS232_PORT_ADD( "serport1", isa_com, nullptr ) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("scc1", z80scc_device, rxb_w)) MCFG_RS232_DCD_HANDLER(DEVWRITELINE("scc1", z80scc_device, dcdb_w)) MCFG_RS232_CTS_HANDLER(DEVWRITELINE("scc1", z80scc_device, ctsb_w))
MCFG_SCREEN_SIZE((64*8), (16*(8+4))) MCFG_SCREEN_VISIBLE_AREA(0, (64*8)-1, 0, (16*(8+4))-1) MCFG_PALETTE_ADD("palette", 16) MCFG_DEVICE_ADD("ef9364", EF9364, VIDEO_CLOCK) MCFG_EF9364_PALETTE("palette") MCFG_EF9364_PAGES_CNT(1); MCFG_TIMER_DRIVER_ADD_SCANLINE("goupil_sl", goupil_g1_state, goupil_scanline, "screen", 0, 10) MCFG_DEVICE_ADD("m_via_video", VIA6522, 0) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(goupil_g1_state, via_video_pba_w)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(goupil_g1_state, via_video_pbb_w)) MCFG_VIA6522_CA2_HANDLER(WRITELINE(goupil_g1_state, via_video_ca2_w)) MCFG_DEVICE_ADD("m_via_keyb", VIA6522, 0) MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line)) MCFG_DEVICE_ADD("m_via_modem", VIA6522, 0) MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line)) /* Floppy */ MCFG_FD1791_ADD("fd1791", XTAL_8MHz ) MCFG_FLOPPY_DRIVE_ADD("fd1791:0", goupil_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fd1791:1", goupil_floppies, "525qd", floppy_image_device::default_floppy_formats) MCFG_DEVICE_ADD("i8279_kb1", I8279, CPU_CLOCK) MCFG_I8279_OUT_SL_CB(WRITE8(goupil_g1_state, scanlines_kbd1_w)) // scan SL lines MCFG_I8279_IN_RL_CB(READ8(goupil_g1_state, kbd1_r)) // kbd RL lines MCFG_I8279_IN_SHIFT_CB(READ8(goupil_g1_state, shift_kb1_r)) MCFG_I8279_IN_CTRL_CB(READ8(goupil_g1_state, ctrl_kb1_r)) MCFG_I8279_OUT_IRQ_CB(DEVWRITELINE("m_via_keyb", via6522_device, write_ca1))
{ DEVCB_NULL }; static MACHINE_CONFIG_START( apricot, apricot_state ) // main cpu MCFG_CPU_ADD("ic91", I8086, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(apricot_mem) MCFG_CPU_IO_MAP(apricot_io) // i/o cpu MCFG_CPU_ADD("ic71", I8089, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(apricot_mem) MCFG_CPU_IO_MAP(apricot_io) MCFG_I8089_DATABUS_WIDTH(16) MCFG_I8089_SINTR1(DEVWRITELINE("ic31", pic8259_device, ir0_w)) MCFG_I8089_SINTR2(DEVWRITELINE("ic31", pic8259_device, ir1_w)) // video hardware MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_SIZE(800, 400) MCFG_SCREEN_VISIBLE_AREA(0, 800-1, 0, 400-1) MCFG_SCREEN_REFRESH_RATE(72) MCFG_SCREEN_UPDATE_DRIVER(apricot_state, screen_update_apricot) MCFG_MC6845_ADD("ic30", MC6845, "screen", XTAL_15MHz / 10, apricot_mc6845_intf) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ic7", SN76489, XTAL_4MHz / 2) MCFG_SOUND_CONFIG(psg_intf)
/* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") //MCFG_DAC_ADD("dac") //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MCFG_SOUND_ADD("custom", BEEZER, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) /* via */ MCFG_DEVICE_ADD("via6522_0", VIA6522, 0) MCFG_VIA6522_READPA_HANDLER(READ8(beezer_state, b_via_0_pa_r)) MCFG_VIA6522_READPB_HANDLER(READ8(beezer_state, b_via_0_pb_r)) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(beezer_state, b_via_0_pa_w)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(beezer_state, b_via_0_pb_w)) MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE("via6522_1", via6522_device, write_ca1)) MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE)) MCFG_DEVICE_ADD("via6522_1", VIA6522, 0) MCFG_VIA6522_READPA_HANDLER(READ8(beezer_state, b_via_1_pa_r)) MCFG_VIA6522_READPB_HANDLER(READ8(beezer_state, b_via_1_pb_r)) MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(beezer_state, b_via_1_pa_w)) MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(beezer_state, b_via_1_pb_w)) MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE("via6522_0", via6522_device, write_cb1)) MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("audiocpu", M6809_IRQ_LINE)) MACHINE_CONFIG_END /*************************************************************************** Game driver(s)
// video hardware MCFG_MOS6566_ADD(MOS6566_TAG, SCREEN_TAG, VIC6566_CLOCK, vic_videoram_map, vic_colorram_map, WRITELINE(vic10_state, vic_irq_w)) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, VIC6566_CLOCK) MCFG_MOS6581_POTXY_CALLBACKS(READ8(vic10_state, sid_potx_r), READ8(vic10_state, sid_poty_r)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) // devices MCFG_MOS6526_ADD(MOS6526_TAG, VIC6566_CLOCK, 60, WRITELINE(vic10_state, cia_irq_w)) MCFG_MOS6526_SERIAL_CALLBACKS(DEVWRITELINE(VIC10_EXPANSION_SLOT_TAG, vic10_expansion_slot_device, cnt_w), DEVWRITELINE(VIC10_EXPANSION_SLOT_TAG, vic10_expansion_slot_device, sp_w)) MCFG_MOS6526_PORT_A_CALLBACKS(READ8(vic10_state, cia_pa_r), NULL) MCFG_MOS6526_PORT_B_CALLBACKS(READ8(vic10_state, cia_pb_r), WRITE8(vic10_state, cia_pb_w), NULL) MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL) MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6566_TAG, mos6566_device, lp_w)) MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy") MCFG_VIC10_EXPANSION_SLOT_ADD(VIC10_EXPANSION_SLOT_TAG, VIC6566_CLOCK, vic10_expansion_cards, NULL) MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(vic10_state, exp_irq_w), WRITELINE(vic10_state, exp_reset_w)) MCFG_VIC10_EXPANSION_SLOT_SERIAL_CALLBACKS(DEVWRITELINE(MOS6526_TAG, mos6526_device, cnt_w), DEVWRITELINE(MOS6526_TAG, mos6526_device, sp_w)) // software list MCFG_SOFTWARE_LIST_ADD("cart_list", "vic10") // internal ram MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("4K") MACHINE_CONFIG_END
membank("rombank")->configure_entries(0, 0x80, memregion("game_prg")->base(), 0x8000 ); membank("rombank")->set_entry(0); } static MACHINE_CONFIG_START( pcat_nit, pcat_nit_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_CPU_PROGRAM_MAP(pcat_map) MCFG_CPU_IO_MAP(pcat_nit_io) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcat_common ) MCFG_NS16450_ADD( "ns16450_0", pcat_nit_com0_interface, XTAL_1_8432MHz ) MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? MCFG_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END static MACHINE_CONFIG_START( bonanza, pcat_nit_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_CPU_PROGRAM_MAP(bonanza_map) MCFG_CPU_IO_MAP(bonanza_io_map) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga ) MCFG_FRAGMENT_ADD( pcat_common ) MCFG_NS16450_ADD( "ns16450_0", pcat_nit_com0_interface, XTAL_1_8432MHz )
static MACHINE_CONFIG_START( ibmpcjr, pcjr_state) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I8088, 4900000) MCFG_CPU_PROGRAM_MAP(ibmpcjr_map) MCFG_CPU_IO_MAP(ibmpcjr_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) /* On the PC Jr the input for clock 1 seems to be selectable based on bit 4(/5?) written to output port A0h. This is not supported yet. */ MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12) MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir0_w)) MCFG_PIT8253_CLK1(XTAL_14_31818MHz/12) MCFG_PIT8253_CLK2(XTAL_14_31818MHz/12) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(pcjr_state, out2_changed)) MCFG_PIC8259_ADD( "pic8259", WRITELINE(pcjr_state, pic8259_set_int_line), VCC, NULL ) MCFG_DEVICE_ADD("ppi8255", I8255, 0) MCFG_I8255_IN_PORTA_CB(CONSTANT(0xff)) MCFG_I8255_OUT_PORTB_CB(WRITE8(pcjr_state, pcjr_ppi_portb_w)) MCFG_I8255_IN_PORTC_CB(READ8(pcjr_state, pcjr_ppi_portc_r)) MCFG_DEVICE_ADD( "ins8250", INS8250, XTAL_1_8432MHz ) MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("serport", rs232_port_device, write_txd)) MCFG_INS8250_OUT_DTR_CB(DEVWRITELINE("serport", rs232_port_device, write_dtr)) MCFG_INS8250_OUT_RTS_CB(DEVWRITELINE("serport", rs232_port_device, write_rts))
static MACHINE_CONFIG_START( rc702, rc702_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2) MCFG_CPU_PROGRAM_MAP(rc702_mem) MCFG_CPU_IO_MAP(rc702_io) MCFG_Z80_DAISY_CHAIN(daisy_chain_intf) MCFG_MACHINE_RESET_OVERRIDE(rc702_state, rc702) MCFG_DEVICE_ADD("ctc_clock", CLOCK, 614000) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(rc702_state, clock_w)) MCFG_DEVICE_ADD("ctc1", Z80CTC, XTAL_8MHz / 2) MCFG_Z80CTC_ZC0_CB(WRITELINE(rc702_state, zc0_w)) MCFG_Z80CTC_ZC1_CB(DEVWRITELINE("sio1", z80dart_device, rxtxcb_w)) MCFG_Z80DART_ADD("sio1", XTAL_8MHz / 2, 0, 0, 0, 0 ) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD("pio", Z80PIO, XTAL_8MHz / 2) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) // MCFG_Z80PIO_OUT_PB_CB(WRITE8(rc702_state, portxx_w)) // parallel port MCFG_DEVICE_ADD("dma", AM9517A, XTAL_8MHz / 2) MCFG_I8237_OUT_HREQ_CB(WRITELINE(rc702_state, busreq_w)) MCFG_I8237_OUT_EOP_CB(WRITELINE(rc702_state, tc_w)) // inverted MCFG_I8237_IN_MEMR_CB(READ8(rc702_state, memory_read_byte)) MCFG_I8237_OUT_MEMW_CB(WRITE8(rc702_state, memory_write_byte)) MCFG_I8237_IN_IOR_1_CB(DEVREAD8("fdc", upd765a_device, mdma_r)) MCFG_I8237_OUT_IOW_1_CB(DEVWRITE8("fdc", upd765a_device, mdma_w))
MCFG_SCREEN_RAW_PARAMS( MAIN_CLOCK/2, 512, 0, 416, 260, 0, 240 ) MCFG_GFXDECODE(osborne1) MCFG_PALETTE_LENGTH( 3 ) MCFG_SPEAKER_STANDARD_MONO( "mono" ) MCFG_SOUND_ADD( "beeper", BEEP, 0 ) MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 ) MCFG_PIA6821_ADD( "pia_0", osborne1_ieee_pia_config ) MCFG_PIA6821_ADD( "pia_1", osborne1_video_pia_config ) MCFG_MB8877_ADD("mb8877", default_wd17xx_interface_2_drives ) MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(osborne1_floppy_interface) MCFG_IEEE488_BUS_ADD() MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE("pia_0", pia6821_device, ca2_w)) MCFG_SOFTWARE_LIST_ADD("flop_list","osborne1") /* internal ram */ MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("68K") /* 64KB Main RAM and 4Kbit video attribute RAM */ MACHINE_CONFIG_END ROM_START( osborne1 ) ROM_REGION(0x1000, "maincpu", 0) ROM_SYSTEM_BIOS( 0, "ver144", "BIOS version 1.44" ) ROMX_LOAD( "3a10082-00rev-e.ud11", 0x0000, 0x1000, CRC(c0596b14) SHA1(ee6a9cc9be3ddc5949d3379351c1d58a175ce9ac), ROM_BIOS(1) ) ROM_SYSTEM_BIOS( 1, "verA", "BIOS version A" ) ROMX_LOAD( "osba.bin", 0x0000, 0x1000, NO_DUMP, ROM_BIOS(2) ) ROM_SYSTEM_BIOS( 2, "ver12", "BIOS version 1.2" )
MCFG_DEVICE_ADD("ppi8255", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(iq151_state, keyboard_row_r)) MCFG_I8255_IN_PORTB_CB(READ8(iq151_state, keyboard_column_r)) MCFG_I8255_IN_PORTC_CB(READ8(iq151_state, ppi_portc_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(iq151_state, ppi_portc_w)) MCFG_CASSETTE_ADD( "cassette" ) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED) MCFG_CASSETTE_INTERFACE("iq151_cass") MCFG_TIMER_DRIVER_ADD_PERIODIC("cassette_timer", iq151_state, cassette_timer, attotime::from_hz(2000)) /* cartridge */ MCFG_DEVICE_ADD("slot1", IQ151CART_SLOT, 0) MCFG_DEVICE_SLOT_INTERFACE(iq151_cart, nullptr, false) MCFG_IQ151CART_SLOT_OUT_IRQ0_CB(DEVWRITELINE("pic8259", pic8259_device, ir0_w)) MCFG_IQ151CART_SLOT_OUT_IRQ1_CB(DEVWRITELINE("pic8259", pic8259_device, ir1_w)) MCFG_IQ151CART_SLOT_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w)) MCFG_IQ151CART_SLOT_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w)) MCFG_IQ151CART_SLOT_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w)) MCFG_DEVICE_ADD("slot2", IQ151CART_SLOT, 0) MCFG_DEVICE_SLOT_INTERFACE(iq151_cart, nullptr, false) MCFG_IQ151CART_SLOT_OUT_IRQ0_CB(DEVWRITELINE("pic8259", pic8259_device, ir0_w)) MCFG_IQ151CART_SLOT_OUT_IRQ1_CB(DEVWRITELINE("pic8259", pic8259_device, ir1_w)) MCFG_IQ151CART_SLOT_OUT_IRQ2_CB(DEVWRITELINE("pic8259", pic8259_device, ir2_w)) MCFG_IQ151CART_SLOT_OUT_IRQ3_CB(DEVWRITELINE("pic8259", pic8259_device, ir3_w)) MCFG_IQ151CART_SLOT_OUT_IRQ4_CB(DEVWRITELINE("pic8259", pic8259_device, ir4_w)) MCFG_DEVICE_ADD("slot3", IQ151CART_SLOT, 0) MCFG_DEVICE_SLOT_INTERFACE(iq151_cart, nullptr, false) MCFG_IQ151CART_SLOT_OUT_IRQ0_CB(DEVWRITELINE("pic8259", pic8259_device, ir0_w)) MCFG_IQ151CART_SLOT_OUT_IRQ1_CB(DEVWRITELINE("pic8259", pic8259_device, ir1_w))
static INPUT_PORTS_START( mc1502 ) PORT_INCLUDE( mc7007_3_keyboard ) INPUT_PORTS_END static MACHINE_CONFIG_START( mc1502, mc1502_state ) MCFG_CPU_ADD("maincpu", I8088, XTAL_16MHz/3) MCFG_CPU_PROGRAM_MAP(mc1502_map) MCFG_CPU_IO_MAP(mc1502_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) MCFG_MACHINE_START_OVERRIDE( mc1502_state, mc1502 ) MCFG_MACHINE_RESET_OVERRIDE( mc1502_state, mc1502 ) MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_16MHz/12) /* heartbeat IRQ */ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259", pic8259_device, ir0_w)) MCFG_PIT8253_CLK1(XTAL_16MHz/12) /* serial port */ MCFG_PIT8253_OUT1_HANDLER(WRITELINE(mc1502_state, mc1502_pit8253_out1_changed)) MCFG_PIT8253_CLK2(XTAL_16MHz/12) /* pio port c pin 4, and speaker polling enough */ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(mc1502_state, mc1502_pit8253_out2_changed)) MCFG_PIC8259_ADD( "pic8259", INPUTLINE("maincpu", 0), VCC, NULL ) MCFG_DEVICE_ADD("ppi8255n1", I8255, 0) MCFG_I8255_OUT_PORTA_CB(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_I8255_OUT_PORTB_CB(WRITE8(mc1502_state, mc1502_ppi_portb_w)) MCFG_I8255_IN_PORTC_CB(READ8(mc1502_state, mc1502_ppi_portc_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(mc1502_state, mc1502_ppi_portc_w)) MCFG_DEVICE_ADD("ppi8255n2", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(mc1502_state, mc1502_kppi_porta_r))
SLOT_INTERFACE_START( filetto_isa8_cards ) SLOT_INTERFACE_INTERNAL("filetto", ISA8_CGA_FILETTO) SLOT_INTERFACE_INTERNAL("tetriskr", ISA8_CGA_TETRISKR) SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT(pcxt) MCFG_CPU_ADD("maincpu", I8088, XTAL_14_31818MHz/3) MCFG_CPU_PROGRAM_MAP(filetto_map) MCFG_CPU_IO_MAP(filetto_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_14_31818MHz/12) /* heartbeat IRQ */ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259_1", pic8259_device, ir0_w)) MCFG_PIT8253_CLK1(XTAL_14_31818MHz/12) /* dram refresh */ MCFG_PIT8253_CLK2(XTAL_14_31818MHz/12) /* pio port c pin 4, and speaker polling enough */ MCFG_PIT8253_OUT2_HANDLER(WRITELINE(pcxt_state, ibm5150_pit8253_out2_changed)) MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) MCFG_I8255_IN_PORTA_CB(READ8(pcxt_state, port_a_r)) MCFG_I8255_IN_PORTB_CB(READ8(pcxt_state, port_b_r)) MCFG_I8255_OUT_PORTB_CB(WRITE8(pcxt_state, port_b_w)) MCFG_I8255_IN_PORTC_CB(READ8(pcxt_state, port_c_r)) MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) MCFG_I8255_OUT_PORTA_CB(WRITE8(pcxt_state, wss_1_w)) MCFG_I8255_OUT_PORTA_CB(WRITE8(pcxt_state, wss_2_w)) MCFG_I8255_OUT_PORTA_CB(WRITE8(pcxt_state, sys_reset_w))
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) MCFG_SCREEN_SIZE(256, 256) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(cabal_state, screen_update_cabal) MCFG_GFXDECODE(cabal) MCFG_PALETTE_LENGTH(1024) /* sound hardware */ MCFG_SEIBU_SOUND_ADD("seibu_sound") MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_YM2151_ADD("ymsnd", XTAL_3_579545MHz) /* verified on pcb */ MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, ym2151_irqhandler)) MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.80) MCFG_SOUND_ADD("adpcm1", SEIBU_ADPCM, 8000) /* it should use the msm5205 */ MCFG_SOUND_CONFIG(seibu_adpcm1_intf) MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.40) MCFG_SOUND_ADD("adpcm2", SEIBU_ADPCM, 8000) /* it should use the msm5205 */ MCFG_SOUND_CONFIG(seibu_adpcm2_intf) MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.40) MACHINE_CONFIG_END /* the bootleg has different sound hardware (2 extra Z80s for ADPCM playback) */ static MACHINE_CONFIG_START( cabalbl, cabal_state )
//************************************************************************** // MACHINE DRIVERS //************************************************************************** static MACHINE_CONFIG_FRAGMENT(pg685_backplane) MCFG_DEVICE_ADD("bppit", PIT8253, 0) MCFG_PIC8259_ADD("bppic", NOOP, VCC, NOOP) // ??? MCFG_DEVICE_ADD("bpuart", MC2661, XTAL_4_9152MHz) // internal clock MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT(pg685_module) MCFG_DEVICE_ADD("fdc", FD1797, XTAL_4MHz / 2) // divider guessed MCFG_WD_FDC_INTRQ_CALLBACK(DEVWRITELINE("mainpic", pic8259_device, ir4_w)) MCFG_DEVICE_ADD("modppi1", I8255, 0) MCFG_DEVICE_ADD("modppi2", I8255, 0) MCFG_DEVICE_ADD("moduart", I8251, XTAL_4MHz / 2) // divider guessed MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz) MACHINE_CONFIG_END static MACHINE_CONFIG_START( pg675, pg685_state ) // main cpu MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(pg675_mem) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb)
/* Sound - wave sound only */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) /* other devices */ MCFG_RIOT6532_ADD("riot", AIM65_CLOCK, aim65_riot_interface) MCFG_DEVICE_ADD("via6522_0", VIA6522, 0) MCFG_VIA6522_READPB_HANDLER(READ8(aim65_state, aim65_pb_r)) // in CA1 printer ready? MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(aim65_state, aim65_pb_w)) // out CB1 printer start // out CA2 cass control (H=in) // out CB2 turn printer on MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m6502_device, irq_line)) MCFG_DEVICE_ADD("via6522_1", VIA6522, 0) MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE("maincpu", m6502_device, irq_line)) MCFG_DEVICE_ADD("pia6821", PIA6821, 0) MCFG_PIA_WRITEPA_HANDLER(WRITE8(aim65_state, aim65_pia_a_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(aim65_state, aim65_pia_b_w)) MCFG_CASSETTE_ADD( "cassette", aim65_1_cassette_interface ) MCFG_CASSETTE_ADD( "cassette2", aim65_2_cassette_interface ) MCFG_CARTSLOT_ADD("z26") MCFG_CARTSLOT_EXTENSION_LIST("z26") MCFG_CARTSLOT_INTERFACE("aim65_cart") MCFG_CARTSLOT_LOAD(aim65_state, aim65_cart)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.05) MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) /* Devices */ MCFG_DEVICE_ADD("ppi8255", I8255, 0) MCFG_I8255_OUT_PORTA_CB(WRITE8(mz80_state, mz80k_8255_porta_w)) MCFG_I8255_IN_PORTB_CB(READ8(mz80_state, mz80k_8255_portb_r)) MCFG_I8255_IN_PORTC_CB(READ8(mz80_state, mz80k_8255_portc_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(mz80_state, mz80k_8255_portc_w)) MCFG_DEVICE_ADD("pit8253", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_8MHz/4) MCFG_PIT8253_OUT0_HANDLER(WRITELINE(mz80_state, pit_out0_changed)) MCFG_PIT8253_CLK1(XTAL_8MHz/256) MCFG_PIT8253_OUT1_HANDLER(DEVWRITELINE("pit8253", pit8253_device, write_clk2)) MCFG_PIT8253_CLK2(0) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(mz80_state, pit_out2_changed)) MCFG_TIMER_DRIVER_ADD_PERIODIC("tempo", mz80_state, ne555_tempo_callback, attotime::from_hz(34)) MCFG_CASSETTE_ADD( "cassette" ) MCFG_CASSETTE_FORMATS(mz700_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( mz80kj, mz80k ) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_UPDATE_DRIVER(mz80_state, screen_update_mz80kj) MCFG_GFXDECODE_MODIFY("gfxdecode", mz80kj) MACHINE_CONFIG_END
} void fruitpc_state::machine_reset() { } static MACHINE_CONFIG_START( fruitpc, fruitpc_state ) MCFG_CPU_ADD("maincpu", I486, 66000000) // ST STPCD0166BTC3 66 MHz 486 CPU MCFG_CPU_PROGRAM_MAP(fruitpc_map) MCFG_CPU_IO_MAP(fruitpc_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) MCFG_FRAGMENT_ADD( pcat_common ) MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true) MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w)) /* video hardware */ MCFG_FRAGMENT_ADD( pcvideo_vga ) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker") MACHINE_CONFIG_END DRIVER_INIT_MEMBER(fruitpc_state,fruitpc) { } ROM_START( fruitpc ) ROM_REGION( 0x20000, "bios", 0 ) ROM_LOAD( "at-gs001.bin", 0x000000, 0x020000, CRC(7dec34d0) SHA1(81d194d67fef9f6531bd3cd1ee0baacb5c2558bf) )
m_uart8274->m1_r(); // always set m_pic_0->ir6_w(state); } static MACHINE_CONFIG_START( isbc86, isbc_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I8086, XTAL_5MHz) MCFG_CPU_PROGRAM_MAP(isbc86_mem) MCFG_CPU_IO_MAP(isbc_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic_0", pic8259_device, inta_cb) MCFG_PIC8259_ADD("pic_0", INPUTLINE(":maincpu", 0), VCC, NULL) MCFG_DEVICE_ADD("pit", PIT8253, 0) MCFG_PIT8253_CLK0(XTAL_22_1184MHz/18) MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic_0", pic8259_device, ir0_w)) MCFG_PIT8253_CLK1(XTAL_22_1184MHz/18) MCFG_PIT8253_CLK2(XTAL_22_1184MHz/18) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(isbc_state, isbc86_tmr2_w)) MCFG_DEVICE_ADD("ppi", I8255A, 0) MCFG_DEVICE_ADD("uart8251", I8251, 0) MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_I8251_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr)) MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts)) MCFG_I8251_RXRDY_HANDLER(DEVWRITELINE("pic_0", pic8259_device, ir6_w)) /* video hardware */ MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart8251", i8251_device, write_rxd))
AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8254_device, read, write, 0xffffffff) AM_RANGE(0x0060, 0x006f) AM_DEVREADWRITE8("kbdc", kbdc8042_device, data_r, data_w, 0xffffffff) AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) AM_RANGE(0x0080, 0x009f) AM_READWRITE8(dma_page_select_r,dma_page_select_w, 0xffffffff)//TODO AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_device, read, write, 0xffffffff) AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("dma8237_2", am9517a_device, read, write, 0x00ff00ff) ADDRESS_MAP_END MACHINE_CONFIG_START(pcat_common) MCFG_DEVICE_ADD("pic8259_1", PIC8259, 0) MCFG_PIC8259_OUT_INT_CB(INPUTLINE("maincpu", 0)) MCFG_PIC8259_IN_SP_CB(VCC) MCFG_PIC8259_CASCADE_ACK_CB(READ8(pcat_base_state, get_slave_ack)) MCFG_DEVICE_ADD("pic8259_2", PIC8259, 0) MCFG_PIC8259_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir2_w)) MCFG_PIC8259_IN_SP_CB(GND) MCFG_DEVICE_ADD( "dma8237_1", AM9517A, XTAL_14_31818MHz/3 ) MCFG_I8237_OUT_HREQ_CB(WRITELINE(pcat_base_state, pc_dma_hrq_changed)) MCFG_I8237_IN_MEMR_CB(READ8(pcat_base_state, pc_dma_read_byte)) MCFG_I8237_OUT_MEMW_CB(WRITE8(pcat_base_state, pc_dma_write_byte)) MCFG_I8237_OUT_DACK_0_CB(WRITELINE(pcat_base_state, pc_dack0_w)) MCFG_I8237_OUT_DACK_1_CB(WRITELINE(pcat_base_state, pc_dack1_w)) MCFG_I8237_OUT_DACK_2_CB(WRITELINE(pcat_base_state, pc_dack2_w)) MCFG_I8237_OUT_DACK_3_CB(WRITELINE(pcat_base_state, pc_dack3_w)) MCFG_DEVICE_ADD( "dma8237_2", AM9517A, XTAL_14_31818MHz/3 ) MCFG_DEVICE_ADD("pit8254", PIT8254, 0) MCFG_PIT8253_CLK0(4772720/4) /* heartbeat IRQ */ MCFG_PIT8253_OUT0_HANDLER(DEVWRITELINE("pic8259_1", pic8259_device, ir0_w))
/* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MCFG_SOUND_ADD("beeper", BEEP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) /* devices */ MCFG_DEVICE_ADD("pia", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(d6800_state, d6800_keyboard_r)) MCFG_PIA_READPB_HANDLER(READ8(d6800_state, d6800_cassette_r)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(d6800_state, d6800_keyboard_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(d6800_state, d6800_cassette_w)) MCFG_PIA_CB2_HANDLER(WRITELINE(d6800_state, d6800_screen_w)) MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6800_cpu_device, irq_line)) MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED) MCFG_TIMER_DRIVER_ADD_PERIODIC("d6800_c", d6800_state, d6800_c, attotime::from_hz(4800)) MCFG_TIMER_DRIVER_ADD_PERIODIC("d6800_p", d6800_state, d6800_p, attotime::from_hz(40000)) /* quickload */ MCFG_QUICKLOAD_ADD("quickload", d6800_state, d6800, "bin,c8,ch8", 1) MACHINE_CONFIG_END /* ROMs */ ROM_START( d6800 )
/* Devices */ MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) MCFG_GENERIC_KEYBOARD_CB(WRITE8(z9001_state, kbd_put)) MCFG_TIMER_DRIVER_ADD_PERIODIC("z9001_timer", z9001_state, timer_callback, attotime::from_msec(10)) MCFG_DEVICE_ADD("z80pio1", Z80PIO, XTAL_9_8304MHz / 4) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80PIO_OUT_PA_CB(WRITE8(z9001_state, port88_w)) MCFG_DEVICE_ADD("z80pio2", Z80PIO, XTAL_9_8304MHz / 4) // keyboard PIO MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD("z80ctc", Z80CTC, XTAL_9_8304MHz / 4) MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80CTC_ZC0_CB(WRITELINE(z9001_state, cass_w)) MCFG_Z80CTC_ZC2_CB(DEVWRITELINE("z80ctc", z80ctc_device, trg3)) MCFG_CASSETTE_ADD( "cassette" ) MACHINE_CONFIG_END /* ROM definition */ ROM_START( z9001 ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) ROM_SYSTEM_BIOS( 0, "orig", "Original" ) ROMX_LOAD( "os____f0.851", 0xf000, 0x1000, CRC(9fe60a92) SHA1(553609631f5eaa7d6758a73f56c613e280a5b310), ROM_BIOS(1)) ROM_SYSTEM_BIOS( 1, "rb20", "ROM-Bank System without menu" ) ROMX_LOAD( "os_rb20.rom", 0xf000, 0x1000, CRC(c783124d) SHA1(c2893ce5bb23b280ba4e982e860586d21de2469b), ROM_BIOS(2)) ROM_SYSTEM_BIOS( 2, "rb21", "ROM-Bank System with menu" ) ROMX_LOAD( "os_rb21.rom", 0xf000, 0x1000, CRC(11eec2dd) SHA1(5dbb661bdf4daf92d6c4ffbbdec674e57917e9eb), ROM_BIOS(3)) ROM_REGION( 0x2000, "chargen", 0 )
// MACHINE DRIVERS //************************************************************************** static MACHINE_CONFIG_START( apricot, apricot_state ) // main cpu MCFG_CPU_ADD("ic91", I8086, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(apricot_mem) MCFG_CPU_IO_MAP(apricot_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("ic31", pic8259_device, inta_cb) // i/o cpu MCFG_CPU_ADD("ic71", I8089, XTAL_15MHz / 3) MCFG_CPU_PROGRAM_MAP(apricot_mem) MCFG_CPU_IO_MAP(apricot_io) MCFG_I8089_DATABUS_WIDTH(16) MCFG_I8089_SINTR1(DEVWRITELINE("ic31", pic8259_device, ir0_w)) MCFG_I8089_SINTR2(DEVWRITELINE("ic31", pic8259_device, ir1_w)) // video hardware MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_SIZE(800, 400) MCFG_SCREEN_VISIBLE_AREA(0, 800-1, 0, 400-1) MCFG_SCREEN_REFRESH_RATE(72) MCFG_SCREEN_UPDATE_DRIVER(apricot_state, screen_update_apricot) MCFG_PALETTE_ADD_MONOCHROME_GREEN_HIGHLIGHT("palette") MCFG_MC6845_ADD("ic30", MC6845, "screen", XTAL_15MHz / 10) MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_CHAR_WIDTH(10) MCFG_MC6845_UPDATE_ROW_CB(apricot_state, crtc_update_row)
MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) MCFG_SCREEN_UPDATE_DRIVER(shisen_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", shisen) MCFG_PALETTE_ADD("palette", 256) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SOUND_ADD("m72", M72, 0) MCFG_YM2151_ADD("ymsnd", 3579545) MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) MCFG_SOUND_ROUTE(0, "lspeaker", 0.5) MCFG_SOUND_ROUTE(1, "rspeaker", 0.5) MCFG_DAC_ADD("dac") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) MACHINE_CONFIG_END /*************************************************************************** Game driver(s) ***************************************************************************/
MCFG_PALETTE_INIT_OVERRIDE(zorba_state, zorba) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("beeper", BEEP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) /* Devices */ MCFG_Z80DMA_ADD("dma", XTAL_24MHz/6, dma_intf) MCFG_I8251_ADD("uart0", u0_intf) MCFG_I8251_ADD("uart1", u1_intf) MCFG_I8251_ADD("uart2", u2_intf) MCFG_PIA6821_ADD("pia0", pia0_intf) MCFG_PIA6821_ADD("pia1", pia1_intf) MCFG_PIT8254_ADD( "pit", pit_intf) MCFG_I8275_ADD("crtc", XTAL_14_31818MHz/7, 8, zorba_update_chr, DEVWRITELINE("dma", z80dma_device, rdy_w)) MCFG_I8275_IRQ_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_FD1793x_ADD("fdc", XTAL_24MHz / 24) MCFG_FLOPPY_DRIVE_ADD("fdc:0", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) /* Keyboard */ MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) MACHINE_CONFIG_END ROM_START( zorba ) ROM_REGION( 0x14000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD( "780000.u47", 0x10000, 0x1000, CRC(6d58f2c5) SHA1(7763f08c801cd36e5a761c6dc9f30a50b3bc482d) ) ROM_REGION( 0x800, "kbdcpu", 0 ) ROM_LOAD( "8999-1 3-28-83", 0x080, 0x780, CRC(79fe6c0d) SHA1(4b6fca9379d5199d1347ad1187cbfdebfc4c73e7) )
MCFG_DEVICE_ADD("pia28", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(s7_state, dips_r)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(s7_state, dig0_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(s7_state, dig1_w)) MCFG_PIA_CA2_HANDLER(WRITELINE(s7_state, pia28_ca2_w)) MCFG_PIA_CB2_HANDLER(WRITELINE(s7_state, pia28_cb2_w)) MCFG_PIA_IRQA_HANDLER(WRITELINE(s7_state, pia_irq)) MCFG_PIA_IRQB_HANDLER(WRITELINE(s7_state, pia_irq)) MCFG_DEVICE_ADD("pia30", PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(s7_state, switch_r)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(s7_state, switch_w)) MCFG_PIA_CA2_HANDLER(WRITELINE(s7_state, pia30_ca2_w)) MCFG_PIA_CB2_HANDLER(WRITELINE(s7_state, pia30_cb2_w)) MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line)) MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6808_cpu_device, irq_line)) MCFG_NVRAM_ADD_0FILL("nvram") /* Add the soundcard */ MCFG_CPU_ADD("audiocpu", M6808, 3580000) MCFG_CPU_PROGRAM_MAP(s7_audio_map) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("dac", DAC, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_SPEAKER_STANDARD_MONO("speech") MCFG_SOUND_ADD("hc55516", HC55516, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speech", 1.00) MCFG_DEVICE_ADD("pias", PIA6821, 0)
static SLOT_INTERFACE_START( ht68k_floppies ) SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) SLOT_INTERFACE_END static MACHINE_CONFIG_START( ht68k, ht68k_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz) MCFG_CPU_PROGRAM_MAP(ht68k_mem) /* video hardware */ MCFG_MC68681_ADD( "duart68681", XTAL_8MHz / 2 ) MCFG_MC68681_SET_EXTERNAL_CLOCKS(500000, 500000, 1000000, 1000000) MCFG_MC68681_IRQ_CALLBACK(WRITELINE(ht68k_state, duart_irq_handler)) MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("rs232", rs232_port_device, write_txd)) MCFG_MC68681_B_TX_CALLBACK(WRITELINE(ht68k_state, duart_txb)) MCFG_MC68681_OUTPORT_CALLBACK(WRITE8(ht68k_state, duart_output)) MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER(DEVWRITELINE("duart68681", mc68681_device, rx_a_w)) MCFG_WD1770_ADD("wd1770", XTAL_8MHz ) MCFG_FLOPPY_DRIVE_ADD("wd1770:0", ht68k_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("wd1770:1", ht68k_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("wd1770:2", ht68k_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_ADD("wd1770:3", ht68k_floppies, "525dd", floppy_image_device::default_floppy_formats) MCFG_SOFTWARE_LIST_ADD("flop525_list", "ht68k") MACHINE_CONFIG_END
AM_RANGE (0xe60000, 0xe601ff) AM_DEVREADWRITE8("duscc3", duscc68562_device, read, write, 0x00ff) AM_RANGE (0xe80000, 0xe80dff) AM_DEVREADWRITE8("pit", pit68230_device, read, write, 0x00ff) AM_RANGE (0xf00000, 0xf7ffff) AM_ROM /* System EPROM Area 32Kb DEBUGGER supplied */ // AM_RANGE (0xc40000, 0xc800ff) AM_READWRITE8 (not_implemented_r, not_implemented_w, 0xffff) /* Dummy mapping af address area to display message */ ADDRESS_MAP_END /* * Machine configuration */ static MACHINE_CONFIG_FRAGMENT (fcisio1) /* basic machine hardware */ MCFG_CPU_ADD ("maincpu", M68010, CPU_CLOCK / 2) MCFG_CPU_PROGRAM_MAP (fcisio1_mem) MCFG_DUSCC68562_ADD("duscc0", DUSCC_CLOCK, 0, 0, 0, 0 ) MCFG_DUSCC_OUT_TXDA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_txd)) MCFG_DUSCC_OUT_DTRA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_dtr)) MCFG_DUSCC_OUT_RTSA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_rts)) MCFG_RS232_PORT_ADD ("rs232trm", default_rs232_devices, "terminal") MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, rxa_w)) MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("duscc0", duscc68562_device, ctsa_w)) // MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("terminal", fcisio_terminal) MCFG_DUSCC68562_ADD("duscc1", DUSCC_CLOCK, 0, 0, 0, 0 ) MCFG_DUSCC68562_ADD("duscc2", DUSCC_CLOCK, 0, 0, 0, 0 ) MCFG_DUSCC68562_ADD("duscc3", DUSCC_CLOCK, 0, 0, 0, 0 ) MCFG_DEVICE_ADD ("pit", PIT68230, XTAL_20MHz / 2) MCFG_PIT68230_PB_INPUT_CB(READ8(vme_fcisio1_card_device, config_rd))