(MESS) c128: Fixed clocks. (nw)

This commit is contained in:
Curt Coder 2014-03-31 13:56:26 +00:00
parent 72f46e2881
commit 354531eefc
3 changed files with 29 additions and 19 deletions

View File

@ -43,7 +43,7 @@
#include "mc6845.h"
#define LOG (1)
#define LOG (0)
const device_type MC6845 = &device_creator<mc6845_device>;
@ -1445,6 +1445,7 @@ mos8563_device::mos8563_device(const machine_config &mconfig, device_type type,
m_videoram_space_config("videoram", ENDIANNESS_LITTLE, 8, 16, 0, NULL, *ADDRESS_MAP_NAME(mos8563_videoram_map)),
m_palette(*this, "palette")
{
set_clock_scale(1.0/8);
}
@ -1454,6 +1455,7 @@ mos8563_device::mos8563_device(const machine_config &mconfig, const char *tag, d
m_videoram_space_config("videoram", ENDIANNESS_LITTLE, 8, 16, 0, NULL, *ADDRESS_MAP_NAME(mos8563_videoram_map)),
m_palette(*this, "palette")
{
set_clock_scale(1.0/8);
}

View File

@ -397,6 +397,10 @@ class mos8564_device : public mos6567_device
public:
// construction/destruction
mos8564_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device_execute_interface overrides
virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const { return (clocks / 8); }
virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const { return (cycles * 8); }
};
@ -431,6 +435,10 @@ class mos8566_device : public mos6569_device
public:
// construction/destruction
mos8566_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// device_execute_interface overrides
virtual UINT64 execute_clocks_to_cycles(UINT64 clocks) const { return (clocks / 8); }
virtual UINT64 execute_cycles_to_clocks(UINT64 cycles) const { return (cycles * 8); }
};

View File

@ -1443,20 +1443,20 @@ void c128_state::machine_reset()
static MACHINE_CONFIG_START( ntsc, c128_state )
// basic hardware
MCFG_CPU_ADD(Z80A_TAG, Z80, VIC6567_CLOCK*2)
MCFG_CPU_ADD(Z80A_TAG, Z80, XTAL_14_31818MHz*2/3.5/2)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MCFG_QUANTUM_PERFECT_CPU(Z80A_TAG)
MCFG_CPU_ADD(M8502_TAG, M8502, VIC6567_CLOCK)
MCFG_CPU_ADD(M8502_TAG, M8502, XTAL_14_31818MHz*2/3.5/8)
MCFG_M8502_PORT_CALLBACKS(READ8(c128_state, cpu_r), WRITE8(c128_state, cpu_w))
MCFG_M8502_PORT_PULLS(0x07, 0x20)
MCFG_CPU_PROGRAM_MAP(m8502_mem)
MCFG_QUANTUM_PERFECT_CPU(M8502_TAG)
// video hardware
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, VIC6567_CLOCK*2, vdc_intf, vdc_videoram_map)
MCFG_DEVICE_ADD(MOS8564_TAG, MOS8564, VIC6567_CLOCK)
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, XTAL_16MHz, vdc_intf, vdc_videoram_map)
MCFG_DEVICE_ADD(MOS8564_TAG, MOS8564, XTAL_14_31818MHz*2/3.5)
MCFG_MOS6566_CPU(M8502_TAG)
MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(c128_state, vic_irq_w))
MCFG_MOS8564_K_CALLBACK(WRITE8(c128_state, vic_k_w))
@ -1473,7 +1473,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, VIC6567_CLOCK)
MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL_14_31818MHz*2/3.5/8)
MCFG_MOS6581_POTX_CALLBACK(READ8(c128_state, sid_potx_r))
MCFG_MOS6581_POTY_CALLBACK(READ8(c128_state, sid_poty_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
@ -1481,14 +1481,14 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
// devices
MCFG_DEVICE_ADD(MOS8722_TAG, MOS8722, VIC6567_CLOCK)
MCFG_DEVICE_ADD(MOS8722_TAG, MOS8722, XTAL_14_31818MHz*2/3.5/8)
MCFG_MOS8722_Z80EN_CALLBACK(WRITELINE(c128_state, mmu_z80en_w))
MCFG_MOS8722_FSDIR_CALLBACK(WRITELINE(c128_state, mmu_fsdir_w))
MCFG_MOS8722_GAME_CALLBACK(READLINE(c128_state, mmu_game_r))
MCFG_MOS8722_EXROM_CALLBACK(READLINE(c128_state, mmu_exrom_r))
MCFG_MOS8722_SENSE40_CALLBACK(READLINE(c128_state, mmu_sense40_r))
MCFG_MOS8721_ADD(MOS8721_TAG)
MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, VIC6567_CLOCK)
MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, XTAL_14_31818MHz*2/3.5/8)
MCFG_MOS6526_TOD(60)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c128_state, cia1_irq_w))
MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c128_state, cia1_cnt_w))
@ -1496,7 +1496,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c128_state, cia1_pa_r))
MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c128_state, cia1_pb_r))
MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pb_w))
MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, VIC6567_CLOCK)
MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL_14_31818MHz*2/3.5/8)
MCFG_MOS6526_TOD(60)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c128_state, cia2_irq_w))
MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6))
@ -1510,7 +1510,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8564_TAG, mos8564_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, c64_expansion_cards, NULL)
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_14_31818MHz*2/3.5/8, c64_expansion_cards, NULL)
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c128_state, exp_dma_cd_r), WRITE8(c128_state, exp_dma_cd_w), WRITELINE(c128_state, exp_dma_w))
@ -1603,20 +1603,20 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( pal, c128_state )
// basic hardware
MCFG_CPU_ADD(Z80A_TAG, Z80, VIC6569_CLOCK*2)
MCFG_CPU_ADD(Z80A_TAG, Z80, XTAL_17_734472MHz*2/4.5/2)
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MCFG_QUANTUM_PERFECT_CPU(Z80A_TAG)
MCFG_CPU_ADD(M8502_TAG, M8502, VIC6569_CLOCK)
MCFG_CPU_ADD(M8502_TAG, M8502, XTAL_17_734472MHz*2/4.5/8)
MCFG_M8502_PORT_CALLBACKS(READ8(c128_state, cpu_r), WRITE8(c128_state, cpu_w))
MCFG_M8502_PORT_PULLS(0x07, 0x20)
MCFG_CPU_PROGRAM_MAP(m8502_mem)
MCFG_QUANTUM_PERFECT_CPU(M8502_TAG)
// video hardware
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, VIC6569_CLOCK*2, vdc_intf, vdc_videoram_map)
MCFG_DEVICE_ADD(MOS8566_TAG, MOS8566, VIC6569_CLOCK)
MCFG_MOS8563_ADD(MOS8563_TAG, SCREEN_VDC_TAG, XTAL_16MHz, vdc_intf, vdc_videoram_map)
MCFG_DEVICE_ADD(MOS8566_TAG, MOS8566, XTAL_17_734472MHz*2/4.5)
MCFG_MOS6566_CPU(M8502_TAG)
MCFG_MOS6566_IRQ_CALLBACK(WRITELINE(c128_state, vic_irq_w))
MCFG_MOS8564_K_CALLBACK(WRITE8(c128_state, vic_k_w))
@ -1633,7 +1633,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
// sound hardware
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, VIC6569_CLOCK)
MCFG_SOUND_ADD(MOS6581_TAG, MOS6581, XTAL_17_734472MHz*2/4.5/8)
MCFG_MOS6581_POTX_CALLBACK(READ8(c128_state, sid_potx_r))
MCFG_MOS6581_POTY_CALLBACK(READ8(c128_state, sid_poty_r))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
@ -1641,14 +1641,14 @@ static MACHINE_CONFIG_START( pal, c128_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
// devices
MCFG_DEVICE_ADD(MOS8722_TAG, MOS8722, VIC6569_CLOCK)
MCFG_DEVICE_ADD(MOS8722_TAG, MOS8722, XTAL_17_734472MHz*2/4.5/8)
MCFG_MOS8722_Z80EN_CALLBACK(WRITELINE(c128_state, mmu_z80en_w))
MCFG_MOS8722_FSDIR_CALLBACK(WRITELINE(c128_state, mmu_fsdir_w))
MCFG_MOS8722_GAME_CALLBACK(READLINE(c128_state, mmu_game_r))
MCFG_MOS8722_EXROM_CALLBACK(READLINE(c128_state, mmu_exrom_r))
MCFG_MOS8722_SENSE40_CALLBACK(READLINE(c128_state, mmu_sense40_r))
MCFG_MOS8721_ADD(MOS8721_TAG)
MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, VIC6569_CLOCK)
MCFG_DEVICE_ADD(MOS6526_1_TAG, MOS6526, XTAL_17_734472MHz*2/4.5/8)
MCFG_MOS6526_TOD(50)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c128_state, cia1_irq_w))
MCFG_MOS6526_CNT_CALLBACK(WRITELINE(c128_state, cia1_cnt_w))
@ -1656,7 +1656,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
MCFG_MOS6526_PA_INPUT_CALLBACK(READ8(c128_state, cia1_pa_r))
MCFG_MOS6526_PB_INPUT_CALLBACK(READ8(c128_state, cia1_pb_r))
MCFG_MOS6526_PB_OUTPUT_CALLBACK(WRITE8(c128_state, cia1_pb_w))
MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, VIC6569_CLOCK)
MCFG_DEVICE_ADD(MOS6526_2_TAG, MOS6526, XTAL_17_734472MHz*2/4.5/8)
MCFG_MOS6526_TOD(50)
MCFG_MOS6526_IRQ_CALLBACK(WRITELINE(c128_state, cia2_irq_w))
MCFG_MOS6526_CNT_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_6))
@ -1670,7 +1670,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8566_TAG, mos8566_device, lp_w))
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, c64_expansion_cards, NULL)
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, XTAL_17_734472MHz*2/4.5/8, c64_expansion_cards, NULL)
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
MCFG_C64_EXPANSION_SLOT_DMA_CALLBACKS(READ8(c128_state, exp_dma_cd_r), WRITE8(c128_state, exp_dma_cd_w), WRITELINE(c128_state, exp_dma_w))