mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
namcona1.cpp: Added msm6242 RTC and fixed eeprom type to X-Day 2 [Angelo Salese]
This commit is contained in:
parent
f753b43465
commit
1199a6716b
@ -567,14 +567,28 @@ static ADDRESS_MAP_START( namcona1_main_map, AS_PROGRAM, 16, namcona1_state )
|
||||
AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_SHARE("spriteram") /* spriteram */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
READ8_MEMBER(xday2_namcona2_state::printer_r)
|
||||
{
|
||||
// --xx ---- printer status related, if bit 5 held 1 long enough causes printer error
|
||||
// ---- --11 battery ok, any other setting causes ng
|
||||
return 3;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( namcona2_main_map, AS_PROGRAM, 16, namcona1_state )
|
||||
WRITE8_MEMBER(xday2_namcona2_state::printer_w)
|
||||
{
|
||||
// ...
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( xday2_main_map, AS_PROGRAM, 16, xday2_namcona2_state )
|
||||
AM_IMPORT_FROM(namcona1_main_map)
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP /* xday: serial out? */
|
||||
AM_RANGE(0xd40000, 0xd40001) AM_WRITENOP /* xday: serial out? */
|
||||
AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP /* xday: serial out? */
|
||||
AM_RANGE(0xdc0000, 0xdc001f) AM_WRITENOP /* xday: serial config? */
|
||||
/* xday: additional battery-backed ram at 00E024FA? */
|
||||
// these two seems lamps and flash related (mux too?)
|
||||
AM_RANGE(0xd00000, 0xd00001) AM_WRITENOP
|
||||
AM_RANGE(0xd40000, 0xd40001) AM_WRITENOP
|
||||
AM_RANGE(0xd80000, 0xd80001) AM_READWRITE8(printer_r,printer_w,0x00ff) /* xday: serial out? */
|
||||
AM_RANGE(0xdc0000, 0xdc001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write,0x00ff) /* RTC device */
|
||||
|
||||
// seems bigger than standard na1 (otherwise you won't get proper ranking defaults)
|
||||
AM_RANGE(0xe00000, 0xe03fff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0x00ff)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -981,14 +995,25 @@ MACHINE_CONFIG_END
|
||||
MACHINE_CONFIG_DERIVED(namcona2_state::namcona2, namcona1)
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(namcona2_main_map)
|
||||
// MCFG_CPU_MODIFY("maincpu")
|
||||
// MCFG_CPU_PROGRAM_MAP(namcona2_main_map)
|
||||
|
||||
MCFG_CPU_REPLACE("mcu", NAMCO_C70, MASTER_CLOCK/4)
|
||||
MCFG_CPU_PROGRAM_MAP(namcona1_mcu_map)
|
||||
MCFG_CPU_IO_MAP( namcona1_mcu_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_DERIVED(xday2_namcona2_state::xday2, namcona2)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(xday2_main_map)
|
||||
|
||||
MCFG_DEVICE_REMOVE("eeprom")
|
||||
MCFG_EEPROM_2864_ADD("eeprom")
|
||||
|
||||
// TODO: unknown sub type
|
||||
MCFG_DEVICE_ADD("rtc", MSM6242, XTAL(32'768))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* NA-1 Hardware */
|
||||
DRIVER_INIT_MEMBER(namcona1_state,bkrtmaq) { m_gametype = NAMCO_BKRTMAQ; }
|
||||
DRIVER_INIT_MEMBER(namcona1_state,cgangpzl) { m_gametype = NAMCO_CGANGPZL; }
|
||||
@ -1369,4 +1394,4 @@ GAME( 1993, emeralda, 0, namcona2, namcona1_joy, namcona2_state, emer
|
||||
GAME( 1993, numanath, 0, namcona2, namcona1_joy, namcona2_state, numanath, ROT0, "Namco", "Numan Athletics (World)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||
GAME( 1993, numanathj, numanath, namcona2, namcona1_joy, namcona2_state, numanath, ROT0, "Namco", "Numan Athletics (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||
GAME( 1993, quiztou, 0, namcona2, namcona1_quiz, namcona2_state, quiztou, ROT0, "Namco", "Nettou! Gekitou! Quiztou!! (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||
GAME( 1995, xday2, 0, namcona2, namcona1_joy, xday2_namcona2_state, xday2, ROT0, "Namco", "X-Day 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||
GAME( 1995, xday2, 0, xday2, namcona1_joy, xday2_namcona2_state, xday2, ROT0, "Namco", "X-Day 2 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
#include "machine/eeprompar.h"
|
||||
#include "machine/timer.h"
|
||||
#include "machine/msm6242.h"
|
||||
#include "sound/c140.h"
|
||||
#include "screen.h"
|
||||
|
||||
@ -179,10 +180,17 @@ class xday2_namcona2_state : public namcona2_state
|
||||
{
|
||||
public:
|
||||
xday2_namcona2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: namcona2_state(mconfig, type, tag)
|
||||
: namcona2_state(mconfig, type, tag),
|
||||
m_rtc(*this, "rtc")
|
||||
{}
|
||||
|
||||
static constexpr feature_type unemulated_features() { return feature::PRINTER; }
|
||||
|
||||
required_device <msm6242_device> m_rtc;
|
||||
|
||||
DECLARE_READ8_MEMBER(printer_r);
|
||||
DECLARE_WRITE8_MEMBER(printer_w);
|
||||
|
||||
DECLARE_DRIVER_INIT(xday2);
|
||||
void xday2(machine_config &config);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user