supercon: start driver rewrite

This commit is contained in:
hap 2016-03-08 12:51:38 +01:00
parent 46bb97d9b4
commit efb7a27b18
3 changed files with 48 additions and 33 deletions

View File

@ -5470,7 +5470,7 @@ CONS( 1979, bigtrak, 0, 0, bigtrak, bigtrak, driver_device, 0, "Mil
CONS( 1977, cnsector, 0, 0, cnsector, cnsector, driver_device, 0, "Parker Brothers", "Code Name: Sector", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) // ***
CONS( 1978, merlin, 0, 0, merlin, merlin, driver_device, 0, "Parker Brothers", "Merlin - The Electronic Wizard", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1979, stopthie, 0, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", MACHINE_SUPPORTS_SAVE ) // ***
CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // ***
CONS( 1980, bankshot, 0, 0, bankshot, bankshot, driver_device, 0, "Parker Brothers", "Bank Shot - Electronic Pool", MACHINE_SUPPORTS_SAVE )
CONS( 1980, splitsec, 0, 0, splitsec, splitsec, driver_device, 0, "Parker Brothers", "Split Second", MACHINE_SUPPORTS_SAVE )
CONS( 1982, mmerlin, 0, 0, mmerlin, mmerlin, driver_device, 0, "Parker Brothers", "Master Merlin", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -1,25 +1,22 @@
// license:BSD-3-Clause
// copyright-holders:Robbbert
// copyright-holders:hap
/******************************************************************************
Novag SuperConstellation Chess Computer
CPU 6502
Clock 4 MHz
IRQ CLK 600 Hz
RAM 0x0000, 0x0fff)
ROM 0x2000, 0xffff)
I/O 0x1c00 Unknown
0x1d00 Unknown
0x1e00 LED's and buttons
0x1f00 LED's, buttons and buzzer
Novag 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, 24 LEDs, 8*8 chessboard buttons
- external port for clock and printer, not emulated here
******************************************************************************/
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "sound/beep.h"
#include "machine/nvram.h"
// internal artwork
#include "supercon.lh"
class supercon_state : public driver_device
@ -27,21 +24,18 @@ class supercon_state : public driver_device
public:
supercon_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_beep(*this, "beeper")
{ }
m_maincpu(*this, "maincpu")
{ }
required_device<cpu_device> m_maincpu;
required_device<beep_device> m_beep;
};
#define MAIN_CLOCK 4000000 /* 4 MHz */
/* Address maps */
static ADDRESS_MAP_START(supercon_mem, AS_PROGRAM, 8, supercon_state)
AM_RANGE( 0x0000, 0x0fff) AM_RAM
AM_RANGE( 0x2000, 0x7fff) AM_ROM
AM_RANGE( 0x8000, 0xffff) AM_ROM
AM_RANGE( 0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x2000, 0xffff) AM_ROM
ADDRESS_MAP_END
/* Input ports */
@ -50,27 +44,28 @@ static INPUT_PORTS_START( supercon )
INPUT_PORTS_END
/* Machine driver */
static MACHINE_CONFIG_START( supercon, supercon_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu",M6502,MAIN_CLOCK)
MCFG_CPU_ADD("maincpu", M6502, XTAL_8MHz/2)
MCFG_CPU_PERIODIC_INT_DRIVER(supercon_state, irq0_line_hold, 600) // ?
MCFG_CPU_PROGRAM_MAP(supercon_mem)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper", BEEP, 3250)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_DEFAULT_LAYOUT(layout_supercon)
MACHINE_CONFIG_END
/* ROM definition */
ROM_START(supercon)
ROM_REGION(0x10000,"maincpu",0)
ROM_LOAD("supercon_low.bin", 0x0000, 0x8000, CRC(b853cf6e) SHA1(1a759072a5023b92c07f1fac01b7a21f7b5b45d0 ))
ROM_LOAD("supercon_high.bin", 0x8000, 0x8000, CRC(c8f82331) SHA1(f7fd039f9a3344db9749931490ded9e9e309cfbe ))
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("novag_8441", 0x0000, 0x8000, CRC(b853cf6e) SHA1(1a759072a5023b92c07f1fac01b7a21f7b5b45d0) ) // label obscured by Q.C. sticker
ROM_LOAD("novag_8442", 0x8000, 0x8000, CRC(c8f82331) SHA1(f7fd039f9a3344db9749931490ded9e9e309cfbe) )
ROM_END
/* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
CONS( 1983, supercon, 0, 0, supercon, supercon, driver_device, 0, "Novag", "SuperConstellation", MACHINE_IS_SKELETON )
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
CONS( 1984, supercon, 0, 0, supercon, supercon, driver_device, 0, "Novag", "Super Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )

View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="led" defstate="0">
<disk state="0"><color red="0.2" green="0.04" blue="0.046" /></disk>
<disk state="1"><color red="1.0" green="0.2" blue="0.23" /></disk>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="0" right="100" top="0" bottom="100" />
<bezel name="0.0" element="led"><bounds x="1" y="1" width="1" height="1" /></bezel>
</view>
</mamelayout>