mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
supercon: start driver rewrite
This commit is contained in:
parent
46bb97d9b4
commit
efb7a27b18
@ -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( 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( 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, 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, 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( 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 )
|
CONS( 1982, mmerlin, 0, 0, mmerlin, mmerlin, driver_device, 0, "Parker Brothers", "Master Merlin", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||||
|
@ -1,25 +1,22 @@
|
|||||||
// license:BSD-3-Clause
|
// license:BSD-3-Clause
|
||||||
// copyright-holders:Robbbert
|
// copyright-holders:hap
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
Novag SuperConstellation Chess Computer
|
|
||||||
|
|
||||||
CPU 6502
|
Novag Super Constellation Chess Computer (model 844)
|
||||||
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
|
|
||||||
|
|
||||||
|
- 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 "emu.h"
|
||||||
#include "cpu/m6502/m6502.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
|
class supercon_state : public driver_device
|
||||||
@ -27,21 +24,18 @@ class supercon_state : public driver_device
|
|||||||
public:
|
public:
|
||||||
supercon_state(const machine_config &mconfig, device_type type, const char *tag)
|
supercon_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_maincpu(*this, "maincpu"),
|
m_maincpu(*this, "maincpu")
|
||||||
m_beep(*this, "beeper")
|
{ }
|
||||||
{ }
|
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<beep_device> m_beep;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAIN_CLOCK 4000000 /* 4 MHz */
|
|
||||||
/* Address maps */
|
/* Address maps */
|
||||||
|
|
||||||
static ADDRESS_MAP_START(supercon_mem, AS_PROGRAM, 8, supercon_state)
|
static ADDRESS_MAP_START(supercon_mem, AS_PROGRAM, 8, supercon_state)
|
||||||
AM_RANGE( 0x0000, 0x0fff) AM_RAM
|
AM_RANGE( 0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
|
||||||
AM_RANGE( 0x2000, 0x7fff) AM_ROM
|
AM_RANGE( 0x2000, 0xffff) AM_ROM
|
||||||
AM_RANGE( 0x8000, 0xffff) AM_ROM
|
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/* Input ports */
|
/* Input ports */
|
||||||
@ -50,27 +44,28 @@ static INPUT_PORTS_START( supercon )
|
|||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
/* Machine driver */
|
/* Machine driver */
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( supercon, supercon_state )
|
static MACHINE_CONFIG_START( supercon, supercon_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* 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)
|
MCFG_CPU_PROGRAM_MAP(supercon_mem)
|
||||||
|
|
||||||
/* sound hardware */
|
MCFG_NVRAM_ADD_0FILL("nvram")
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
|
||||||
MCFG_SOUND_ADD("beeper", BEEP, 3250)
|
MCFG_DEFAULT_LAYOUT(layout_supercon)
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
/* ROM definition */
|
/* ROM definition */
|
||||||
|
|
||||||
ROM_START(supercon)
|
ROM_START(supercon)
|
||||||
ROM_REGION(0x10000,"maincpu",0)
|
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||||
ROM_LOAD("supercon_low.bin", 0x0000, 0x8000, CRC(b853cf6e) SHA1(1a759072a5023b92c07f1fac01b7a21f7b5b45d0 ))
|
ROM_LOAD("novag_8441", 0x0000, 0x8000, CRC(b853cf6e) SHA1(1a759072a5023b92c07f1fac01b7a21f7b5b45d0) ) // label obscured by Q.C. sticker
|
||||||
ROM_LOAD("supercon_high.bin", 0x8000, 0x8000, CRC(c8f82331) SHA1(f7fd039f9a3344db9749931490ded9e9e309cfbe ))
|
ROM_LOAD("novag_8442", 0x8000, 0x8000, CRC(c8f82331) SHA1(f7fd039f9a3344db9749931490ded9e9e309cfbe) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/* Driver */
|
/* Driver */
|
||||||
|
|
||||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
/* 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 )
|
CONS( 1984, supercon, 0, 0, supercon, supercon, driver_device, 0, "Novag", "Super Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW )
|
||||||
|
20
src/mame/layout/supercon.lay
Normal file
20
src/mame/layout/supercon.lay
Normal 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>
|
Loading…
Reference in New Issue
Block a user