mirror of
https://github.com/holub/mame
synced 2025-04-16 13:34:55 +03:00
added hh_sm510.c skeleton driver
This commit is contained in:
parent
8cd014d3e6
commit
ee8e7dd26b
@ -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",
|
||||
|
@ -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));
|
||||
|
@ -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];
|
||||
|
@ -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
147
src/mess/drivers/hh_sm510.c
Normal 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 )
|
Loading…
Reference in New Issue
Block a user