MCFG_Z80CTC_INTR_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) 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_I8237_OUT_IOW_2_CB(DEVWRITE8("crtc", i8275_device, dack_w)) MCFG_I8237_OUT_IOW_3_CB(DEVWRITE8("crtc", i8275_device, dack_w)) MCFG_I8237_OUT_DACK_1_CB(WRITELINE(rc702_state, dack1_w)) // inverted MCFG_UPD765A_ADD("fdc", false, true) MCFG_UPD765_INTRQ_CALLBACK(DEVWRITELINE("ctc1", z80ctc_device, trg3)) MCFG_UPD765_DRQ_CALLBACK(DEVWRITELINE("dma", am9517a_device, dreq1_w)) MCFG_FLOPPY_DRIVE_ADD("fdc:0", floppies, "drive0", floppy_image_device::default_floppy_formats) MCFG_FLOPPY_DRIVE_SOUND(true) /* Keyboard */ MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0) MCFG_GENERIC_KEYBOARD_CB(WRITE8(rc702_state, kbd_put)) MCFG_DEVICE_ADD("7474", TTL7474, 0)
static MACHINE_CONFIG_START( votrpss, votrpss_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* 4.000 MHz, verified */ MCFG_CPU_PROGRAM_MAP(votrpss_mem) MCFG_CPU_IO_MAP(votrpss_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(votrpss_state,irq_ack) /* video hardware */ //MCFG_DEFAULT_LAYOUT(layout_votrpss) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ay", AY8910, XTAL_8MHz/4) /* 2.000 MHz, verified */ MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW1")) // port B read MCFG_AY8910_PORT_A_WRITE_CB(DEVWRITE8("votrax", votrax_sc01_device, write)) // port A write MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("votrax", VOTRAX_SC01, 720000) /* 720 kHz? needs verify */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) /* Devices */ MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(votrpss_state, kbd_put)) MCFG_DEVICE_ADD("uart", 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_RS232_PORT_ADD("rs232", default_rs232_devices, NULL) MCFG_RS232_RXD_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxd))
MCFG_Z80CTC_ZC0_CB(WRITELINE(aussiebyte_state, ctc_z0_w)) // SIO1 Ch A MCFG_Z80CTC_ZC1_CB(WRITELINE(aussiebyte_state, ctc_z1_w)) // SIO1 Ch B, SIO2 Ch A MCFG_Z80CTC_ZC2_CB(WRITELINE(aussiebyte_state, ctc_z2_w)) // SIO2 Ch B, CTC Ch 3 MCFG_DEVICE_ADD("dma", Z80DMA, XTAL_16MHz / 4) MCFG_Z80DMA_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80DMA_OUT_BUSREQ_CB(WRITELINE(aussiebyte_state, busreq_w)) // BAO, not used MCFG_Z80DMA_IN_MREQ_CB(READ8(aussiebyte_state, memory_read_byte)) MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(aussiebyte_state, memory_write_byte)) MCFG_Z80DMA_IN_IORQ_CB(READ8(aussiebyte_state, io_read_byte)) MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(aussiebyte_state, io_write_byte)) MCFG_DEVICE_ADD("pio1", Z80PIO, XTAL_16MHz / 4) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80PIO_OUT_PA_CB(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_Z80PIO_IN_PB_CB(DEVREAD8("cent_data_in", input_buffer_device, read)) MCFG_Z80PIO_OUT_ARDY_CB(DEVWRITELINE("centronics", centronics_device, write_strobe)) MCFG_DEVCB_INVERT MCFG_DEVICE_ADD("pio2", Z80PIO, XTAL_16MHz / 4) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80PIO_OUT_PA_CB(WRITE8(aussiebyte_state, port20_w)) MCFG_Z80SIO0_ADD("sio1", XTAL_16MHz / 4, 0, 0, 0, 0) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(aussiebyte_state, sio1_rdya_w)) MCFG_Z80DART_OUT_WRDYB_CB(WRITELINE(aussiebyte_state, sio1_rdyb_w)) MCFG_Z80SIO0_ADD("sio2", XTAL_16MHz / 4, 0, 0, 0, 0) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("maincpu", INPUT_LINE_IRQ0)) MCFG_Z80DART_OUT_WRDYA_CB(WRITELINE(aussiebyte_state, sio2_rdya_w))
MCFG_GFXDECODE_ADD("gfxdecode", "palette", gcpinbal) MCFG_PALETTE_ADD("palette", 4096) MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx) MCFG_DEVICE_ADD("spritegen", EXCELLENT_SPRITE, 0) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MCFG_DEVICE_ADD("adpcm_select", HCT157, 0) MCFG_74157_OUT_CB(DEVWRITE8("msm", msm6585_device, data_w)) MCFG_SOUND_ADD("msm", MSM6585, XTAL_640kHz) MCFG_MSM6585_VCLK_CB(WRITELINE(gcpinbal_state, gcp_adpcm_int)) /* VCK function */ MCFG_MSM6585_PRESCALER_SELECTOR(MSM6585_S40) /* 16 kHz */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END /*************************************************************************** DRIVERS ***************************************************************************/ ROM_START( pwrflip ) /* Updated version of Grand Cross Pinball or semi-sequel? */ ROM_REGION( 0x200000, "maincpu", 0 ) /* 512k for 68000 program */
MCFG_SCREEN_UPDATE_DRIVER(bking_state, screen_update_bking) MCFG_SCREEN_VBLANK_DRIVER(bking_state, screen_eof_bking) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", bking) MCFG_PALETTE_ADD("palette", 4*8+4*4+4*2+4*2) MCFG_PALETTE_INIT_OWNER(bking_state, bking) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ay1", AY8910, XTAL_6MHz/4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_SOUND_ADD("ay2", AY8910, XTAL_6MHz/4) MCFG_AY8910_PORT_A_WRITE_CB(DEVWRITE8("dac", dac_device, write_signed8)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(bking_state, port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DAC_ADD("dac") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( bking3, bking ) /* basic machine hardware */ MCFG_CPU_MODIFY("main_cpu") MCFG_CPU_IO_MAP(bking3_io_map) MCFG_CPU_ADD("mcu", M68705, XTAL_3MHz) /* xtal is 3MHz, divided by 4 internally */ MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map)
//MCFG_I8237_OUT_IOW_2_CB(NOOP) // RAM Refresh //MCFG_I8237_OUT_IOW_3_CB(NOOP) MCFG_I8237_OUT_DACK_0_CB(WRITELINE(octopus_state, dack0_w)) MCFG_I8237_OUT_DACK_1_CB(WRITELINE(octopus_state, dack1_w)) MCFG_I8237_OUT_DACK_2_CB(WRITELINE(octopus_state, dack2_w)) MCFG_I8237_OUT_DACK_3_CB(WRITELINE(octopus_state, dack3_w)) MCFG_DEVICE_ADD("dma2", AM9517A, XTAL_24MHz / 6) // 4MHz MCFG_I8237_OUT_HREQ_CB(WRITELINE(octopus_state, dma_hrq_changed)) MCFG_I8237_IN_MEMR_CB(READ8(octopus_state,dma_read)) MCFG_I8237_OUT_MEMW_CB(WRITE8(octopus_state,dma_write)) //MCFG_I8237_IN_IOR_0_CB(NOOP) MCFG_I8237_IN_IOR_1_CB(DEVREAD8("fdc",fd1793_t,data_r)) // FDC //MCFG_I8237_IN_IOR_2_CB(NOOP) //MCFG_I8237_IN_IOR_3_CB(NOOP) //MCFG_I8237_OUT_IOW_0_CB(NOOP) MCFG_I8237_OUT_IOW_1_CB(DEVWRITE8("fdc",fd1793_t,data_w)) // FDC //MCFG_I8237_OUT_IOW_2_CB(NOOP) //MCFG_I8237_OUT_IOW_3_CB(NOOP) MCFG_I8237_OUT_DACK_0_CB(WRITELINE(octopus_state, dack4_w)) MCFG_I8237_OUT_DACK_1_CB(WRITELINE(octopus_state, dack5_w)) MCFG_I8237_OUT_DACK_2_CB(WRITELINE(octopus_state, dack6_w)) MCFG_I8237_OUT_DACK_3_CB(WRITELINE(octopus_state, dack7_w)) MCFG_PIC8259_ADD("pic_master", INPUTLINE("maincpu",0), VCC, READ8(octopus_state,get_slave_ack)) MCFG_PIC8259_ADD("pic_slave", DEVWRITELINE("pic_master",pic8259_device, ir7_w), GND, NOOP) // RTC (MC146818 via i8255 PPI) MCFG_DEVICE_ADD("ppi", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(octopus_state,rtc_r)) MCFG_I8255_IN_PORTB_CB(READ8(octopus_state,cntl_r)) MCFG_I8255_IN_PORTC_CB(READ8(octopus_state,gpo_r))
WRITE16_MEMBER(taito_zoom_device::reg_address_w) { m_reg_address = data & 0xff; } /*************************************************************************** Machine Config ***************************************************************************/ MACHINE_CONFIG_FRAGMENT( taito_zoom_sound ) /* basic machine hardware */ MCFG_TAITO_ZOOM_ADD("taito_zoom") MCFG_CPU_ADD("mn10200", MN1020012A, XTAL_25MHz/2) MCFG_MN10200_READ_PORT_CB(1, DEVREAD8("taito_zoom", taito_zoom_device, tms_ctrl_r)) MCFG_MN10200_WRITE_PORT_CB(1, DEVWRITE8("taito_zoom", taito_zoom_device, tms_ctrl_w)) MCFG_CPU_PROGRAM_MAP(taitozoom_mn_map) MCFG_QUANTUM_TIME(attotime::from_hz(60000)) MCFG_ZSG2_ADD("zsg2", XTAL_25MHz) // we assume the parent machine has created lspeaker/rspeaker MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MACHINE_CONFIG_END
MCFG_I8255_OUT_PORTA_CB(WRITE8(spinb_state, ppia_a_w)) MCFG_I8255_OUT_PORTB_CB(WRITE8(spinb_state, ppia_b_w)) MCFG_I8255_IN_PORTC_CB(READ8(spinb_state, ppia_c_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(spinb_state, ppia_c_w)) MCFG_DEVICE_ADD("ppim", I8255A, 0 ) MCFG_I8255_OUT_PORTA_CB(WRITE8(spinb_state, ppim_a_w)) MCFG_I8255_OUT_PORTB_CB(WRITE8(spinb_state, ppim_b_w)) MCFG_I8255_IN_PORTC_CB(READ8(spinb_state, ppim_c_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(spinb_state, ppim_c_w)) MCFG_DEVICE_ADD("ic5a", TTL7474, 0) MCFG_7474_COMP_OUTPUT_CB(WRITELINE(spinb_state, ic5a_w)) MCFG_DEVICE_ADD("ic14a", HCT157, 0) MCFG_74157_OUT_CB(DEVWRITE8("msm_a", msm5205_device, data_w)) MCFG_DEVICE_ADD("ic5m", TTL7474, 0) MCFG_7474_COMP_OUTPUT_CB(WRITELINE(spinb_state, ic5m_w)) MCFG_DEVICE_ADD("ic14m", HCT157, 0) MCFG_74157_OUT_CB(DEVWRITE8("msm_m", msm5205_device, data_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( vrnwrld, spinb ) /* basic machine hardware */ MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(vrnwrld_map) MACHINE_CONFIG_END
/*************************************************************************** Machine Config ***************************************************************************/ static MACHINE_CONFIG_START( snmath, tispeak_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", TMS0270, MASTER_CLOCK/2) MCFG_TMS1XXX_READ_K_CB(READ8(tispeak_state, snspell_read_k)) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, snmath_write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, snspell_write_r)) MCFG_TMS0270_READ_CTL_CB(DEVREAD8("tms5100", tms5100_device, ctl_r)) MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms5100", tms5100_device, ctl_w)) MCFG_TMS0270_WRITE_PDC_CB(DEVWRITELINE("tms5100", tms5100_device, pdc_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_snspell) // max 9 digits /* no video! */ /* sound hardware */ MCFG_DEVICE_ADD("tms6100", TMS6100, MASTER_CLOCK/4) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("tms5100", TMS5100, MASTER_CLOCK) MCFG_TMS5110_M0_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m0_w)) MCFG_TMS5110_M1_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m1_w)) MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, tms6100_addr_w))
/* video hardware */ MCFG_SCREEN_MC6847_NTSC_ADD("screen", "mc6847") MCFG_DEVICE_ADD("mc6847", MC6847_NTSC, XTAL_3_579545MHz) MCFG_MC6847_FSYNC_CALLBACK(WRITELINE(spc1000_state, irq_w)) MCFG_MC6847_INPUT_CALLBACK(READ8(spc1000_state, mc6847_videoram_r)) MCFG_MC6847_CHARROM_CALLBACK(spc1000_state, get_char_rom) MCFG_MC6847_FIXED_MODE(MC6847_MODE_GM2) // other lines not connected /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("ay8910", AY8910, XTAL_4MHz / 1) MCFG_AY8910_PORT_A_READ_CB(READ8(spc1000_state, porta_r)) MCFG_AY8910_PORT_B_WRITE_CB(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("ext1", SPC1000_EXP_SLOT, 0) MCFG_DEVICE_SLOT_INTERFACE(spc1000_exp, nullptr, false) MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(spc1000_state, centronics_busy_w)) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0) MCFG_CASSETTE_ADD("cassette") MCFG_CASSETTE_FORMATS(spc1000_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START4 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) INPUT_PORTS_END static MACHINE_CONFIG_START( tourtabl, tourtabl_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 3) /* actually M6507 */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_DEVICE_ADD("riot1", RIOT6532, MASTER_CLOCK / 3) MCFG_RIOT6532_IN_PA_CB(IOPORT("RIOT0_SWA")) MCFG_RIOT6532_IN_PB_CB(IOPORT("RIOT0_SWB")) MCFG_RIOT6532_OUT_PB_CB(DEVWRITE8("watchdog", watchdog_timer_device, reset_w)) MCFG_DEVICE_ADD("riot2", RIOT6532, MASTER_CLOCK / 3) MCFG_RIOT6532_IN_PA_CB(IOPORT("RIOT1_SWA")) MCFG_RIOT6532_IN_PB_CB(IOPORT("RIOT1_SWB")) MCFG_RIOT6532_OUT_PB_CB(WRITE8(tourtabl_state, tourtabl_led_w)) MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ MCFG_DEVICE_ADD("tia_video", TIA_NTSC_VIDEO, 0) MCFG_TIA_READ_INPUT_PORT_CB(READ16(tourtabl_state, tourtabl_read_input_port)) MCFG_TIA_DATABUS_CONTENTS_CB(READ8(tourtabl_state, tourtabl_get_databus_contents)) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS( MASTER_CLOCK, 228, 34, 34 + 160, 262, 46, 46 + 200 )
MCFG_CPU_PROGRAM_MAP(s11_audio_map) MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac1", -1.0, DAC_VREF_NEG_INPUT) 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) MCFG_PIA_READPA_HANDLER(READ8(s11_state, sound_r)) MCFG_PIA_WRITEPA_HANDLER(WRITE8(s11_state, sound_w)) MCFG_PIA_WRITEPB_HANDLER(DEVWRITE8("dac", dac_byte_interface, write)) MCFG_PIA_CA2_HANDLER(WRITELINE(s11_state, pias_ca2_w)) MCFG_PIA_CB2_HANDLER(WRITELINE(s11_state, pias_cb2_w)) MCFG_PIA_IRQA_HANDLER(INPUTLINE("audiocpu", M6808_IRQ_LINE)) MCFG_PIA_IRQB_HANDLER(INPUTLINE("audiocpu", M6808_IRQ_LINE)) /* Add the background music card */ MCFG_CPU_ADD("bgcpu", M6809E, 8000000) // MC68B09E MCFG_CPU_PROGRAM_MAP(s11_bg_map) MCFG_SPEAKER_STANDARD_MONO("bg") MCFG_YM2151_ADD("ym2151", 3580000) MCFG_YM2151_IRQ_HANDLER(WRITELINE(s11_state, ym2151_irq_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) MCFG_SOUND_ADD("dac1", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.25) // unknown DAC
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(deadang_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", deadang) MCFG_PALETTE_ADD("palette", 2048) MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0) MCFG_SEIBU_SOUND_CPU("audiocpu") MCFG_SEIBU_SOUND_ROMBANK("seibu_bank1") MCFG_SEIBU_SOUND_YM_READ_CB(DEVREAD8("ym1", ym2203_device, read)) MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ym1", ym2203_device, write)) MCFG_SOUND_ADD("ym1", YM2203, XTAL_14_31818MHz/4) MCFG_YM2203_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) MCFG_SOUND_ADD("ym2", YM2203, XTAL_14_31818MHz/4) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) MCFG_SOUND_ADD("adpcm1", SEIBU_ADPCM, 8000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) MCFG_SOUND_ADD("adpcm2", SEIBU_ADPCM, 8000) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) MACHINE_CONFIG_END
MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1) MCFG_GFXDECODE_ADD("gfxdecode", "palette", partner) MCFG_PALETTE_ADD("palette", 3) MCFG_PALETTE_INIT_OWNER(partner_state,radio86) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("dma8257", I8257, XTAL_16MHz / 9) MCFG_I8257_OUT_HRQ_CB(WRITELINE(partner_state, hrq_w)) MCFG_I8257_IN_MEMR_CB(READ8(radio86_state, memory_read_byte)) MCFG_I8257_OUT_MEMW_CB(WRITE8(radio86_state, memory_write_byte)) MCFG_I8257_IN_IOR_0_CB(DEVREAD8("wd1793", fd1793_t, data_r)) MCFG_I8257_OUT_IOW_0_CB(DEVWRITE8("wd1793", fd1793_t, data_w)) MCFG_I8257_OUT_IOW_2_CB(DEVWRITE8("i8275", i8275_device, dack_w)) MCFG_I8257_REVERSE_RW_MODE(1) MCFG_CASSETTE_ADD( "cassette" ) MCFG_CASSETTE_FORMATS(rkp_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED) MCFG_CASSETTE_INTERFACE("partner_cass") MCFG_SOFTWARE_LIST_ADD("cass_list","partner_cass") MCFG_FD1793_ADD("wd1793", XTAL_16MHz / 16) MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE("dma8257", i8257_device, dreq0_w)) MCFG_FLOPPY_DRIVE_ADD("wd1793:0", partner_floppies, "525qd", partner_state::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("wd1793:1", partner_floppies, "525qd", partner_state::floppy_formats)
MCFG_CPU_IO_MAP(isbc286_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic_0", pic8259_device, inta_cb) MCFG_PIC8259_ADD("pic_0", INPUTLINE(":maincpu", 0), VCC, READ8(isbc_state, get_slave_ack)) MCFG_PIC8259_ADD("pic_1", DEVWRITELINE("pic_0", pic8259_device, ir7_w), GND, NULL) MCFG_DEVICE_ADD("pit", PIT8254, 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_OUT1_HANDLER(DEVWRITELINE("uart8274", z80dart_device, rxtxcb_w)) MCFG_PIT8253_CLK2(XTAL_22_1184MHz/18) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(isbc_state, isbc286_tmr2_w)) MCFG_DEVICE_ADD("ppi", I8255A, 0) MCFG_I8255_OUT_PORTA_CB(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_I8255_IN_PORTB_CB(DEVREAD8("cent_status_in", input_buffer_device, read)) MCFG_I8255_OUT_PORTC_CB(WRITE8(isbc_state, ppi_c_w)) MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(isbc_state, write_centronics_ack)) MCFG_CENTRONICS_BUSY_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit7)) MCFG_CENTRONICS_FAULT_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit6)) MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") MCFG_I8274_ADD("uart8274", XTAL_16MHz/4, 0, 0, 0, 0) MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE("rs232a", rs232_port_device, write_txd)) MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE("rs232a", rs232_port_device, write_dtr))
//------------------------------------------------- // MACHINE_DRIVER( e01 ) //------------------------------------------------- static MACHINE_CONFIG_FRAGMENT( e01 ) // basic machine hardware MCFG_CPU_ADD(R65C102_TAG, M65C02, XTAL_8MHz/4) // Rockwell R65C102P3 MCFG_CPU_PROGRAM_MAP(e01_mem) MCFG_MC146818_ADD(HD146818_TAG, XTAL_32_768kHz) MCFG_MC146818_IRQ_HANDLER(WRITELINE(e01_device, rtc_irq_w)) // devices MCFG_DEVICE_ADD(R6522_TAG, VIA6522, XTAL_8MHz / 4) MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_VIA6522_IRQ_HANDLER(WRITELINE(e01_device, via_irq_w)) MCFG_DEVICE_ADD(MC6854_TAG, MC6854, 0) MCFG_MC6854_OUT_IRQ_CB(WRITELINE(e01_device, adlc_irq_w)) MCFG_MC6854_OUT_TXD_CB(WRITELINE(e01_device, econet_data_w)) MCFG_WD2793_ADD(WD2793_TAG, XTAL_8MHz/4) MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(e01_device, fdc_irq_w)) MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(e01_device, fdc_drq_w)) MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":0", e01_floppies, "35dd", floppy_formats_afs) MCFG_FLOPPY_DRIVE_ADD(WD2793_TAG":1", e01_floppies, "35dd", floppy_formats_afs) MCFG_SOFTWARE_LIST_ADD("flop_ls_e01", "e01_flop") MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer") MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(R6522_TAG, via6522_device, write_ca1))
/* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, CLOCK_3KHZ / 12) MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 128)) MCFG_SLAPSTIC_ADD("slapstic") MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK / 8) MCFG_RIOT6532_IN_PA_CB(READ8(starwars_state, r6532_porta_r)) MCFG_RIOT6532_OUT_PA_CB(WRITE8(starwars_state, r6532_porta_w)) MCFG_RIOT6532_IN_PB_CB(DEVREAD8("tms", tms5220_device, status_r)) MCFG_RIOT6532_OUT_PB_CB(DEVWRITE8("tms", tms5220_device, data_w)) MCFG_RIOT6532_IRQ_CB(WRITELINE(starwars_state, snd_interrupt)) MCFG_X2212_ADD_AUTOSAVE("x2212") /* nvram */ /* video hardware */ MCFG_VECTOR_ADD("vector") MCFG_SCREEN_ADD("screen", VECTOR) MCFG_SCREEN_REFRESH_RATE(CLOCK_3KHZ / 12 / 6) MCFG_SCREEN_SIZE(400, 300) MCFG_SCREEN_VISIBLE_AREA(0, 250, 0, 280) MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update) MCFG_DEVICE_ADD("avg", AVG_STARWARS, 0) MCFG_AVGDVG_VECTOR("vector")
DECLARE_WRITE8_MEMBER(boot_state_w); }; WRITE8_MEMBER(at586_state::boot_state_w) { logerror("Boot state %02x\n", data); } static MACHINE_CONFIG_START( tx_config ) MCFG_I82439TX_CPU( "maincpu" ) MCFG_I82439TX_REGION( "isa" ) MACHINE_CONFIG_END static MACHINE_CONFIG_START(sb_config) MCFG_I82371SB_BOOT_STATE_HOOK(DEVWRITE8(":", at586_state, boot_state_w)) MACHINE_CONFIG_END static SLOT_INTERFACE_START( pci_devices ) SLOT_INTERFACE_INTERNAL("i82439tx", I82439TX) SLOT_INTERFACE_INTERNAL("i82371ab", I82371AB) SLOT_INTERFACE_INTERNAL("i82371sb", I82371SB) SLOT_INTERFACE_END static ADDRESS_MAP_START( at586_map, AS_PROGRAM, 32, at586_state ) AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("bank10") AM_RANGE(0x000a0000, 0x000bffff) AM_NOP AM_RANGE(0x00800000, 0x00800bff) AM_RAM AM_SHARE("nvram") AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("isa", 0x20000) ADDRESS_MAP_END
MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_UPDATE_ROW_CB(bw12_state, crtc_update_row) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD(MC1408_TAG, DAC, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) /* devices */ MCFG_TIMER_DRIVER_ADD(FLOPPY_TIMER_TAG, bw12_state, floppy_motor_off_tick) MCFG_UPD765A_ADD(UPD765_TAG, false, true) MCFG_DEVICE_ADD(PIA6821_TAG, PIA6821, 0) MCFG_PIA_READPA_HANDLER(READ8(bw12_state, pia_pa_r)) MCFG_PIA_WRITEPB_HANDLER(DEVWRITE8("cent_data_out", output_latch_device, write)) MCFG_PIA_CA2_HANDLER(DEVWRITELINE(CENTRONICS_TAG, centronics_device, write_strobe)) MCFG_PIA_CB2_HANDLER(WRITELINE(bw12_state, pia_cb2_w)) MCFG_PIA_IRQA_HANDLER(DEVWRITELINE(Z80_TAG, z80_device, irq_line)) MCFG_PIA_IRQB_HANDLER(DEVWRITELINE(Z80_TAG, z80_device, irq_line)) MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_16MHz/4, 0, 0, 0, 0) MCFG_Z80DART_OUT_TXDA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_txd)) MCFG_Z80DART_OUT_DTRA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_dtr)) MCFG_Z80DART_OUT_RTSA_CB(DEVWRITELINE(RS232_A_TAG, rs232_port_device, write_rts)) MCFG_Z80DART_OUT_TXDB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_txd)) MCFG_Z80DART_OUT_DTRB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_dtr)) MCFG_Z80DART_OUT_RTSB_CB(DEVWRITELINE(RS232_B_TAG, rs232_port_device, write_rts)) MCFG_Z80DART_OUT_INT_CB(INPUTLINE(Z80_TAG, INPUT_LINE_IRQ0)) MCFG_DEVICE_ADD(PIT8253_TAG, PIT8253, 0)
msx_cart_msx_audio_hxmu900::msx_cart_msx_audio_hxmu900(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, MSX_CART_MSX_AUDIO_HXMU900, "MSX Cartridge - MSX-AUDIO HX-MU900", tag, owner, clock, "msx_audio_hxmu900", __FILE__) , msx_cart_interface(mconfig, *this) , m_y8950(*this, "y8950") { } static MACHINE_CONFIG_FRAGMENT( msx_audio_hxmu900 ) // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("y8950", Y8950, XTAL_3_579545MHz) // Not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) MCFG_Y8950_KEYBOARD_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write)) MCFG_Y8950_KEYBOARD_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read)) MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, NULL) MACHINE_CONFIG_END machine_config_constructor msx_cart_msx_audio_hxmu900::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( msx_audio_hxmu900 ); } void msx_cart_msx_audio_hxmu900::device_start() { // Install IO read/write handlers
MCFG_CPU_PROGRAM_MAP(mycom_map) MCFG_CPU_IO_MAP(mycom_io) MCFG_DEVICE_ADD("ppi8255_0", I8255, 0) MCFG_I8255_OUT_PORTA_CB(WRITE8(mycom_state, mycom_04_w)) MCFG_I8255_IN_PORTB_CB(READ8(mycom_state, mycom_05_r)) MCFG_I8255_IN_PORTC_CB(READ8(mycom_state, mycom_06_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(mycom_state, mycom_06_w)) MCFG_DEVICE_ADD("ppi8255_1", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(mycom_state, mycom_08_r)) MCFG_I8255_OUT_PORTC_CB(WRITE8(mycom_state, mycom_0a_w)) MCFG_DEVICE_ADD("ppi8255_2", I8255, 0) MCFG_I8255_IN_PORTB_CB(DEVREAD8("rtc", msm5832_device, data_r)) MCFG_I8255_OUT_PORTB_CB(DEVWRITE8("rtc", msm5832_device, data_w)) MCFG_I8255_OUT_PORTC_CB(WRITE8(mycom_state, mycom_rtc_w)) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ MCFG_SCREEN_UPDATE_DEVICE("crtc", mc6845_device, screen_update) MCFG_SCREEN_SIZE(640, 480) MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 192-1) MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", mycom) /* Manual states clock is 1.008mhz for 40 cols, and 2.016 mhz for 80 cols. The CRTC is a HD46505S - same as a 6845. The start registers need to be readable. */ MCFG_MC6845_ADD("crtc", MC6845, "screen", 1008000)
MCFG_HUC6260_TIME_TIL_NEXT_EVENT_CB(DEVREAD16("huc6202", huc6202_device, time_until_next_event)) MCFG_HUC6260_VSYNC_CHANGED_CB(DEVWRITELINE("huc6202", huc6202_device, vsync_changed)) MCFG_HUC6260_HSYNC_CHANGED_CB(DEVWRITELINE("huc6202", huc6202_device, hsync_changed)) MCFG_DEVICE_ADD( "huc6270_0", HUC6270, 0 ) MCFG_HUC6270_VRAM_SIZE(0x10000) MCFG_HUC6270_IRQ_CHANGED_CB(WRITELINE(pce_common_state, pce_irq_changed)) MCFG_DEVICE_ADD( "huc6270_1", HUC6270, 0 ) MCFG_HUC6270_VRAM_SIZE(0x10000) MCFG_HUC6270_IRQ_CHANGED_CB(WRITELINE(pce_common_state, pce_irq_changed)) MCFG_DEVICE_ADD( "huc6202", HUC6202, 0 ) MCFG_HUC6202_NEXT_PIXEL_0_CB(DEVREAD16("huc6270_0", huc6270_device, next_pixel)) MCFG_HUC6202_TIME_TIL_NEXT_EVENT_0_CB(DEVREAD16("huc6270_0", huc6270_device, time_until_next_event)) MCFG_HUC6202_VSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, vsync_changed)) MCFG_HUC6202_HSYNC_CHANGED_0_CB(DEVWRITELINE("huc6270_0", huc6270_device, hsync_changed)) MCFG_HUC6202_READ_0_CB(DEVREAD8("huc6270_0", huc6270_device, read)) MCFG_HUC6202_WRITE_0_CB(DEVWRITE8("huc6270_0", huc6270_device, write)) MCFG_HUC6202_NEXT_PIXEL_1_CB(DEVREAD16("huc6270_1", huc6270_device, next_pixel)) MCFG_HUC6202_TIME_TIL_NEXT_EVENT_1_CB(DEVREAD16("huc6270_1", huc6270_device, time_until_next_event)) MCFG_HUC6202_VSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, vsync_changed)) MCFG_HUC6202_HSYNC_CHANGED_1_CB(DEVWRITELINE("huc6270_1", huc6270_device, hsync_changed)) MCFG_HUC6202_READ_1_CB(DEVREAD8("huc6270_1", huc6270_device, read)) MCFG_HUC6202_WRITE_1_CB(DEVWRITE8("huc6270_1", huc6270_device, write)) MCFG_DEVICE_ADD("rtc", MSM6242, XTAL_32_768kHz) MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker") MCFG_SOUND_ADD("c6280", C6280, PCE_MAIN_CLOCK/6) MCFG_C6280_CPU("maincpu") MCFG_SOUND_ROUTE(0, "lspeaker", 1.00) MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
// Toshiba TMPZ84C015AF-6 (@U5) components: // - Z80 // - CTC // - SIO // - PIO // - CGC // - WDT MCFG_CPU_ADD("tmpz84_cpu", Z80, XTAL_12MHz/2) /* 6 MHz */ MCFG_CPU_PROGRAM_MAP(bm_012_memory_map) MCFG_CPU_IO_MAP(bm_012_io_map) MCFG_CPU_CONFIG(bm_012_daisy_chain) MCFG_DEVICE_ADD("tmpz84_pio", Z80PIO, XTAL_12MHz/2) MCFG_Z80PIO_OUT_INT_CB(INPUTLINE("tmpz84_cpu", INPUT_LINE_IRQ0)) MCFG_Z80PIO_IN_PA_CB(DEVREAD8("bm012_pio", z80pio_device, pa_r)) MCFG_Z80PIO_OUT_PA_CB(DEVWRITE8("bm012_pio", z80pio_device, pa_w)) MCFG_Z80PIO_IN_PB_CB(DEVREAD8("bm012_pio", z80pio_device, pb_r)) MCFG_Z80PIO_OUT_PB_CB(DEVWRITE8("bm012_pio", z80pio_device, pb_w)) MCFG_Z80PIO_OUT_BRDY_CB(DEVWRITELINE("bm012_pio", z80pio_device, strobe_b)) MCFG_DEVICE_ADD("tmpz84_ctc", Z80CTC, XTAL_12MHz/2) MCFG_Z80CTC_INTR_CB(INPUTLINE("tmpz84_cpu", INPUT_LINE_IRQ0)) MCFG_Z80SIO0_ADD("tmpz84_sio", XTAL_12MHz/2, 0, 0, 0, 0) MCFG_Z80DART_OUT_INT_CB(INPUTLINE("tmpz84_cpu", INPUT_LINE_IRQ0)) // Sony CXK5864BSP-10L (8KB ram) // Sharp LH0081A Z80A-PIO-0 - For communicating between the MSX and the TMP MCFG_DEVICE_ADD("bm012_pio", Z80PIO, XTAL_3_579545MHz) // ????? MCFG_Z80PIO_OUT_PA_CB(DEVWRITE8("tmpz84_pio", z80pio_device, pa_w)) MCFG_Z80PIO_IN_PA_CB(DEVREAD8("tmpz84_pio", z80pio_device, pa_r))
FLOPPY_PC_FORMAT FLOPPY_FORMATS_END static SLOT_INTERFACE_START( isbc_208_floppies ) SLOT_INTERFACE( "8dd", FLOPPY_8_DSDD ) SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( isbc_208 ) MCFG_DEVICE_ADD("dmac", AM9517A, XTAL_8MHz/4) MCFG_I8237_OUT_HREQ_CB(WRITELINE(isbc_208_device, hreq_w)) MCFG_I8237_OUT_EOP_CB(WRITELINE(isbc_208_device, out_eop_w)) MCFG_I8237_IN_MEMR_CB(READ8(isbc_208_device, dma_read_byte)) MCFG_I8237_OUT_MEMW_CB(WRITE8(isbc_208_device, dma_write_byte)) MCFG_I8237_IN_IOR_0_CB(DEVREAD8("fdc", i8272a_device, mdma_r)) MCFG_I8237_OUT_IOW_0_CB(DEVWRITE8("fdc", i8272a_device, mdma_w)) MCFG_I8272A_ADD("fdc", true) MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(isbc_208_device, irq_w)) MCFG_UPD765_DRQ_CALLBACK(DEVWRITELINE("dmac", am9517a_device, dreq0_w)) MCFG_FLOPPY_DRIVE_ADD("fdc:0", isbc_208_floppies, "525dd", isbc_208_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fdc:1", isbc_208_floppies, "525dd", isbc_208_device::floppy_formats) MACHINE_CONFIG_END DEVICE_ADDRESS_MAP_START( map, 8, isbc_208_device ) AM_RANGE(0x00, 0x0f) AM_DEVREADWRITE("dmac", am9517a_device, read, write) AM_RANGE(0x10, 0x11) AM_DEVICE("fdc", i8272a_device, map) AM_RANGE(0x12, 0x15) AM_READWRITE(stat_r, aux_w) ADDRESS_MAP_END machine_config_constructor isbc_208_device::device_mconfig_additions() const
MCFG_DEFAULT_LAYOUT(layout_mk14) // sound MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25) MCFG_SOUND_ADD("dac8", ZN425E, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // Ferranti ZN425E MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac8", -1.0, DAC_VREF_NEG_INPUT) /* devices */ MCFG_DEVICE_ADD("ic8", INS8154, 0) MCFG_INS8154_OUT_A_CB(WRITE8(mk14_state, port_a_w)) MCFG_INS8154_OUT_B_CB(DEVWRITE8("dac8", dac_byte_interface, write)) MCFG_CASSETTE_ADD( "cassette" ) MACHINE_CONFIG_END /* ROM definition */ ROM_START( mk14 ) ROM_REGION( 0x200, "maincpu", 0 ) // IC2,3 74S571 512 x 4 bit ROM ROM_LOAD( "scios.bin", 0x0000, 0x0200, CRC(8b667daa) SHA1(802dc637ce5391a2a6627f76f919b12a869b56ef)) // V2 bios, V1 is missing ROM_END /* Driver */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ COMP( 1977, mk14, 0, 0, mk14, mk14, driver_device, 0, "Science of Cambridge", "MK-14", 0 )
MCFG_DEVICE_MODIFY("melodypsg1") MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4g_porta_w)) MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.15, 0) MCFG_DEVICE_MODIFY("melodypsg2") MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4h_porta_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(zac1b11142_audio_device, ay_4h_portb_w)) MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.15, 0) MCFG_CPU_ADD("audiocpu", M6802, XTAL_3_579545MHz) // verified on pcb MCFG_CPU_PROGRAM_MAP(zac1b11142_audio_map) MCFG_CPU_PERIODIC_INT_DRIVER(zac1b11142_audio_device, input_poll, 60) MCFG_DEVICE_ADD("pia_1i", PIA6821, 0) MCFG_PIA_READPA_HANDLER(DEVREAD8("speech", tms5220_device, status_r)) MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8("speech", tms5220_device, data_w)) MCFG_PIA_WRITEPB_HANDLER(WRITE8(zac1b11142_audio_device, pia_1i_portb_w)) MCFG_DAC_ADD("dac_1f") MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.80, 0) // There is no xtal, the clock is obtained from a RC oscillator as shown in the TMS5220 datasheet (R=100kOhm C=22pF) // 162kHz measured on pin 3 20 minutes after power on, clock would then be 162.3*4=649.2kHz MCFG_SOUND_ADD("speech", TMS5200, 649200) // ROMCLK pin measured at 162.3Khz, OSC is exactly *4 of that) MCFG_TMS52XX_IRQ_HANDLER(DEVWRITELINE("pia_1i", pia6821_device, cb1_w)) MCFG_TMS52XX_READYQ_HANDLER(DEVWRITELINE("pia_1i", pia6821_device, ca2_w)) MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.80, 0) MACHINE_CONFIG_END
MCFG_SCREEN_REFRESH_RATE(50) MCFG_SCREEN_SIZE(78*6, 30*10) MCFG_SCREEN_VISIBLE_AREA(0, 78*6-1, 0, 30*10-1) MCFG_GFXDECODE_ADD("gfxdecode", "palette", radio86) MCFG_PALETTE_ADD("palette", 3) MCFG_PALETTE_INIT_OWNER(radio86_state,radio86) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("dma8257", I8257, XTAL_16MHz / 9) MCFG_I8257_OUT_HRQ_CB(WRITELINE(radio86_state, hrq_w)) MCFG_I8257_IN_MEMR_CB(READ8(radio86_state, memory_read_byte)) MCFG_I8257_OUT_MEMW_CB(WRITE8(radio86_state, memory_write_byte)) MCFG_I8257_OUT_IOW_2_CB(DEVWRITE8("i8275", i8275_device, dack_w)) MCFG_I8257_REVERSE_RW_MODE(1) MCFG_CASSETTE_ADD( "cassette" ) MCFG_CASSETTE_FORMATS(rkr_cassette_formats) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED) MCFG_CASSETTE_INTERFACE("radio86_cass") MCFG_SOFTWARE_LIST_ADD("cass_list", "radio86_cass") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( radio16, radio86 ) /* basic machine hardware */ MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(radio86_16_mem)
/* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */ MCFG_CPU_PROGRAM_MAP(niyanpai_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, interrupt) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("tmp68301",tmp68301_device,irq_callback) MCFG_DEVICE_ADD("tmp68301", TMP68301, 0) MCFG_TMP68301_OUT_PARALLEL_CB(WRITE16(niyanpai_state, tmp68301_parallel_port_w)) MCFG_CPU_ADD("audiocpu", TMPZ84C011, 8000000) /* TMPZ84C011, 8.00 MHz */ MCFG_CPU_CONFIG(daisy_chain_sound) MCFG_CPU_PROGRAM_MAP(niyanpai_sound_map) MCFG_CPU_IO_MAP(niyanpai_sound_io_map) MCFG_TMPZ84C011_PORTD_READ_CB(READ8(niyanpai_state, soundlatch_byte_r)) MCFG_TMPZ84C011_PORTA_WRITE_CB(WRITE8(niyanpai_state, soundbank_w)) MCFG_TMPZ84C011_PORTB_WRITE_CB(DEVWRITE8("dac1", dac_device, write_unsigned8)) MCFG_TMPZ84C011_PORTC_WRITE_CB(DEVWRITE8("dac2", dac_device, write_unsigned8)) MCFG_TMPZ84C011_PORTE_WRITE_CB(WRITE8(niyanpai_state, soundlatch_clear_w)) MCFG_TMPZ84C011_ZC0_CB(DEVWRITELINE("audiocpu", tmpz84c011_device, trg3)) MCFG_NVRAM_ADD_0FILL("nvram") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(1024, 512) MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 240-1) MCFG_SCREEN_UPDATE_DRIVER(niyanpai_state, screen_update) MCFG_SCREEN_PALETTE("palette")
MCFG_NVRAM_ADD_0FILL("nvram") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( s3a, s3 ) /* Add the soundcard */ MCFG_CPU_ADD("audiocpu", M6802, 3580000) MCFG_CPU_PROGRAM_MAP(s3_audio_map) MCFG_MACHINE_RESET_OVERRIDE(s3_state, s3a) MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("dac", DAC, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) MCFG_DEVICE_ADD("pias", PIA6821, 0) MCFG_PIA_READPB_HANDLER(READ8(s3_state, dac_r)) MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8("dac", dac_device, write_unsigned8)) MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("audiocpu", m6800_cpu_device, irq_line)) MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("audiocpu", m6800_cpu_device, irq_line)) MACHINE_CONFIG_END //***************************************** SYSTEM 3 ****************************************************** /*---------------------------- / Hot Tip - Sys.3 (Game #477) - No Sound board /----------------------------*/ ROM_START(httip_l1) ROM_REGION(0x2000, "roms", 0) ROM_LOAD("gamerom.716", 0x0000, 0x0800, CRC(b1d4fd9b) SHA1(e55ecf1328a55979c4cf8f3fb4e6761747e0abc4)) ROM_LOAD("white1.716", 0x1000, 0x0800, CRC(9bbbf14f) SHA1(b0542ffdd683fa0ea4a9819576f3789cd5a4b2eb))
/************************************* * * Machine driver * *************************************/ MACHINE_CONFIG_FRAGMENT( taito_en_sound ) /* basic machine hardware */ MCFG_TAITO_EN_ADD("taito_en") MCFG_CPU_ADD("audiocpu", M68000, XTAL_30_4761MHz / 2) MCFG_CPU_PROGRAM_MAP(en_sound_map) MCFG_MC68681_ADD("duart68681", XTAL_16MHz / 4) MCFG_MC68681_SET_EXTERNAL_CLOCKS(XTAL_16MHz/2/8, XTAL_16MHz/2/16, XTAL_16MHz/2/16, XTAL_16MHz/2/8) MCFG_MC68681_IRQ_CALLBACK(DEVWRITELINE("taito_en", taito_en_device, duart_irq_handler)) MCFG_DEVICE_ADD("mb87078", MB87078, 0) MCFG_MB87078_GAIN_CHANGED_CB(DEVWRITE8("taito_en", taito_en_device, mb87078_gain_changed)) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SOUND_ADD("ensoniq", ES5505, XTAL_30_4761MHz / 2) MCFG_ES5505_REGION0("ensoniq.0") MCFG_ES5505_REGION1("ensoniq.0") MCFG_ES5506_CHANNELS(1) MCFG_SOUND_ROUTE(0, "lspeaker", 0.08) MCFG_SOUND_ROUTE(1, "rspeaker", 0.08) MACHINE_CONFIG_END