summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/llc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/llc.cpp')
-rw-r--r--src/mame/machine/llc.cpp185
1 files changed, 0 insertions, 185 deletions
diff --git a/src/mame/machine/llc.cpp b/src/mame/machine/llc.cpp
deleted file mode 100644
index 6b3a61a29e6..00000000000
--- a/src/mame/machine/llc.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Miodrag Milanovic, Robbbert
-/***************************************************************************
-
- LLC driver by Miodrag Milanovic
-
- 17/04/2009 Preliminary driver.
-
-****************************************************************************/
-
-
-#include "emu.h"
-#include "includes/llc.h"
-
-
-// LLC1 BASIC keyboard
-uint8_t llc_state::llc1_port2_b_r()
-{
- uint8_t retVal = 0;
-
- if (m_term_status)
- {
- retVal = m_term_status;
- m_term_status = 0;
- }
- else
- retVal = m_term_data;
-
- return retVal;
-}
-
-uint8_t llc_state::llc1_port2_a_r()
-{
- return 0;
-}
-
-// LLC1 Monitor keyboard
-uint8_t llc_state::llc1_port1_a_r()
-{
- uint8_t data = 0;
- if (!BIT(m_porta, 4))
- data = ioport("X4")->read();
- if (!BIT(m_porta, 5))
- data = ioport("X5")->read();
- if (!BIT(m_porta, 6))
- data = ioport("X6")->read();
- if (data & 0xf0)
- data = (data >> 4) | 0x80;
-
- data |= (m_porta & 0x70);
-
- // do not repeat key
- if (data & 15)
- {
- if (data == m_llc1_key)
- data &= 0x70;
- else
- m_llc1_key = data;
- }
- else
- if ((data & 0x70) == (m_llc1_key & 0x70))
- m_llc1_key = 0;
-
- return data;
-}
-
-void llc_state::llc1_port1_a_w(uint8_t data)
-{
- m_porta = data;
-}
-
-void llc_state::llc1_port1_b_w(uint8_t data)
-{
- static uint8_t count = 0, digit = 0;
-
- if (data == 0)
- {
- digit = 0;
- count = 0;
- }
- else
- count++;
-
- if (count == 1)
- {
- if (digit < 8)
- m_digits[digit] = data & 0x7f;
- }
- else
- if (count == 3)
- {
- count = 0;
- digit++;
- }
-}
-
-void llc_state::init_llc1()
-{
-}
-
-MACHINE_RESET_MEMBER(llc_state,llc1)
-{
- m_term_status = 0;
- m_llc1_key = 0;
-}
-
-MACHINE_START_MEMBER(llc_state,llc1)
-{
- m_digits.resolve();
-}
-
-/* Driver initialization */
-void llc_state::init_llc2()
-{
- m_p_videoram.set_target( m_ram->pointer() + 0xc000,m_p_videoram.bytes());
-}
-
-MACHINE_RESET_MEMBER(llc_state,llc2)
-{
- address_space &space = m_maincpu->space(AS_PROGRAM);
-
- space.unmap_write(0x0000, 0x3fff);
- membank("bank1")->set_base(memregion("maincpu")->base());
-
- space.unmap_write(0x4000, 0x5fff);
- membank("bank2")->set_base(memregion("maincpu")->base() + 0x4000);
-
- space.unmap_write(0x6000, 0xbfff);
- membank("bank3")->set_base(memregion("maincpu")->base() + 0x6000);
-
- space.install_write_bank(0xc000, 0xffff, "bank4");
- membank("bank4")->set_base(m_ram->pointer() + 0xc000);
-
-}
-
-void llc_state::llc2_rom_disable_w(uint8_t data)
-{
- address_space &mem_space = m_maincpu->space(AS_PROGRAM);
- uint8_t *ram = m_ram->pointer();
-
- mem_space.install_write_bank(0x0000, 0xbfff, "bank1");
- membank("bank1")->set_base(ram);
-
- mem_space.install_write_bank(0x4000, 0x5fff, "bank2");
- membank("bank2")->set_base(ram + 0x4000);
-
- mem_space.install_write_bank(0x6000, 0xbfff, "bank3");
- membank("bank3")->set_base(ram + 0x6000);
-
- mem_space.install_write_bank(0xc000, 0xffff, "bank4");
- membank("bank4")->set_base(ram + 0xc000);
-
-}
-
-void llc_state::llc2_basic_enable_w(uint8_t data)
-{
- address_space &mem_space = m_maincpu->space(AS_PROGRAM);
- if (data & 0x02)
- {
- mem_space.unmap_write(0x4000, 0x5fff);
- membank("bank2")->set_base(memregion("maincpu")->base() + 0x10000);
- }
- else
- {
- mem_space.install_write_bank(0x4000, 0x5fff, "bank2");
- membank("bank2")->set_base(m_ram->pointer() + 0x4000);
- }
-
-}
-
-uint8_t llc_state::llc2_port1_b_r()
-{
- return 0;
-}
-
-void llc_state::llc2_port1_b_w(uint8_t data)
-{
- m_speaker->level_w(BIT(data, 6));
- m_rv = BIT(data, 5);
-}
-
-uint8_t llc_state::llc2_port2_a_r()
-{
- return 0; // bit 2 low or hangs on ^Z^X^C sequence
-}