New systems marked not working

------------------------------
Ganso Janken Man [Darksoft, TeamEurope]
Hello Kitty no Oshiro e Iko [Darksoft, TeamEurope]
Itadaki Nyandora Kids [Darksoft, TeamEurope]
This commit is contained in:
Ivan Vangelista 2026-05-22 18:35:18 +02:00
parent 5d8dd014d9
commit 1e1581fcb8
4 changed files with 240 additions and 29 deletions

View File

@ -44225,6 +44225,7 @@ fc100
@source:skeleton/fdek_h8s.cpp @source:skeleton/fdek_h8s.cpp
battkids battkids
nyankids
sirekids sirekids
@source:skeleton/fk1.cpp @source:skeleton/fk1.cpp
@ -44278,6 +44279,9 @@ hazl1552
@source:skeleton/hazl1420.cpp @source:skeleton/hazl1420.cpp
hazl1420 hazl1420
@source:skeleton/hkcastle.cpp
hkcastle
@source:skeleton/hohnadam.cpp @source:skeleton/hohnadam.cpp
hohnadam hohnadam
@ -45566,6 +45570,7 @@ anoworld
jankenmn jankenmn
@source:sunwise/jankmg2.cpp @source:sunwise/jankmg2.cpp
jankmg
jankmg2 jankmg2
ppresent ppresent

View File

@ -4,30 +4,7 @@
/* /*
FDEK (Fujidenshi Kogyo) H8-based medal games FDEK (Fujidenshi Kogyo) H8-based medal games
Battle Kids (?) runs on Fuji Denshis (FDEK) Kids Series:
FDEK 07001A main PCB + FDEK 06001B CPU riser PCB
main components:
HDF2367VF33V main CPU with undumped internal ROM (on riser PCB)
16 MHz XTAL (on riser PCB)
TODO: square chip with XTAL on main PCB?
3 push buttons (reset, last, test)
--
Siren Kids runs on
FDEK 0002AB-2A-2 PCB (note that the 0002AB-2A part is on a sticker, so it may
cover the real PCB model)
HD6412240FA20(H8S/2240) main CPU
20AKSS5MT XTAL
CXK5864BSP-10L SRAM
YMZ280B-F
16CKSS4JI XTAL
3x bank of 8 switches (SW1-SW3)
test push-button
Siren Kids is part of Fuji Denshis (FDEK) Kids Series:
1 - - Circus Kids 1 - - Circus Kids
2 - - Deru Deru Kids 2 - - Deru Deru Kids
@ -56,8 +33,10 @@ These have different mechanics:
#include "emu.h" #include "emu.h"
#include "cpu/h8/h83337.h"
#include "cpu/h8/h8s2245.h" #include "cpu/h8/h8s2245.h"
#include "cpu/h8/h8s2357.h" #include "cpu/h8/h8s2357.h"
#include "cpu/h8500/h8520.h"
#include "sound/ymz280b.h" #include "sound/ymz280b.h"
#include "speaker.h" #include "speaker.h"
@ -73,6 +52,7 @@ public:
m_maincpu(*this, "maincpu") m_maincpu(*this, "maincpu")
{ } { }
void fdek_h83337(machine_config &config) ATTR_COLD;
void fdek_h8s2240(machine_config &config) ATTR_COLD; void fdek_h8s2240(machine_config &config) ATTR_COLD;
void fdek_h8s2367(machine_config &config) ATTR_COLD; void fdek_h8s2367(machine_config &config) ATTR_COLD;
@ -80,6 +60,7 @@ private:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
void battkids_program_map(address_map &map) ATTR_COLD; void battkids_program_map(address_map &map) ATTR_COLD;
void nyankids_program_map(address_map &map) ATTR_COLD;
void sirekids_program_map(address_map &map) ATTR_COLD; void sirekids_program_map(address_map &map) ATTR_COLD;
}; };
@ -101,6 +82,11 @@ void fdek_h8s_state::sirekids_program_map(address_map &map)
// map(0x600004, 0x600004).r // ? // map(0x600004, 0x600004).r // ?
} }
void fdek_h8s_state::nyankids_program_map(address_map &map)
{
map(0x0000, 0xffff).rom();
}
static INPUT_PORTS_START( battkids ) static INPUT_PORTS_START( battkids )
PORT_START("IN0") PORT_START("IN0")
@ -141,6 +127,19 @@ static INPUT_PORTS_START( battkids )
INPUT_PORTS_END INPUT_PORTS_END
void fdek_h8s_state::fdek_h83337(machine_config &config)
{
H83337(config, m_maincpu, 16_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &fdek_h8s_state::nyankids_program_map);
HD6475208(config, "subcpu", 20_MHz_XTAL / 2).set_disable(); // divider not verified, but chip rated for 10 MHz
// sound hardware
SPEAKER(config, "mono").front_center();
YMZ280B(config, "ymz", 16_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 1.0);
}
void fdek_h8s_state::fdek_h8s2240(machine_config &config) void fdek_h8s_state::fdek_h8s2240(machine_config &config)
{ {
H8S2241(config, m_maincpu, 20_MHz_XTAL); // TODO: wrong, should be 2240 H8S2241(config, m_maincpu, 20_MHz_XTAL); // TODO: wrong, should be 2240
@ -163,8 +162,18 @@ void fdek_h8s_state::fdek_h8s2367(machine_config &config)
} }
// believed to be Battle Kids cause it came with its manual /*
// reference video: https://www.youtube.com/watch?v=Mvth8x2z_H8 believed to be Battle Kids cause it came with its manual
reference video: https://www.youtube.com/watch?v=Mvth8x2z_H8
FDEK 07001A main PCB + FDEK 06001B CPU riser PCB
main components:
HDF2367VF33V main CPU with undumped internal ROM (on riser PCB)
16 MHz XTAL (on riser PCB)
TODO: square chip with XTAL on main PCB?
3 push buttons (reset, last, test)
*/
ROM_START( battkids ) ROM_START( battkids )
ROM_REGION( 0x60000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x60000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD( "internal", 0x00000, 0x60000, NO_DUMP ) ROM_LOAD( "internal", 0x00000, 0x60000, NO_DUMP )
@ -174,7 +183,20 @@ ROM_START( battkids )
ROM_LOAD( "fbk7-0000_00-2.rom1", 0x000000, 0x400000, CRC(71ec966a) SHA1(b21a6fd42084073b5b87ca5d10f4952881c0dfb7) ) // 1xxxxxxxxxxxxxxxxxxxxx = 0xFF ROM_LOAD( "fbk7-0000_00-2.rom1", 0x000000, 0x400000, CRC(71ec966a) SHA1(b21a6fd42084073b5b87ca5d10f4952881c0dfb7) ) // 1xxxxxxxxxxxxxxxxxxxxx = 0xFF
ROM_END ROM_END
// reference video: https://www.youtube.com/watch?v=gieP-b1uuus /*
reference video: https://www.youtube.com/watch?v=gieP-b1uuus
FDEK 0002AB-2A-2 PCB (note that the 0002AB-2A part is on a sticker, so it may
cover the real PCB model)
HD6412240FA20(H8S/2240) main CPU
20AKSS5MT XTAL
CXK5864BSP-10L SRAM
YMZ280B-F
16CKSS4JI XTAL
3x bank of 8 switches (SW1-SW3)
test push-button
*/
ROM_START( sirekids ) ROM_START( sirekids )
ROM_REGION( 0x20000, "maincpu", 0 ) ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "fbk5-000000-1.ic20", 0x00000, 0x20000, CRC(4c99dae7) SHA1(702b58cbb657718c0be0768afcc6e027bd6cd029) ) // 1xxxxxxxxxxxxxxxx = 0xFF ROM_LOAD( "fbk5-000000-1.ic20", 0x00000, 0x20000, CRC(4c99dae7) SHA1(702b58cbb657718c0be0768afcc6e027bd6cd029) ) // 1xxxxxxxxxxxxxxxx = 0xFF
@ -184,8 +206,37 @@ ROM_START( sirekids )
ROM_LOAD( "fbk5-000000-3.ic12", 0x100000, 0x100000, CRC(95924aee) SHA1(ff0ceb2a684b8450b6b4f62277ecb8297c120212) ) ROM_LOAD( "fbk5-000000-3.ic12", 0x100000, 0x100000, CRC(95924aee) SHA1(ff0ceb2a684b8450b6b4f62277ecb8297c120212) )
ROM_END ROM_END
/*
reference video: https://www.youtube.com/watch?v=eKAz_q5HOKc
FDEK 01001B PCB
HD64F3337CP16 (H8/3337) main CPU
16AKSS22ET XTAL
HD6475208P10 (H8/520) sub CPU
20AKSS20T XTAL
6264BLSBL RAM
YMZ280B-F
16CKSS1KT XTAL
3x bank of 8 switches (SW1-SW3)
on / test / off switch
*/
ROM_START( nyankids )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "internal.ic16", 0x00000, 0x0f000, NO_DUMP ) // used?
ROM_LOAD16_WORD_SWAP( "fck6-0200 02-1.ic15", 0x00000, 0x20000, CRC(d53c37a1) SHA1(ffa6fbc223293adca6bacb6053cfa370f5fe0b35) ) // 1xxxxxxxxxxxxxxxx = 0xFF
ROM_REGION( 0x4000, "subcpu", 0 )
ROM_LOAD( "internal.ic4", 0x0000, 0x4000, NO_DUMP )
ROM_REGION( 0x100000, "ymz", 0 )
ROM_LOAD( "fck6-0000 00-3.ic8", 0x00000, 0x80000, CRC(1c14708c) SHA1(4045a2b3571448264bc9d6b4cf790c951e26f88f) )
ROM_LOAD( "fck6-0000 00-4.ic10", 0x80000, 0x80000, CRC(95932314) SHA1(2878bbbe4521246d872aeb3566f28635e4bc0881) )
ROM_END
} // anonymous namespace } // anonymous namespace
GAME( 2006, sirekids, 0, fdek_h8s2240, battkids, fdek_h8s_state, empty_init, ROT0, "FDEK", "Siren Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL ) GAME( 2000, nyankids, 0, fdek_h83337, battkids, fdek_h8s_state, empty_init, ROT0, "FDEK", "Itadaki Nyandora Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL )
GAME( 2007, battkids, 0, fdek_h8s2367, battkids, fdek_h8s_state, empty_init, ROT0, "FDEK", "Battle Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL ) GAME( 2006, sirekids, 0, fdek_h8s2240, battkids, fdek_h8s_state, empty_init, ROT0, "FDEK", "Siren Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL )
GAME( 2007, battkids, 0, fdek_h8s2367, battkids, fdek_h8s_state, empty_init, ROT0, "FDEK", "Battle Kids", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL )

View File

@ -0,0 +1,145 @@
// license:BSD-3-Clause
// copyright-holders:
/*
(Hello Kitty no Oshiro e Ikō) (Lets Go to Hello Kittys Castle)
CPU-A PCB
Z0840004PSC CPU
4.0000 MHz XTAL
LH5116-15 RAM
NE555P
2x TMP82C265BF-10 PPI (datasheet describes one as almost equivalent to 2x 8255)
YM2413 OPL
OKI M6295 ADPCM
bank of 8 switches
4x connector
*/
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/i8255.h"
#include "sound/okim6295.h"
#include "sound/ymopl.h"
#include "screen.h"
#include "speaker.h"
namespace {
class hkcastle_state : public driver_device
{
public:
hkcastle_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
void hkcastle(machine_config &config) ATTR_COLD;
private:
required_device<cpu_device> m_maincpu;
void program_map(address_map &map) ATTR_COLD;
void io_map(address_map &map) ATTR_COLD;
};
void hkcastle_state::program_map(address_map &map)
{
map(0x0000, 0x9fff).rom();
map(0xd000, 0xd7ff).ram();
// map(0xf000, 0xf000).rw(); // IRQ ack?
}
void hkcastle_state::io_map(address_map &map)
{
map.unmap_value_high();
map.global_mask(0xff);
}
static INPUT_PORTS_START( hkcastle )
PORT_START("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coinage ) ) PORT_DIPLOCATION("DS1:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DS1:3,4")
PORT_DIPSETTING( 0x0c, "Level 1 (simplest)" )
PORT_DIPSETTING( 0x08, "Level 2" )
PORT_DIPSETTING( 0x04, "Level 3" )
PORT_DIPSETTING( 0x00, "Level 4 (most difficult)" )
PORT_DIPNAME( 0x10, 0x10, "Demo Mode" ) PORT_DIPLOCATION("DS1:5") // ゲームデモ ?
PORT_DIPSETTING( 0x10, "Demo List" ) // デモリ ?
PORT_DIPSETTING( 0x00, "Demo Screen" ) // デモナシ ?
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("DS1:6") // the following are unused according to the manual
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("DS1:7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("DS1:8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END
void hkcastle_state::hkcastle(machine_config &config)
{
Z80(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &hkcastle_state::program_map);
m_maincpu->set_addrmap(AS_IO, &hkcastle_state::io_map);
m_maincpu->set_periodic_int(FUNC(hkcastle_state::irq0_line_hold), attotime::from_hz(60*4)); // TODO: proper IRQs, possibly from the NE555?
I8255A(config, "ppi0.a"); // first TMP82C265BF-10
I8255A(config, "ppi0.b");
I8255A(config, "ppi1.a"); // second TMP82C265BF-10
I8255A(config, "ppi1.b");
SPEAKER(config, "mono").front_center();
YM2413(config, "ym", 4_MHz_XTAL).add_route(ALL_OUTPUTS, "mono", 0.5); // absence of divider not verified
OKIM6295(config, "oki", 4_MHz_XTAL / 4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.5); // divider and pin 7 not verified
}
ROM_START( hkcastle )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "hkaa.ic26", 0x00000, 0x10000, CRC(e76c28e1) SHA1(de1612ff3cfb361580174b0c6c6ab7ddca69851b) )
ROM_REGION( 0x40000, "oki", ROMREGION_ERASE00 )
ROM_LOAD( "am27c010.ic12", 0x00000, 0x20000, CRC(18d2feb1) SHA1(6e2f57c1deb188ea589b44bcc27bc59299bb7412) )
ROM_END
} // anonymous namespace
GAME( 1998, hkcastle, 0, hkcastle, hkcastle, hkcastle_state, empty_init, ROT0, "I'MAX", "Hello Kitty no Oshiro e Iko", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_MECHANICAL ) // date taken from the manual

View File

@ -153,6 +153,15 @@ void jankmg2_state::jankmg2(machine_config &config)
} }
ROM_START( jankmg )
ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "gjk1.u17", 0x0000, 0x4000, CRC(61f5656a) SHA1(67de8e9bcd305b8e19b46f788d5925b0eeb0c72b) )
ROM_REGION( 0x40000, "dac_data", 0 )
ROM_LOAD( "gjk2.u13", 0x00000, 0x40000, CRC(36f361ce) SHA1(03f74ac18e5a53ed57485f8d66158f2260437c78) )
// 3 more unpopulated ROM spaces at u14, u15 and u16
ROM_END
ROM_START( jankmg2 ) ROM_START( jankmg2 )
ROM_REGION( 0x4000, "maincpu", 0 ) ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "gjv1.1.p.u17", 0x0000, 0x4000, CRC(1aa201e7) SHA1(943dff75a46775dd12aed07659dff3d961a58211) ) ROM_LOAD( "gjv1.1.p.u17", 0x0000, 0x4000, CRC(1aa201e7) SHA1(943dff75a46775dd12aed07659dff3d961a58211) )
@ -174,5 +183,6 @@ ROM_END
} // anonymous namespace } // anonymous namespace
GAME( 1995, jankmg, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) // date according to manual
GAME( 199?, jankmg2, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man 2", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 199?, jankmg2, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man 2", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 199?, ppresent, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Pretty Present", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) GAME( 199?, ppresent, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Pretty Present", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )