mirror of
https://github.com/holub/mame
synced 2025-06-07 05:13:46 +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")
|
createMESSProjects(_target, _subtarget, "sharp")
|
||||||
files {
|
files {
|
||||||
|
MAME_DIR .. "src/mess/drivers/hh_sm510.c",
|
||||||
MAME_DIR .. "src/mess/video/mz700.c",
|
MAME_DIR .. "src/mess/video/mz700.c",
|
||||||
MAME_DIR .. "src/mess/drivers/mz700.c",
|
MAME_DIR .. "src/mess/drivers/mz700.c",
|
||||||
MAME_DIR .. "src/mess/drivers/pc1500.c",
|
MAME_DIR .. "src/mess/drivers/pc1500.c",
|
||||||
|
@ -21,7 +21,10 @@ const device_type SM510 = &device_creator<sm510_device>;
|
|||||||
|
|
||||||
// internal memory maps
|
// internal memory maps
|
||||||
static ADDRESS_MAP_START(program_2_7k, AS_PROGRAM, 8, sm510_base_device)
|
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
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
@ -87,20 +90,22 @@ void sm510_base_device::device_start()
|
|||||||
|
|
||||||
// zerofill
|
// zerofill
|
||||||
memset(m_stack, 0, sizeof(m_stack));
|
memset(m_stack, 0, sizeof(m_stack));
|
||||||
m_op = 0;
|
|
||||||
m_prev_op = 0;
|
|
||||||
m_pc = 0;
|
m_pc = 0;
|
||||||
m_prev_pc = 0;
|
m_prev_pc = 0;
|
||||||
|
m_op = 0;
|
||||||
|
m_prev_op = 0;
|
||||||
|
m_param = 0;
|
||||||
m_acc = 0;
|
m_acc = 0;
|
||||||
m_bl = 0;
|
m_bl = 0;
|
||||||
m_bm = 0;
|
m_bm = 0;
|
||||||
|
|
||||||
// register for savestates
|
// register for savestates
|
||||||
save_item(NAME(m_stack));
|
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_pc));
|
||||||
save_item(NAME(m_prev_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_acc));
|
||||||
save_item(NAME(m_bl));
|
save_item(NAME(m_bl));
|
||||||
save_item(NAME(m_bm));
|
save_item(NAME(m_bm));
|
||||||
|
@ -67,10 +67,10 @@ protected:
|
|||||||
int m_prgmask;
|
int m_prgmask;
|
||||||
int m_datamask;
|
int m_datamask;
|
||||||
|
|
||||||
UINT16 m_prev_pc;
|
|
||||||
UINT16 m_pc;
|
UINT16 m_pc;
|
||||||
UINT8 m_prev_op;
|
UINT16 m_prev_pc;
|
||||||
UINT8 m_op;
|
UINT8 m_op;
|
||||||
|
UINT8 m_prev_op;
|
||||||
UINT8 m_param;
|
UINT8 m_param;
|
||||||
int m_stack_levels;
|
int m_stack_levels;
|
||||||
UINT16 m_stack[2];
|
UINT16 m_stack[2];
|
||||||
|
@ -2187,6 +2187,9 @@ cfrogger // Coleco
|
|||||||
// hh_pic16
|
// hh_pic16
|
||||||
maniac // Ideal
|
maniac // Ideal
|
||||||
|
|
||||||
|
// hh_sm510
|
||||||
|
ktopgun // Konami
|
||||||
|
|
||||||
// hh_tms1k
|
// hh_tms1k
|
||||||
mathmagi // APF
|
mathmagi // APF
|
||||||
amaztron // Coleco
|
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