added hh_sm510.c skeleton driver

This commit is contained in:
hap 2015-06-30 17:05:29 +02:00
parent 8cd014d3e6
commit ee8e7dd26b
5 changed files with 163 additions and 7 deletions

View File

@ -2113,6 +2113,7 @@ files {
createMESSProjects(_target, _subtarget, "sharp")
files {
MAME_DIR .. "src/mess/drivers/hh_sm510.c",
MAME_DIR .. "src/mess/video/mz700.c",
MAME_DIR .. "src/mess/drivers/mz700.c",
MAME_DIR .. "src/mess/drivers/pc1500.c",

View File

@ -21,7 +21,10 @@ const device_type SM510 = &device_creator<sm510_device>;
// internal memory maps
static ADDRESS_MAP_START(program_2_7k, AS_PROGRAM, 8, sm510_base_device)
AM_RANGE(0x0000, 0x0aff) AM_ROM
AM_RANGE(0x0000, 0x02af) AM_ROM
AM_RANGE(0x0400, 0x06af) AM_ROM
AM_RANGE(0x0800, 0x0aaf) AM_ROM
AM_RANGE(0x0c00, 0x0eaf) AM_ROM
ADDRESS_MAP_END
@ -87,20 +90,22 @@ void sm510_base_device::device_start()
// zerofill
memset(m_stack, 0, sizeof(m_stack));
m_op = 0;
m_prev_op = 0;
m_pc = 0;
m_prev_pc = 0;
m_op = 0;
m_prev_op = 0;
m_param = 0;
m_acc = 0;
m_bl = 0;
m_bm = 0;
// register for savestates
save_item(NAME(m_stack));
save_item(NAME(m_op));
save_item(NAME(m_prev_op));
save_item(NAME(m_pc));
save_item(NAME(m_prev_pc));
save_item(NAME(m_op));
save_item(NAME(m_prev_op));
save_item(NAME(m_param));
save_item(NAME(m_acc));
save_item(NAME(m_bl));
save_item(NAME(m_bm));

View File

@ -67,10 +67,10 @@ protected:
int m_prgmask;
int m_datamask;
UINT16 m_prev_pc;
UINT16 m_pc;
UINT8 m_prev_op;
UINT16 m_prev_pc;
UINT8 m_op;
UINT8 m_prev_op;
UINT8 m_param;
int m_stack_levels;
UINT16 m_stack[2];

View File

@ -2187,6 +2187,9 @@ cfrogger // Coleco
// hh_pic16
maniac // Ideal
// hh_sm510
ktopgun // Konami
// hh_tms1k
mathmagi // APF
amaztron // Coleco

147
src/mess/drivers/hh_sm510.c Normal file
View File

@ -0,0 +1,147 @@
// license:BSD-3-Clause
// copyright-holders:hap, Sean Riddle
/***************************************************************************
Sharp SM510 MCU x..
TODO:
- barnacles
***************************************************************************/
#include "emu.h"
#include "cpu/sm510/sm510.h"
#include "sound/speaker.h"
// internal artwork
//..
class hh_sm510_state : public driver_device
{
public:
hh_sm510_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_inp_matrix(*this, "IN"),
m_speaker(*this, "speaker")
{ }
// devices
required_device<cpu_device> m_maincpu;
optional_ioport_array<5> m_inp_matrix; // max 5
optional_device<speaker_sound_device> m_speaker;
// misc common
UINT16 m_inp_mux; // multiplexed inputs mask
UINT8 read_inputs(int columns);
// display common
//..
protected:
virtual void machine_start();
virtual void machine_reset();
};
// machine start/reset
void hh_sm510_state::machine_start()
{
// zerofill
m_inp_mux = 0;
// register for savestates
save_item(NAME(m_inp_mux));
}
void hh_sm510_state::machine_reset()
{
}
/***************************************************************************
Helper Functions
***************************************************************************/
UINT8 hh_sm510_state::read_inputs(int columns)
{
return 0;
}
/***************************************************************************
Minidrivers (subclass, I/O, Inputs, Machine Config)
***************************************************************************/
/***************************************************************************
Konami Top Gun
* x
***************************************************************************/
class ktopgun_state : public hh_sm510_state
{
public:
ktopgun_state(const machine_config &mconfig, device_type type, const char *tag)
: hh_sm510_state(mconfig, type, tag)
{ }
};
// handlers
//..
// config
static INPUT_PORTS_START( ktopgun )
INPUT_PORTS_END
static MACHINE_CONFIG_START( ktopgun, ktopgun_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", SM510, 10000)
/* no video! */
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/***************************************************************************
Game driver(s)
***************************************************************************/
ROM_START( ktopgun )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "topgun_die.bin", 0x0000, 0x1000, CRC(50870b35) SHA1(cda1260c2e1c180995eced04b7d7ff51616dcef5) )
ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
CONS( 1990, ktopgun, 0, 0, ktopgun, ktopgun, driver_device, 0, "Konami", "Top Gun (Konami)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )