diff options
Diffstat (limited to 'src/mess/video/pecom.c')
-rw-r--r-- | src/mess/video/pecom.c | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/src/mess/video/pecom.c b/src/mess/video/pecom.c deleted file mode 100644 index 795e97f8ef4..00000000000 --- a/src/mess/video/pecom.c +++ /dev/null @@ -1,109 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Miodrag Milanovic -/*************************************************************************** - - Pecom driver by Miodrag Milanovic - - 08/11/2008 Preliminary driver. - -****************************************************************************/ - -#include "emu.h" -#include "sound/cdp1869.h" -#include "sound/wave.h" -#include "cpu/cosmac/cosmac.h" -#include "includes/pecom.h" - -WRITE8_MEMBER(pecom_state::pecom_cdp1869_w) -{ - UINT16 ma = m_cdp1802->get_memory_address(); - - switch (offset + 3) - { - case 3: - m_cdp1869->out3_w(space, ma, data); - break; - - case 4: - m_cdp1869->out4_w(space, ma, data); - break; - - case 5: - m_cdp1869->out5_w(space, ma, data); - break; - - case 6: - m_cdp1869->out6_w(space, ma, data); - break; - - case 7: - m_cdp1869->out7_w(space, ma, data); - break; - } -} - -static ADDRESS_MAP_START( cdp1869_page_ram, AS_0, 8, driver_device ) - AM_RANGE(0x000, 0x3ff) AM_MIRROR(0x400) AM_RAM -ADDRESS_MAP_END - -CDP1869_CHAR_RAM_READ_MEMBER(pecom_state::pecom_char_ram_r ) -{ - UINT8 column = pmd & 0x7f; - UINT16 charaddr = (column << 4) | cma; - - return m_charram[charaddr]; -} - -CDP1869_CHAR_RAM_WRITE_MEMBER(pecom_state::pecom_char_ram_w ) -{ - UINT8 column = pmd & 0x7f; - UINT16 charaddr = (column << 4) | cma; - - m_charram[charaddr] = data; -} - -CDP1869_PCB_READ_MEMBER(pecom_state::pecom_pcb_r ) -{ - return BIT(pmd, 7); -} - -WRITE_LINE_MEMBER(pecom_state::pecom_prd_w) -{ - // every other PRD triggers a DMAOUT request - if (m_dma) - { - m_cdp1802->set_input_line(COSMAC_INPUT_LINE_DMAOUT, HOLD_LINE); - } - - m_dma = !m_dma; -} - -VIDEO_START_MEMBER(pecom_state,pecom) -{ - /* allocate memory */ - m_charram = auto_alloc_array(machine(), UINT8, PECOM_CHAR_RAM_SIZE); - - /* register for state saving */ - save_item(NAME(m_reset)); - save_item(NAME(m_dma)); - save_pointer(NAME(m_charram), PECOM_CHAR_RAM_SIZE); -} - -MACHINE_CONFIG_FRAGMENT( pecom_video ) - MCFG_CDP1869_SCREEN_PAL_ADD(CDP1869_TAG, SCREEN_TAG, CDP1869_DOT_CLK_PAL) - - MCFG_VIDEO_START_OVERRIDE(pecom_state,pecom) - - MCFG_SPEAKER_STANDARD_MONO("mono") - - MCFG_CDP1869_ADD(CDP1869_TAG, CDP1869_DOT_CLK_PAL, cdp1869_page_ram) - MCFG_CDP1869_COLOR_CLOCK(CDP1869_COLOR_CLK_PAL) - MCFG_CDP1869_CHAR_PCB_READ_OWNER(pecom_state, pecom_pcb_r) - MCFG_CDP1869_CHAR_RAM_READ_OWNER(pecom_state, pecom_char_ram_r) - MCFG_CDP1869_CHAR_RAM_WRITE_OWNER(pecom_state, pecom_char_ram_w) - MCFG_CDP1869_PAL_NTSC_CALLBACK(VCC) - MCFG_CDP1869_PRD_CALLBACK(WRITELINE(pecom_state, pecom_prd_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette") - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -MACHINE_CONFIG_END |