mirror of
https://github.com/holub/mame
synced 2025-05-28 16:43:04 +03:00
(MESS) c128: Fixed clocks. (nw)
This commit is contained in:
parent
72f46e2881
commit
354531eefc
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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); }
|
||||
};
|
||||
|
||||
|
||||
|
@ -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))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user