summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/mephisto_academy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/mephisto_academy.cpp')
-rw-r--r--src/mame/drivers/mephisto_academy.cpp182
1 files changed, 0 insertions, 182 deletions
diff --git a/src/mame/drivers/mephisto_academy.cpp b/src/mame/drivers/mephisto_academy.cpp
deleted file mode 100644
index 16cb2e7a1f2..00000000000
--- a/src/mame/drivers/mephisto_academy.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Sandro Ronco, hap
-// thanks-to:yoyo_chessboard
-/***************************************************************************
-
-Mephisto Academy
-
-Hardware notes:
-- PCB label HGS 10 130 01
-- VL65NC02-04PC, 4.91Mhz XTAL
-- 2*32KB ROM(TC57256AD-12), 1st ROM half-empty
-- 8KB battery-backed RAM(TC5564APL-15)
-- HD44100H, HD44780, 2*16 chars LCD screen
-- 8 tri-color leds (not fully used: always outputs 6 red, 2 green)
-- magnets chessboard with leds, beeper
-
-Since the program is on an external module, it appears it was meant to be
-a modular chesscomputer. However, no extra modules were sold separately.
-Module PCB is the same as Super Mondial II College, label HGS 10 116 05.
-
-***************************************************************************/
-
-#include "emu.h"
-
-#include "cpu/m6502/m65c02.h"
-#include "machine/74259.h"
-#include "machine/nvram.h"
-#include "machine/mmboard.h"
-#include "video/mmdisplay2.h"
-#include "video/pwm.h"
-
-#include "mephisto_academy.lh"
-
-
-namespace {
-
-class academy_state : public driver_device
-{
-public:
- academy_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, "maincpu")
- , m_board(*this, "board")
- , m_led_pwm(*this, "led_pwm")
- , m_outlatch(*this, "outlatch")
- , m_keys(*this, "KEY")
- { }
-
- void academy(machine_config &config);
-
-private:
- required_device<cpu_device> m_maincpu;
- required_device<mephisto_board_device> m_board;
- required_device<pwm_display_device> m_led_pwm;
- required_device<hc259_device> m_outlatch;
- required_ioport m_keys;
-
- void main_map(address_map &map);
-
- void led_w(u8 data);
- u8 input_r();
-};
-
-
-
-/******************************************************************************
- I/O
-******************************************************************************/
-
-void academy_state::led_w(u8 data)
-{
- // d0-d3: keypad led select
- // d4-d7: keypad led data
- m_led_pwm->matrix(data & 0xf, ~data >> 4 & 0xf);
-}
-
-u8 academy_state::input_r()
-{
- // 74259 Q1 selects keypad
- u8 data = m_outlatch->q1_r() ? 0 : m_keys->read();
- return ~m_board->input_r() | data;
-}
-
-
-
-/******************************************************************************
- Address Maps
-******************************************************************************/
-
-void academy_state::main_map(address_map &map)
-{
- map(0x0000, 0x1fff).ram().share("nvram");
- map(0x2400, 0x2400).r(FUNC(academy_state::input_r));
- map(0x2800, 0x2800).w(m_board, FUNC(mephisto_board_device::mux_w));
- map(0x2c00, 0x2c00).w(m_board, FUNC(mephisto_board_device::led_w));
- map(0x3000, 0x3007).w("outlatch", FUNC(hc259_device::write_d7));
- map(0x3400, 0x3400).w(FUNC(academy_state::led_w));
- map(0x3800, 0x3801).rw("display:hd44780", FUNC(hd44780_device::read), FUNC(hd44780_device::write));
- map(0x4000, 0xffff).rom();
-}
-
-
-
-/******************************************************************************
- Input Ports
-******************************************************************************/
-
-static INPUT_PORTS_START( academy )
- PORT_START("KEY")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("TRAIN") PORT_CODE(KEYCODE_T)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O)
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("FCT") PORT_CODE(KEYCODE_F)
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_F1) // combine for NEW GAME
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_F1) // "
-INPUT_PORTS_END
-
-
-
-/******************************************************************************
- Machine Configs
-******************************************************************************/
-
-void academy_state::academy(machine_config &config)
-{
- /* basic machine hardware */
- M65C02(config, m_maincpu, 4.9152_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &academy_state::main_map);
-
- const attotime nmi_period = attotime::from_hz(4.9152_MHz_XTAL / (1 << 13));
- m_maincpu->set_periodic_int(FUNC(academy_state::nmi_line_pulse), nmi_period);
-
- NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
-
- HC259(config, m_outlatch); // SN74HC259N
- m_outlatch->parallel_out_cb().set("display:dac", FUNC(dac_byte_interface::write)).rshift(2).mask(0x03);
-
- MEPHISTO_SENSORS_BOARD(config, "board");
- MEPHISTO_DISPLAY_MODULE2(config, "display"); // internal
-
- PWM_DISPLAY(config, m_led_pwm).set_size(4, 4);
- config.set_default_layout(layout_mephisto_academy);
-}
-
-
-
-/******************************************************************************
- ROM Definitions
-******************************************************************************/
-
-ROM_START( academy )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD("acad4000.bin", 0x0000, 0x8000, CRC(9c5affdb) SHA1(621d16227e49b0f46ce58ce15107bae23abacadc) )
- ROM_LOAD("acad8000.bin", 0x8000, 0x8000, CRC(a967922b) SHA1(1327903ff89bf96d72c930c400f367ae19e3ec68) )
-ROM_END
-
-ROM_START( academyg )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD("academy_16k_6.3.89", 0x0000, 0x8000, CRC(e242dd6f) SHA1(95d3668b478a93a5d62304d58ef135f848b7d2cf) )
- ROM_LOAD("academy_32k_6.3.89", 0x8000, 0x8000, CRC(e313d084) SHA1(ced5712d34fcc81bedcd741b7ac9e2ba17bf5235) )
-ROM_END
-
-ROM_START( academyga )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD("academy_16k_04.10.88", 0x0000, 0x8000, CRC(89055eaa) SHA1(4b3045a75b9107737db39a8c9ab9c15ec6b0ead6) )
- ROM_LOAD("academy_32k_04.10.88", 0x8000, 0x8000, CRC(478155db) SHA1(d363ab6d5bc0f47a6cdfa5132b77535ef8da8256) )
-ROM_END
-
-} // anonymous namespace
-
-
-
-/***************************************************************************
- Game Drivers
-***************************************************************************/
-
-/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
-CONS( 1989, academy, 0, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, academyg, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 06-03-89)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, academyga, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 04-10-88)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )