mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
(MESS) hunter2 : added rtc and speaker
This commit is contained in:
parent
1e96f75bbc
commit
372673b454
@ -11,7 +11,9 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
#include "video/hd61830.h"
|
#include "video/hd61830.h"
|
||||||
|
#include "machine/mm58274c.h"
|
||||||
#include "rendlay.h"
|
#include "rendlay.h"
|
||||||
|
#include "sound/speaker.h"
|
||||||
|
|
||||||
class hunter2_state : public driver_device
|
class hunter2_state : public driver_device
|
||||||
{
|
{
|
||||||
@ -19,15 +21,18 @@ public:
|
|||||||
hunter2_state(const machine_config &mconfig, device_type type, const char *tag)
|
hunter2_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_speaker(*this, "speaker")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
DECLARE_DRIVER_INIT(hunter2);
|
DECLARE_WRITE8_MEMBER(port86_w);
|
||||||
DECLARE_WRITE8_MEMBER(porte0_w);
|
DECLARE_WRITE8_MEMBER(porte0_w);
|
||||||
DECLARE_PALETTE_INIT(hunter2);
|
DECLARE_PALETTE_INIT(hunter2);
|
||||||
|
DECLARE_DRIVER_INIT(hunter2);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
|
required_device<speaker_sound_device> m_speaker;
|
||||||
};
|
};
|
||||||
|
|
||||||
static ADDRESS_MAP_START(hunter2_mem, AS_PROGRAM, 8, hunter2_state)
|
static ADDRESS_MAP_START(hunter2_mem, AS_PROGRAM, 8, hunter2_state)
|
||||||
@ -44,6 +49,8 @@ static ADDRESS_MAP_START(hunter2_io, AS_IO, 8, hunter2_state)
|
|||||||
AM_RANGE(0x20, 0x20) AM_DEVWRITE("lcdc", hd61830_device, data_w)
|
AM_RANGE(0x20, 0x20) AM_DEVWRITE("lcdc", hd61830_device, data_w)
|
||||||
AM_RANGE(0x21, 0x21) AM_DEVREADWRITE("lcdc", hd61830_device, status_r, control_w)
|
AM_RANGE(0x21, 0x21) AM_DEVREADWRITE("lcdc", hd61830_device, status_r, control_w)
|
||||||
AM_RANGE(0x3e, 0x3e) AM_DEVREAD("lcdc", hd61830_device, data_r)
|
AM_RANGE(0x3e, 0x3e) AM_DEVREAD("lcdc", hd61830_device, data_r)
|
||||||
|
AM_RANGE(0x40, 0x4f) AM_DEVREADWRITE("rtc", mm58274c_device, read, write)
|
||||||
|
AM_RANGE(0x86, 0x86) AM_WRITE(port86_w)
|
||||||
AM_RANGE(0xe0, 0xe0) AM_WRITE(porte0_w)
|
AM_RANGE(0xe0, 0xe0) AM_WRITE(porte0_w)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
@ -52,6 +59,14 @@ ADDRESS_MAP_END
|
|||||||
static INPUT_PORTS_START( hunter2 )
|
static INPUT_PORTS_START( hunter2 )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
WRITE8_MEMBER( hunter2_state::port86_w )
|
||||||
|
{
|
||||||
|
m_speaker->level_w(BIT(data, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
data bank0 bank1 bank2
|
data bank0 bank1 bank2
|
||||||
00 00 01 02
|
00 00 01 02
|
||||||
@ -122,6 +137,17 @@ PALETTE_INIT_MEMBER(hunter2_state, hunter2)
|
|||||||
palette.set_pen_color(1, rgb_t(92, 83, 88));
|
palette.set_pen_color(1, rgb_t(92, 83, 88));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// mm58274c_interface rtc_intf
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
// this is all guess
|
||||||
|
static const mm58274c_interface rtc_intf =
|
||||||
|
{
|
||||||
|
0, /* mode 24*/
|
||||||
|
1 /* first day of week */
|
||||||
|
};
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( hunter2, hunter2_state )
|
static MACHINE_CONFIG_START( hunter2, hunter2_state )
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MCFG_CPU_ADD("maincpu", NSC800, 4000000)
|
MCFG_CPU_ADD("maincpu", NSC800, 4000000)
|
||||||
@ -138,6 +164,14 @@ static MACHINE_CONFIG_START( hunter2, hunter2_state )
|
|||||||
MCFG_PALETTE_ADD("palette", 2)
|
MCFG_PALETTE_ADD("palette", 2)
|
||||||
MCFG_PALETTE_INIT_OWNER(hunter2_state, hunter2)
|
MCFG_PALETTE_INIT_OWNER(hunter2_state, hunter2)
|
||||||
MCFG_DEVICE_ADD("lcdc", HD61830, XTAL_4_9152MHz/2/2) // unknown clock
|
MCFG_DEVICE_ADD("lcdc", HD61830, XTAL_4_9152MHz/2/2) // unknown clock
|
||||||
|
|
||||||
|
/* sound hardware */
|
||||||
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
|
||||||
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||||
|
|
||||||
|
/* Devices */
|
||||||
|
MCFG_MM58274C_ADD("rtc", rtc_intf)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
/* ROM definition */
|
/* ROM definition */
|
||||||
|
Loading…
Reference in New Issue
Block a user