New machines marked as NOT_WORKING

----------------------------------
unknown game on FR004 hardware (set 1) [Jorge Silva]
unknown game on FR009 hardware [Jorge Silva]

New clones marked as NOT_WORKING
--------------------------------
unknown game on FR004 hardware (set 2) [Jorge Silva]
unknown game on FR004 hardware (set 3) [Jorge Silva]
unknown game on FR004 hardware (set 4) [Jorge Silva]
This commit is contained in:
Ivan Vangelista 2022-02-17 18:17:36 +01:00
parent 6387183664
commit dff9fb40a9
6 changed files with 316 additions and 14 deletions

View File

@ -3280,6 +3280,13 @@ files {
MAME_DIR .. "src/mame/video/quizpani.cpp",
}
createMAMEProjects(_target, _subtarget, "novadesitec")
files {
MAME_DIR .. "src/mame/drivers/novadesitec_fr002.cpp",
MAME_DIR .. "src/mame/drivers/novadesitec_fr004.cpp",
MAME_DIR .. "src/mame/drivers/novadesitec_fr009.cpp",
}
createMAMEProjects(_target, _subtarget, "olympia")
files {
MAME_DIR .. "src/mame/drivers/dday.cpp",
@ -5042,7 +5049,6 @@ files {
MAME_DIR .. "src/mame/includes/norautp.h",
MAME_DIR .. "src/mame/audio/norautp.cpp",
MAME_DIR .. "src/mame/drivers/notechan.cpp",
MAME_DIR .. "src/mame/drivers/novadesitec.cpp",
MAME_DIR .. "src/mame/drivers/nsg6809.cpp",
MAME_DIR .. "src/mame/drivers/nsmpoker.cpp",
MAME_DIR .. "src/mame/drivers/odyssey.cpp",

View File

@ -921,7 +921,9 @@ nmkmedal.cpp
norautp.cpp
notechan.cpp
nova2001.cpp
novadesitec.cpp
novadesitec_fr002.cpp
novadesitec_fr004.cpp
novadesitec_fr009.cpp
nsg6809.cpp
nsm.cpp
nsmpoker.cpp

View File

@ -26,15 +26,15 @@ Not much can be done until the MCU is somehow dumped.
namespace {
class novadesitec_state : public driver_device
class novadesitec_fr002_state : public driver_device
{
public:
novadesitec_state(const machine_config &mconfig, device_type type, const char *tag) :
novadesitec_fr002_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
void novadesitec(machine_config &config);
void fr002(machine_config &config);
private:
required_device<cpu_device> m_maincpu;
@ -44,17 +44,17 @@ private:
void main_map(address_map &map);
};
uint32_t novadesitec_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
uint32_t novadesitec_fr002_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void novadesitec_state::main_map(address_map &map)
void novadesitec_fr002_state::main_map(address_map &map)
{
}
static INPUT_PORTS_START( novadesitec )
static INPUT_PORTS_START( fr002 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -87,11 +87,11 @@ static INPUT_PORTS_START( novadesitec )
INPUT_PORTS_END
void novadesitec_state::novadesitec(machine_config &config)
void novadesitec_fr002_state::fr002(machine_config &config)
{
// basic machine hardware
F2MC16(config, m_maincpu, 16_MHz_XTAL); // actually MB90F533A
m_maincpu->set_addrmap(AS_PROGRAM, &novadesitec_state::main_map);
m_maincpu->set_addrmap(AS_PROGRAM, &novadesitec_fr002_state::main_map);
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO: all wrong
@ -99,7 +99,7 @@ void novadesitec_state::novadesitec(machine_config &config)
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update(FUNC(novadesitec_state::screen_update));
screen.set_screen_update(FUNC(novadesitec_fr002_state::screen_update));
// sound hardware
SPEAKER(config, "mono").front_center(); // TODO: verify if stereo
@ -139,5 +139,5 @@ ROM_END
} // anonymous namespace
GAME( 200?, clrmatch, 0, novadesitec, novadesitec, novadesitec_state, empty_init, ROT0, "Nova Desitec", "Color Match", MACHINE_IS_SKELETON )
GAME( 200?, sportmem, 0, novadesitec, novadesitec, novadesitec_state, empty_init, ROT0, "Nova Desitec", "Sport Memory", MACHINE_IS_SKELETON )
GAME( 200?, clrmatch, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Color Match", MACHINE_IS_SKELETON )
GAME( 200?, sportmem, 0, fr002, fr002, novadesitec_fr002_state, empty_init, ROT0, "Nova Desitec", "Sport Memory", MACHINE_IS_SKELETON )

View File

@ -0,0 +1,163 @@
// license:BSD-3-Clause
// copyright-holders:
/*
Hardware notes:
PCB named FR004C
main readable components:
HD64F2318TE25 MCU (H8S/2318 core with 256 Kbytes internal ROM) (under FR004C-FLS riser board)
50.000 MHz XTAL
Altera Acex EP1K30TC144-3N FPGA
Altera EPM3032ALC44-10N CPLD
Oki M6376 sound chip
RS232, VGA and parallel ports
2x 8-dip banks
Not much can be done until the MCU is somehow dumped.
*/
#include "emu.h"
#include "cpu/h8/h8s2320.h"
#include "sound/okim6376.h"
#include "screen.h"
#include "speaker.h"
namespace {
class novadesitec_fr004_state : public driver_device
{
public:
novadesitec_fr004_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
void fr004(machine_config &config);
private:
required_device<cpu_device> m_maincpu;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void main_map(address_map &map);
};
uint32_t novadesitec_fr004_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void novadesitec_fr004_state::main_map(address_map &map)
{
}
static INPUT_PORTS_START( fr004 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW1")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW1:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW1:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW1:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW1:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW1:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW1:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW1:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW1:8")
PORT_START("DSW2")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW2:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW2:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW2:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW2:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW2:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW2:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW2:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW2:8")
INPUT_PORTS_END
void novadesitec_fr004_state::fr004(machine_config &config)
{
// basic machine hardware
H8S2328(config, m_maincpu, 50_MHz_XTAL); // actually H8S2318, divisor?
m_maincpu->set_addrmap(AS_PROGRAM, &novadesitec_fr004_state::main_map);
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO: all wrong
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update(FUNC(novadesitec_fr004_state::screen_update));
// sound hardware
SPEAKER(config, "mono").front_center();
OKIM6376(config, "oki", 50_MHz_XTAL / 50).add_route(ALL_OUTPUTS, "mono", 0.75); // divisor unknown
}
ROM_START( unkfr004 )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "hd64f2318te25.u38", 0x00000, 0x40000, NO_DUMP ) // internal ROM
ROM_REGION( 0x1000012, "flash", 0 ) // on riser board
ROM_LOAD( "js28f128.u2", 0x0000000, 0x1000012, CRC(ae4c8ce2) SHA1(9f9579d7dea319f93799950c79bf67b470574d5a) ) // labeled ND0507-1.16.01.02.PT.WO.G EN.SE.B20-2.26.04
ROM_REGION( 0x80000, "oki", 0 )
ROM_LOAD( "hii 5.u5", 0x00000, 0x80000, CRC(676c6767) SHA1(682cc45b9ffae55136a262082a550cfa61ab3352) )
ROM_END
ROM_START( unkfr004a ) // same flash but different Oki ROM
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "hd64f2318te25.u38", 0x00000, 0x40000, NO_DUMP ) // internal ROM
ROM_REGION( 0x1000012, "flash", 0 ) // on riser board
ROM_LOAD( "js28f128.u2", 0x0000000, 0x1000012, CRC(ae4c8ce2) SHA1(9f9579d7dea319f93799950c79bf67b470574d5a) ) // labeled ND0507-1.16.01.02.PT.WO.G EN.SE.B20-2.26.04
ROM_REGION( 0x80000, "oki", 0 )
ROM_LOAD( "u5", 0x00000, 0x80000, CRC(0704e5ef) SHA1(d759f5b79d4f661cf008d4b6955fddb4774a598f) )
ROM_END
ROM_START( unkfr004b ) // same flash but different Oki ROM
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "hd64f2318te25.u38", 0x00000, 0x40000, NO_DUMP ) // internal ROM
ROM_REGION( 0x1000012, "flash", 0 ) // on riser board
ROM_LOAD( "te28f128.u2", 0x0000000, 0x1000012, CRC(127abb20) SHA1(fb38e90fc694cec38383ba0cc373e800e7bed2f5) ) // labeled ND0507-1.1X.21.00.PT.BR.BR L.NS.C20-2.24.04 (X is unreadable)
ROM_REGION( 0x80000, "oki", 0 )
ROM_LOAD( "u5", 0x00000, 0x80000, CRC(0704e5ef) SHA1(d759f5b79d4f661cf008d4b6955fddb4774a598f) ) // same as unkfr004a
ROM_END
ROM_START( unkfr004c ) // same flash but different Oki ROM
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "hd64f2318te25.u38", 0x00000, 0x40000, NO_DUMP ) // internal ROM
ROM_REGION( 0x1000012, "flash", 0 ) // on riser board
ROM_LOAD( "js28f128.u2", 0x0000000, 0x1000012, CRC(d2583982) SHA1(76c1da870a6940396ddb89aeae2687588c7e2ba2) ) // labeled ND0516-1.06.01.00.PT.WO.GEN.SE.B20 DN-2.25.04
ROM_REGION( 0x80000, "oki", 0 )
ROM_LOAD( "hii 5.u5", 0x00000, 0x80000, CRC(676c6767) SHA1(682cc45b9ffae55136a262082a550cfa61ab3352) ) // same as unkfr004
ROM_END
} // anonymous namespace
GAME( 200?, unkfr004, 0, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 1)", MACHINE_IS_SKELETON ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM)
GAME( 200?, unkfr004a, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 2)", MACHINE_IS_SKELETON )
GAME( 200?, unkfr004b, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 3)", MACHINE_IS_SKELETON )
GAME( 200?, unkfr004c, unkfr004, fr004, fr004, novadesitec_fr004_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR004 hardware (set 4)", MACHINE_IS_SKELETON ) // possibly Halloween II (wild guesswork due to HII label on Oki ROM)

View File

@ -0,0 +1,122 @@
// license:BSD-3-Clause
// copyright-holders:
/*
Hardware notes:
PCB named FR009D
main readable components:
HD64F2318TE25 MCU (H8S/2318 core with 256 Kbytes internal ROM)
32.00 MHz XTAL
Altera Acex EP1K10TC144-3 FPGA
Altera EPM3032ALC44-1 CPLD
2x CY7C109B SRAMs
ST3232C RS232 driver
2x 8-dip banks
Not much can be done until the MCU is somehow dumped.
*/
#include "emu.h"
#include "cpu/h8/h8s2320.h"
#include "screen.h"
#include "speaker.h"
namespace {
class novadesitec_fr009_state : public driver_device
{
public:
novadesitec_fr009_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
void fr009(machine_config &config);
private:
required_device<cpu_device> m_maincpu;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void main_map(address_map &map);
};
uint32_t novadesitec_fr009_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
void novadesitec_fr009_state::main_map(address_map &map)
{
}
static INPUT_PORTS_START( fr009 )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW1")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW1:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW1:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW1:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW1:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW1:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW1:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW1:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW1:8")
PORT_START("DSW2")
PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "DSW2:1")
PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "DSW2:2")
PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "DSW2:3")
PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "DSW2:4")
PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "DSW2:5")
PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "DSW2:6")
PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "DSW2:7")
PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "DSW2:8")
INPUT_PORTS_END
void novadesitec_fr009_state::fr009(machine_config &config)
{
// basic machine hardware
H8S2328(config, m_maincpu, 32_MHz_XTAL); // actually H8S2318, divisor?
m_maincpu->set_addrmap(AS_PROGRAM, &novadesitec_fr009_state::main_map);
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // TODO: all wrong
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update(FUNC(novadesitec_fr009_state::screen_update));
// sound hardware
// TODO: no sound chip?
SPEAKER(config, "mono").front_center();
}
ROM_START( unkfr009 )
ROM_REGION( 0x40000, "maincpu", 0 )
ROM_LOAD( "hd64f2318te25_1e4.u10", 0x00000, 0x40000, NO_DUMP ) // internal ROM
ROM_REGION( 0x400100, "flash", 0 )
ROM_LOAD( "s29gl032m11tair4_tsop48.u11", 0x000000, 0x400100, CRC(9775eeee) SHA1(a6155186fe3f4a693f06ef12c1803a4473fc069c) ) // 1xxxxxxxxxxxxxxxxxxxxxx = 0xFF
ROM_END
} // anonymous namespace
GAME( 200?, unkfr009, 0, fr009, fr009, novadesitec_fr009_state, empty_init, ROT0, "Nova Desitec", "unknown game on FR009 hardware", MACHINE_IS_SKELETON ) // possibly Super Color II (wild guesswork due to SC II barely readable on a label)

View File

@ -33562,10 +33562,19 @@ raiders5 // UPL-85004 (c) 1985
raiders5t // UPL-85004 (c) 1985 Taito license
raiders5ta //
@source:novadesitec.cpp
@source:novadesitec_fr002.cpp
clrmatch
sportmem
@source:novadesitec_fr004.cpp
unkfr004
unkfr004a
unkfr004b
unkfr004c
@source:novadesitec_fr009.cpp
unkfr009
@source:novag_cexpert.cpp
cexpert