summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/video/tmc600.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/video/tmc600.c')
-rw-r--r--src/mess/video/tmc600.c141
1 files changed, 0 insertions, 141 deletions
diff --git a/src/mess/video/tmc600.c b/src/mess/video/tmc600.c
deleted file mode 100644
index f36568af698..00000000000
--- a/src/mess/video/tmc600.c
+++ /dev/null
@@ -1,141 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Curt Coder
-#include "emu.h"
-#include "sound/cdp1869.h"
-#include "includes/tmc600.h"
-
-WRITE8_MEMBER( tmc600_state::vismac_register_w )
-{
- m_vismac_reg_latch = data;
-}
-
-WRITE8_MEMBER( tmc600_state::vismac_data_w )
-{
- UINT16 ma = m_maincpu->get_memory_address();
-
- switch (m_vismac_reg_latch)
- {
- case 0x20:
- // character color latch
- m_vismac_color_latch = data;
- break;
-
- case 0x30:
- // background color latch
- m_vismac_bkg_latch = data & 0x07;
-
- m_vis->out3_w(space, ma, data);
- break;
-
- case 0x40:
- m_vis->out4_w(space, ma, data);
- break;
-
- case 0x50:
- m_vis->out5_w(space, ma, data);
- break;
-
- case 0x60:
- m_vis->out6_w(space, ma, data);
- break;
-
- case 0x70:
- m_vis->out7_w(space, ma, data);
- break;
- }
-}
-
-TIMER_DEVICE_CALLBACK_MEMBER(tmc600_state::blink_tick)
-{
- m_blink = !m_blink;
-}
-
-UINT8 tmc600_state::get_color(UINT16 pma)
-{
- UINT16 pageaddr = pma & TMC600_PAGE_RAM_MASK;
- UINT8 color = m_color_ram[pageaddr];
-
- if (BIT(color, 3) && m_blink)
- {
- color = m_vismac_bkg_latch;
- }
-
- return color;
-}
-
-WRITE8_MEMBER( tmc600_state::page_ram_w )
-{
- m_page_ram[offset] = data;
- m_color_ram[offset] = m_vismac_color_latch;
-}
-
-static ADDRESS_MAP_START( cdp1869_page_ram, AS_0, 8, tmc600_state )
- AM_RANGE(0x000, 0x3ff) AM_MIRROR(0x400) AM_RAM AM_SHARE("page_ram") AM_WRITE(page_ram_w)
-ADDRESS_MAP_END
-
-CDP1869_CHAR_RAM_READ_MEMBER( tmc600_state::tmc600_char_ram_r )
-{
- UINT16 pageaddr = pma & TMC600_PAGE_RAM_MASK;
- UINT8 color = get_color(pageaddr);
- UINT16 charaddr = ((cma & 0x08) << 8) | (pmd << 3) | (cma & 0x07);
- UINT8 cdb = m_char_rom[charaddr] & 0x3f;
-
- int ccb0 = BIT(color, 2);
- int ccb1 = BIT(color, 1);
-
- return (ccb1 << 7) | (ccb0 << 6) | cdb;
-}
-
-CDP1869_PCB_READ_MEMBER( tmc600_state::tmc600_pcb_r )
-{
- UINT16 pageaddr = pma & TMC600_PAGE_RAM_MASK;
- UINT8 color = get_color(pageaddr);
-
- return BIT(color, 0);
-}
-
-void tmc600_state::video_start()
-{
- // allocate memory
- m_color_ram.allocate(TMC600_PAGE_RAM_SIZE);
-
- // register for state saving
- save_item(NAME(m_vismac_reg_latch));
- save_item(NAME(m_vismac_color_latch));
- save_item(NAME(m_vismac_bkg_latch));
- save_item(NAME(m_blink));
-}
-
-static const gfx_layout tmc600_charlayout =
-{
- 6, 9, // 6 x 9 characters
- 256, // 256 characters
- 1, // 1 bits per pixel
- { 0 }, // no bitplanes
- // x offsets
- { 2, 3, 4, 5, 6, 7 },
- // y offsets
- { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 2048*8 },
- 8*8 // every char takes 8 x 8 bytes
-};
-
-static GFXDECODE_START( tmc600 )
- GFXDECODE_ENTRY( "chargen", 0x0000, tmc600_charlayout, 0, 36 )
-GFXDECODE_END
-
-MACHINE_CONFIG_FRAGMENT( tmc600_video )
- // video hardware
- MCFG_CDP1869_SCREEN_PAL_ADD(CDP1869_TAG, SCREEN_TAG, CDP1869_DOT_CLK_PAL)
- MCFG_TIMER_DRIVER_ADD_PERIODIC("blink", tmc600_state, blink_tick, attotime::from_hz(2))
-
- MCFG_GFXDECODE_ADD("gfxdecode", CDP1869_TAG":palette", tmc600)
-
- // sound hardware
- 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(tmc600_state, tmc600_pcb_r)
- MCFG_CDP1869_CHAR_RAM_READ_OWNER(tmc600_state, tmc600_char_ram_r)
- MCFG_CDP1869_PAL_NTSC_CALLBACK(VCC)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
-MACHINE_CONFIG_END