From 262fc7035a2f5328b97adea11cae1a7d58cd8653 Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 9 Mar 2016 12:21:05 +0100 Subject: [PATCH] renamed supercon.cpp to novag6502.cpp --- scripts/target/mame/mess.lua | 2 +- .../drivers/{supercon.cpp => novag6502.cpp} | 52 +++++++++++-------- src/mame/mame.lst | 6 +-- src/mame/mess.flt | 2 +- 4 files changed, 34 insertions(+), 28 deletions(-) rename src/mame/drivers/{supercon.cpp => novag6502.cpp} (89%) diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index e6af65ea8ef..829c82af577 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2171,10 +2171,10 @@ createMESSProjects(_target, _subtarget, "novag") files { MAME_DIR .. "src/mame/drivers/mk1.cpp", MAME_DIR .. "src/mame/drivers/mk2.cpp", + MAME_DIR .. "src/mame/drivers/novag6502.cpp", MAME_DIR .. "src/mame/drivers/ssystem3.cpp", MAME_DIR .. "src/mame/includes/ssystem3.h", MAME_DIR .. "src/mame/video/ssystem3.cpp", - MAME_DIR .. "src/mame/drivers/supercon.cpp", } createMESSProjects(_target, _subtarget, "olivetti") diff --git a/src/mame/drivers/supercon.cpp b/src/mame/drivers/novag6502.cpp similarity index 89% rename from src/mame/drivers/supercon.cpp rename to src/mame/drivers/novag6502.cpp index 9ee51150fe8..6bb71e2e24d 100644 --- a/src/mame/drivers/supercon.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -2,8 +2,14 @@ // copyright-holders:hap /****************************************************************************** - Novag Super Constellation Chess Computer (model 844) + Novag generic 6502 based chess computer driver + + TODO: + - move other Novag sets here when applicable +------------------------------------------------------------------------------- + +Super Constellation Chess Computer (model 844): - UMC UM6502C @ 4 MHz (8MHz XTAL), 600Hz IRQ(source unknown?) - 2*2KB RAM TC5516APL-2 battery-backed, 2*32KB ROM custom label - TTL, buzzer, 24 LEDs, 8*8 chessboard buttons @@ -20,10 +26,10 @@ #include "supercon.lh" -class supercon_state : public driver_device +class novag6502_state : public driver_device { public: - supercon_state(const machine_config &mconfig, device_type type, const char *tag) + novag6502_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_beeper(*this, "beeper"), @@ -79,7 +85,7 @@ protected: // machine start/reset -void supercon_state::machine_start() +void novag6502_state::machine_start() { // zerofill memset(m_display_state, 0, sizeof(m_display_state)); @@ -106,7 +112,7 @@ void supercon_state::machine_start() save_item(NAME(m_led_data)); } -void supercon_state::machine_reset() +void novag6502_state::machine_reset() { } @@ -121,7 +127,7 @@ void supercon_state::machine_reset() // The device may strobe the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -void supercon_state::display_update() +void novag6502_state::display_update() { UINT32 active_state[0x20]; @@ -174,7 +180,7 @@ void supercon_state::display_update() memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(supercon_state::display_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(novag6502_state::display_decay_tick) { // slowly turn off unpowered segments for (int y = 0; y < m_display_maxy; y++) @@ -185,13 +191,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(supercon_state::display_decay_tick) display_update(); } -void supercon_state::set_display_size(int maxx, int maxy) +void novag6502_state::set_display_size(int maxx, int maxy) { m_display_maxx = maxx; m_display_maxy = maxy; } -void supercon_state::set_display_segmask(UINT32 digits, UINT32 mask) +void novag6502_state::set_display_segmask(UINT32 digits, UINT32 mask) { // set a segment mask per selected digit, but leave unselected ones alone for (int i = 0; i < 0x20; i++) @@ -202,7 +208,7 @@ void supercon_state::set_display_segmask(UINT32 digits, UINT32 mask) } } -void supercon_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update) +void novag6502_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety, bool update) { set_display_size(maxx, maxy); @@ -217,7 +223,7 @@ void supercon_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety // generic input handlers -UINT16 supercon_state::read_inputs(int columns) +UINT16 novag6502_state::read_inputs(int columns) { UINT16 ret = 0; @@ -233,22 +239,22 @@ UINT16 supercon_state::read_inputs(int columns) /* Address maps */ -WRITE8_MEMBER(supercon_state::supercon_1c_w) +WRITE8_MEMBER(novag6502_state::supercon_1c_w) { } -WRITE8_MEMBER(supercon_state::supercon_1d_w) +WRITE8_MEMBER(novag6502_state::supercon_1d_w) { } -WRITE8_MEMBER(supercon_state::supercon_1e_w) +WRITE8_MEMBER(novag6502_state::supercon_1e_w) { // d0-d7: input mux, led data m_inp_mux = m_led_data = data; display_matrix(8, 3, m_led_data, m_led_select); } -WRITE8_MEMBER(supercon_state::supercon_1f_w) +WRITE8_MEMBER(novag6502_state::supercon_1f_w) { // d4-d6: select led row m_led_select = data >> 4 & 7; @@ -259,23 +265,23 @@ WRITE8_MEMBER(supercon_state::supercon_1f_w) } -READ8_MEMBER(supercon_state::supercon_1c_r) +READ8_MEMBER(novag6502_state::supercon_1c_r) { return 0xff; } -READ8_MEMBER(supercon_state::supercon_1d_r) +READ8_MEMBER(novag6502_state::supercon_1d_r) { return 0xff; } -READ8_MEMBER(supercon_state::supercon_1e_r) +READ8_MEMBER(novag6502_state::supercon_1e_r) { // d6,d7: multiplexed inputs (side panel) return (read_inputs(8) >> 2 & 0xc0) ^ 0xff; } -READ8_MEMBER(supercon_state::supercon_1f_r) +READ8_MEMBER(novag6502_state::supercon_1f_r) { // d0-d7: multiplexed inputs (chessboard squares) return ~read_inputs(8) & 0xff; @@ -284,7 +290,7 @@ READ8_MEMBER(supercon_state::supercon_1f_r) -static ADDRESS_MAP_START( supercon_mem, AS_PROGRAM, 8, supercon_state ) +static ADDRESS_MAP_START( supercon_mem, AS_PROGRAM, 8, novag6502_state ) AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram") AM_RANGE(0x1c00, 0x1c00) AM_READWRITE(supercon_1c_r, supercon_1c_w) AM_RANGE(0x1d00, 0x1d00) AM_READWRITE(supercon_1d_r, supercon_1d_w) @@ -398,16 +404,16 @@ INPUT_PORTS_END /* Machine driver */ -static MACHINE_CONFIG_START( supercon, supercon_state ) +static MACHINE_CONFIG_START( supercon, novag6502_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M6502, XTAL_8MHz/2) - MCFG_CPU_PERIODIC_INT_DRIVER(supercon_state, irq0_line_hold, 600) // guessed + MCFG_CPU_PERIODIC_INT_DRIVER(novag6502_state, irq0_line_hold, 600) // guessed MCFG_CPU_PROGRAM_MAP(supercon_mem) MCFG_NVRAM_ADD_0FILL("nvram") - MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", supercon_state, display_decay_tick, attotime::from_msec(1)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", novag6502_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_supercon) /* sound hardware */ diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 94ae3cf2bd7..3f8095b579e 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -28448,6 +28448,9 @@ pkunwarj // UPL-????? (c) 1985 (Arcade Game TV List - P.9 raiders5 // UPL-85004 (c) 1985 raiders5t // UPL-85004 (c) 1985 Taito license +@source:novag6502.cpp +supercon // + @source:nsm.cpp firebird // @@ -33606,9 +33609,6 @@ superchsj // D46 (c) 1992 Taito Corporation (Japan) superchsp // prototype superchsu // D46 (c) 1992 Taito America Corporation (US) -@source:supercon.cpp -supercon // - @source:supercrd.cpp fruitstr // (c) 1992 Fun World supercrd // (c) 1992 Fun World diff --git a/src/mame/mess.flt b/src/mame/mess.flt index d79069a97f2..93b0531b119 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -376,6 +376,7 @@ ngen.cpp ngp.cpp nokia_3310.cpp notetaker.cpp +novag6502.cpp ob68k1a.cpp octopus.cpp odyssey2.cpp @@ -542,7 +543,6 @@ sun3.cpp sun4.cpp super6.cpp super80.cpp -supercon.cpp superslave.cpp supracan.cpp sv8000.cpp