sunwise/jankmg2.cpp: Add CTC, sound and output stubs

This commit is contained in:
AJR 2026-05-23 12:36:13 -04:00
parent dd4991f318
commit 2901f2b2d4

View File

@ -1,5 +1,5 @@
// license:BSD-3-Clause
// copyright-holders:
// copyright-holders:AJR
/*
Ganso Janken Man 2
@ -31,6 +31,7 @@ public:
jankmg2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_dacbank(*this, "dacbank")
{ }
void jankmg2(machine_config &config);
@ -40,6 +41,9 @@ protected:
private:
required_device<z80_device> m_maincpu;
required_memory_bank m_dacbank;
void dacbank_w(u8 data);
void program_map(address_map &map) ATTR_COLD;
void io_map(address_map &map) ATTR_COLD;
@ -48,19 +52,35 @@ private:
void jankmg2_state::machine_start()
{
m_dacbank->configure_entries(0, 8, memregion("dac_data")->base(), 0x8000);
m_dacbank->set_entry(0);
}
void jankmg2_state::dacbank_w(u8 data)
{
m_dacbank->set_entry(data & 0x07);
}
void jankmg2_state::program_map(address_map &map)
{
map(0x0000, 0x3fff).rom();
map(0x4000, 0x47ff).ram();
map(0x8000, 0xffff).bankr(m_dacbank);
}
void jankmg2_state::io_map(address_map &map)
{
map.global_mask(0xff);
//map(0x??, 0x??).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
map(0x40, 0x44).lw8(NAME([this] (offs_t offset, u8 data) { logerror("%s: Writing %02X to output %d\n", machine().describe_context(), data, offset); }));
map(0x50, 0x50).portr("DSW1");
map(0x51, 0x51).portr("DSW2");
map(0x52, 0x52).portr("IN0");
map(0x53, 0x53).portr("IN1");
map(0x54, 0x55).lw8(NAME([this] (offs_t offset, u8 data) { logerror("%s: Writing %02X to output %d\n", machine().describe_context(), data, offset + 5); }));
map(0x56, 0x56).w("dac", FUNC(dac_byte_interface::write));
map(0x57, 0x57).w(FUNC(jankmg2_state::dacbank_w));
map(0x58, 0x5b).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
}
@ -75,6 +95,16 @@ static INPUT_PORTS_START( jankmg2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
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_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -153,6 +183,7 @@ 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) )
@ -162,6 +193,7 @@ ROM_START( jankmg )
// 3 more unpopulated ROM spaces at u14, u15 and u16
ROM_END
// 元祖ジャンケンマン2
ROM_START( jankmg2 )
ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "gjv1.1.p.u17", 0x0000, 0x4000, CRC(1aa201e7) SHA1(943dff75a46775dd12aed07659dff3d961a58211) )
@ -171,6 +203,7 @@ ROM_START( jankmg2 )
// 3 more unpopulated ROM spaces at u14, u15 and u16
ROM_END
// プリティープレゼント
ROM_START( ppresent )
ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD( "ppr1.u17", 0x0000, 0x4000, CRC(c4a38d1c) SHA1(cfab8e494794ecdb7ac3418b5e71b7c028656456) )
@ -183,6 +216,6 @@ ROM_END
} // 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?, ppresent, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Pretty Present", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
GAME( 1995, jankmg, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man", MACHINE_NOT_WORKING ) // date according to manual
GAME( 199?, jankmg2, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Ganso Janken Man 2", MACHINE_NOT_WORKING )
GAME( 199?, ppresent, 0, jankmg2, jankmg2, jankmg2_state, empty_init, ROT0, "Sunwise", "Pretty Present", MACHINE_NOT_WORKING )