mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
via6522: Eliminate truly ancient hack to default clock to that of first CPU (nw)
All VIAs in MAME now have properly configured clocks.
This commit is contained in:
parent
a90412feaf
commit
e23e8c432f
@ -219,5 +219,6 @@ SLOT_INTERFACE_START( vic20_expansion_cards )
|
||||
// the following need ROMs from the software list
|
||||
SLOT_INTERFACE_INTERNAL("standard", VIC20_STD)
|
||||
SLOT_INTERFACE_INTERNAL("ieee488", VIC1112)
|
||||
MCFG_SLOT_OPTION_CLOCK("ieee488", DERIVED_CLOCK(1, 1))
|
||||
SLOT_INTERFACE_INTERNAL("megacart", VIC20_MEGACART)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -98,12 +98,12 @@ WRITE_LINE_MEMBER( vic1112_device::via1_irq_w )
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( vic1112_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, 0)
|
||||
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, DERIVED_CLOCK(1, 1))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(vic1112_device, via0_pb_r))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic1112_device, via0_pb_w))
|
||||
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(vic1112_device, via0_irq_w))
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, 0)
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, DERIVED_CLOCK(1, 1))
|
||||
MCFG_VIA6522_READPB_HANDLER(DEVREAD8(IEEE488_TAG, ieee488_device, dio_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(DEVWRITE8(IEEE488_TAG, ieee488_device, dio_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(IEEE488_TAG, ieee488_device, atn_w))
|
||||
|
@ -4,9 +4,6 @@
|
||||
|
||||
Rockwell 6522 VIA interface and emulation
|
||||
|
||||
This function emulates the functionality of up to 8 6522
|
||||
versatile interface adapters.
|
||||
|
||||
This is based on the M6821 emulation in MAME.
|
||||
|
||||
To do:
|
||||
@ -211,12 +208,6 @@ void via6522_device::device_start()
|
||||
m_shift_timer = timer_alloc(TIMER_SHIFT);
|
||||
m_shift_irq_timer = timer_alloc(TIMER_SHIFT_IRQ);
|
||||
|
||||
/* Default clock is from CPU1 */
|
||||
if (clock() == 0)
|
||||
{
|
||||
set_unscaled_clock(machine().firstcpu->clock());
|
||||
}
|
||||
|
||||
/* save state register */
|
||||
save_item(NAME(m_in_a));
|
||||
save_item(NAME(m_in_ca1));
|
||||
|
@ -206,7 +206,7 @@ static MACHINE_CONFIG_START( aim65 )
|
||||
MCFG_MOS6530n_IN_PB_CB(READ8(aim65_state, aim65_riot_b_r))
|
||||
MCFG_MOS6530n_IRQ_CB(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, AIM65_CLOCK)
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(aim65_state, aim65_pb_r))
|
||||
// in CA1 printer ready?
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(aim65_state, aim65_pb_w))
|
||||
@ -215,7 +215,7 @@ static MACHINE_CONFIG_START( aim65 )
|
||||
// out CB2 turn printer on
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, AIM65_CLOCK)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6502_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("pia6821", PIA6821, 0)
|
||||
|
@ -122,9 +122,9 @@ static MACHINE_CONFIG_START( aim65_40 )
|
||||
/* sound hardware */
|
||||
|
||||
/* devices */
|
||||
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, 0)
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, 0)
|
||||
MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, 0)
|
||||
MCFG_DEVICE_ADD(M6522_0_TAG, VIA6522, 1000000)
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, 1000000)
|
||||
MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, 1000000)
|
||||
MCFG_DEVICE_ADD(M6551_TAG, MOS6551, 0)
|
||||
MCFG_MOS6551_XTAL(XTAL_1_8432MHz)
|
||||
MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
|
||||
|
@ -1747,7 +1747,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(aristmk4_state::aristmk4_pf)
|
||||
|
||||
static MACHINE_CONFIG_START( aristmk4 )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // 1.5mhz
|
||||
MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // M68B09E @ 1.5 MHz
|
||||
MCFG_CPU_PROGRAM_MAP(aristmk4_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", aristmk4_state, irq0_line_hold)
|
||||
|
||||
@ -1772,7 +1772,7 @@ static MACHINE_CONFIG_START( aristmk4 )
|
||||
MCFG_I8255_IN_PORTB_CB(READ8(aristmk4_state, pb1_r))
|
||||
MCFG_I8255_IN_PORTC_CB(READ8(aristmk4_state, pc1_r))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0) /* 1 MHz.(only 1 or 2 MHz.are valid) */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, MAIN_CLOCK/8) // R65C22P2
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(aristmk4_state, via_a_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(aristmk4_state, via_b_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(aristmk4_state, via_a_w))
|
||||
|
@ -795,7 +795,7 @@ static MACHINE_CONFIG_START( atarisy1 )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, ATARI_CLOCK_14MHz/8)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(atarisy1_state, via_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(atarisy1_state, via_pb_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(atarisy1_state, via_pa_w))
|
||||
|
@ -915,7 +915,7 @@ DRIVER_INIT_MEMBER(cops_state,cops)
|
||||
static MACHINE_CONFIG_START( cops )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu",M6502,MAIN_CLOCK/2)
|
||||
MCFG_CPU_ADD("maincpu", M6502, MAIN_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(cops_map)
|
||||
|
||||
/* video hardware */
|
||||
@ -923,15 +923,15 @@ static MACHINE_CONFIG_START( cops )
|
||||
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, MAIN_CLOCK/2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(cops_state, via1_irq))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(cops_state, via1_b_w))
|
||||
MCFG_VIA6522_CB1_HANDLER(WRITE8(cops_state, via1_cb1_w))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, MAIN_CLOCK/2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(cops_state, via2_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_3", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_3", VIA6522, MAIN_CLOCK/2)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(cops_state, cdrom_data_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(cops_state, cdrom_data_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(cops_state, cdrom_ctrl_w))
|
||||
@ -951,7 +951,7 @@ MACHINE_CONFIG_END
|
||||
static MACHINE_CONFIG_START( revlatns )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu",M6502,MAIN_CLOCK/2)
|
||||
MCFG_CPU_ADD("maincpu", M6502, MAIN_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(revlatns_map)
|
||||
|
||||
/* video hardware */
|
||||
@ -959,7 +959,7 @@ static MACHINE_CONFIG_START( revlatns )
|
||||
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, MAIN_CLOCK/2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(cops_state, via1_irq))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(cops_state, via1_b_w))
|
||||
MCFG_VIA6522_CB1_HANDLER(WRITE8(cops_state, via1_cb1_w))
|
||||
|
@ -986,18 +986,18 @@ static MACHINE_CONFIG_START( gameplan )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, GAMEPLAN_MAIN_CPU_CLOCK)
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(gameplan_state, video_data_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(gameplan_state, gameplan_video_command_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(gameplan_state, video_command_trigger_w))
|
||||
MCFG_VIA6522_IRQ_HANDLER(WRITELINE(gameplan_state, via_irq))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, GAMEPLAN_MAIN_CPU_CLOCK)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(gameplan_state, io_port_r))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(gameplan_state, io_select_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(gameplan_state, coin_w))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, GAMEPLAN_MAIN_CPU_CLOCK)
|
||||
MCFG_VIA6522_READPB_HANDLER(DEVREAD8("soundlatch", generic_latch_8_device, read))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(gameplan_state, audio_cmd_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(gameplan_state, audio_trigger_w))
|
||||
|
@ -552,15 +552,15 @@ static MACHINE_CONFIG_START( goupil_g1 )
|
||||
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_DEVICE_ADD("m_via_video", VIA6522, CPU_CLOCK / 4)
|
||||
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_DEVICE_ADD("m_via_keyb", VIA6522, CPU_CLOCK / 4)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6808_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("m_via_modem", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("m_via_modem", VIA6522, CPU_CLOCK / 4)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6808_IRQ_LINE))
|
||||
|
||||
/* Floppy */
|
||||
@ -615,15 +615,15 @@ static MACHINE_CONFIG_START( goupil_g2 )
|
||||
MCFG_MC6845_UPDATE_ROW_CB(goupil_g2_state, crtc_update_row)
|
||||
MCFG_MC6845_ADDR_CHANGED_CB(goupil_g2_state, crtc_update_addr_changed)
|
||||
|
||||
MCFG_DEVICE_ADD("m_via_video", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("m_via_video", VIA6522, CPU_CLOCK / 4)
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(goupil_g2_state, via_video_pba_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(goupil_g2_state, via_video_pbb_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(goupil_g2_state, via_video_ca2_w))
|
||||
|
||||
MCFG_DEVICE_ADD("m_via_keyb", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("m_via_keyb", VIA6522, CPU_CLOCK / 4)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6808_IRQ_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD("m_via_modem", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("m_via_modem", VIA6522, CPU_CLOCK / 4)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M6808_IRQ_LINE))
|
||||
|
||||
/* Floppy */
|
||||
|
@ -286,7 +286,7 @@ static MACHINE_CONFIG_START( gts3 )
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
|
||||
MCFG_DEVICE_ADD("u4", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("u4", VIA6522, XTAL_4MHz / 2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(gts3_state, u4a_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(gts3_state, u4b_r))
|
||||
@ -294,7 +294,7 @@ static MACHINE_CONFIG_START( gts3 )
|
||||
//MCFG_VIA6522_CA2_HANDLER(WRITELINE(gts3_state, u4ca2_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(gts3_state, nmi_w))
|
||||
|
||||
MCFG_DEVICE_ADD("u5", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("u5", VIA6522, XTAL_4MHz / 2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
|
||||
//MCFG_VIA6522_READPA_HANDLER(READ8(gts3_state, u5a_r))
|
||||
//MCFG_VIA6522_READPB_HANDLER(READ8(gts3_state, u5b_r))
|
||||
|
@ -357,7 +357,7 @@ static MACHINE_CONFIG_START( gts3a )
|
||||
/* Sound */
|
||||
MCFG_FRAGMENT_ADD( genpin_audio )
|
||||
|
||||
MCFG_DEVICE_ADD("u4", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("u4", VIA6522, XTAL_4MHz / 2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(gts3a_state, u4a_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(gts3a_state, u4b_r))
|
||||
@ -365,7 +365,7 @@ static MACHINE_CONFIG_START( gts3a )
|
||||
//MCFG_VIA6522_CA2_HANDLER(WRITELINE(gts3a_state, u4ca2_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(gts3a_state, nmi_w))
|
||||
|
||||
MCFG_DEVICE_ADD("u5", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("u5", VIA6522, XTAL_4MHz / 2)
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M65C02_IRQ_LINE))
|
||||
//MCFG_VIA6522_READPA_HANDLER(READ8(gts3a_state, u5a_r))
|
||||
//MCFG_VIA6522_READPB_HANDLER(READ8(gts3a_state, u5b_r))
|
||||
|
@ -376,7 +376,7 @@ static MACHINE_CONFIG_START( lwriter )
|
||||
#if TPI
|
||||
MCFG_DEVICE_ADD("tpi", TPI6525, 0)
|
||||
#else
|
||||
MCFG_DEVICE_ADD("via", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via", VIA6522, CPU_CLK/10) // 68000 E clock presumed
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(lwriter_state, via_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(lwriter_state, via_pb_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(lwriter_state, via_pa_w))
|
||||
|
@ -305,7 +305,7 @@ static MACHINE_CONFIG_START( ssystem3 )
|
||||
MCFG_PALETTE_INIT_OWNER(ssystem3_state, ssystem3)
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 1000000)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(ssystem3_state,ssystem3_via_read_a))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(ssystem3_state,ssystem3_via_read_b))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(ssystem3_state,ssystem3_via_write_a))
|
||||
|
@ -200,17 +200,17 @@ static MACHINE_CONFIG_START( trvquest )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, XTAL_6MHz/4)
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(gameplan_state, video_data_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(gameplan_state, gameplan_video_command_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(gameplan_state, video_command_trigger_w))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, XTAL_6MHz/4)
|
||||
MCFG_VIA6522_READPA_HANDLER(IOPORT("IN0"))
|
||||
MCFG_VIA6522_READPB_HANDLER(IOPORT("IN1"))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(gameplan_state, trvquest_coin_w))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_2", VIA6522, XTAL_6MHz/4)
|
||||
MCFG_VIA6522_READPA_HANDLER(IOPORT("UNK"))
|
||||
MCFG_VIA6522_READPB_HANDLER(IOPORT("DSW"))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(gameplan_state, trvquest_misc_w))
|
||||
|
@ -97,7 +97,7 @@ SLOT_INTERFACE_END
|
||||
|
||||
static MACHINE_CONFIG_START( vectrex )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M6809, XTAL_6MHz / 4)
|
||||
MCFG_CPU_ADD("maincpu", M6809, XTAL_6MHz / 4) // 68A09
|
||||
MCFG_CPU_PROGRAM_MAP(vectrex_map)
|
||||
|
||||
/* video hardware */
|
||||
@ -114,13 +114,13 @@ static MACHINE_CONFIG_START( vectrex )
|
||||
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_ADD("ay8912", AY8912, 1500000)
|
||||
MCFG_SOUND_ADD("ay8912", AY8912, XTAL_6MHz / 4)
|
||||
MCFG_AY8910_PORT_A_READ_CB(IOPORT("BUTTONS"))
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(vectrex_state, vectrex_psg_port_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2)
|
||||
|
||||
/* via */
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, 0)
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, XTAL_6MHz / 4)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vectrex_state, vectrex_via_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(vectrex_state, vectrex_via_pb_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(vectrex_state, v_via_pa_w))
|
||||
|
@ -789,23 +789,6 @@ WRITE_LINE_MEMBER(vic20_state::write_user_cassette_switch)
|
||||
|
||||
static MACHINE_CONFIG_START( vic20 )
|
||||
// devices
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, 0)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via1_pa_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(vic20_state, via1_pa_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via1_pb_w))
|
||||
MCFG_VIA6522_CB1_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_b))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(PET_DATASSETTE_PORT_TAG, pet_datassette_port_device, motor_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_m))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_NMI_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, 0)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via2_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(vic20_state, via2_pb_r))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via2_pb_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(vic20_state, via2_ca2_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(vic20_state, via2_cb2_w))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_IRQ_LINE))
|
||||
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(M6522_2_TAG, via6522_device, write_ca1))
|
||||
MCFG_CBM_IEC_ADD("c1541")
|
||||
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(M6522_2_TAG, via6522_device, write_cb1))
|
||||
@ -854,6 +837,23 @@ static MACHINE_CONFIG_DERIVED( ntsc, vic20 )
|
||||
MCFG_CPU_PROGRAM_MAP(vic20_mem)
|
||||
MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, MOS6560_CLOCK)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via1_pa_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(vic20_state, via1_pa_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via1_pb_w))
|
||||
MCFG_VIA6522_CB1_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_b))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(PET_DATASSETTE_PORT_TAG, pet_datassette_port_device, motor_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_m))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_NMI_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, MOS6560_CLOCK)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via2_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(vic20_state, via2_pb_r))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via2_pb_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(vic20_state, via2_ca2_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(vic20_state, via2_cb2_w))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_IRQ_LINE))
|
||||
|
||||
// video/sound hardware
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_MOS6560_ADD(M6560_TAG, SCREEN_TAG, MOS6560_CLOCK, vic_videoram_map, vic_colorram_map)
|
||||
@ -884,6 +884,23 @@ static MACHINE_CONFIG_DERIVED( pal, vic20 )
|
||||
MCFG_CPU_PROGRAM_MAP(vic20_mem)
|
||||
MCFG_M6502_DISABLE_DIRECT() // address decoding is 100% dynamic, no RAM/ROM banks
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, MOS6561_CLOCK)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via1_pa_r))
|
||||
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(vic20_state, via1_pa_w))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via1_pb_w))
|
||||
MCFG_VIA6522_CB1_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_b))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(PET_DATASSETTE_PORT_TAG, pet_datassette_port_device, motor_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_m))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_NMI_LINE))
|
||||
|
||||
MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, MOS6561_CLOCK)
|
||||
MCFG_VIA6522_READPA_HANDLER(READ8(vic20_state, via2_pa_r))
|
||||
MCFG_VIA6522_READPB_HANDLER(READ8(vic20_state, via2_pb_r))
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(vic20_state, via2_pb_w))
|
||||
MCFG_VIA6522_CA2_HANDLER(WRITELINE(vic20_state, via2_ca2_w))
|
||||
MCFG_VIA6522_CB2_HANDLER(WRITELINE(vic20_state, via2_cb2_w))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(M6502_TAG, M6502_IRQ_LINE))
|
||||
|
||||
// video/sound hardware
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_MOS6561_ADD(M6560_TAG, SCREEN_TAG, MOS6561_CLOCK, vic_videoram_map, vic_colorram_map)
|
||||
|
Loading…
Reference in New Issue
Block a user