mirror of
https://github.com/holub/mame
synced 2025-07-01 08:18:59 +03:00
segac2: improve wwmarine controls
This commit is contained in:
parent
1543eb0a30
commit
64d6cb1e7f
@ -115,8 +115,7 @@ public:
|
|||||||
, m_screen(*this, "screen")
|
, m_screen(*this, "screen")
|
||||||
, m_palette(*this, "palette")
|
, m_palette(*this, "palette")
|
||||||
, m_io(*this, "io")
|
, m_io(*this, "io")
|
||||||
{
|
{ }
|
||||||
}
|
|
||||||
|
|
||||||
void segac2(machine_config &config);
|
void segac2(machine_config &config);
|
||||||
void segac(machine_config &config);
|
void segac(machine_config &config);
|
||||||
@ -144,20 +143,11 @@ public:
|
|||||||
void init_ichirjbl();
|
void init_ichirjbl();
|
||||||
void init_puyopuy2();
|
void init_puyopuy2();
|
||||||
void init_zunkyou();
|
void init_zunkyou();
|
||||||
void init_pclub();
|
|
||||||
void init_pclubj();
|
|
||||||
void init_pclubjv2();
|
|
||||||
void init_pclubjv4();
|
|
||||||
void init_pclubjv5();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
virtual void machine_reset() override;
|
virtual void machine_reset() override;
|
||||||
|
|
||||||
private:
|
|
||||||
// for Print Club only
|
|
||||||
int m_cam_data;
|
|
||||||
|
|
||||||
int m_segac2_enable_display;
|
int m_segac2_enable_display;
|
||||||
|
|
||||||
required_shared_ptr<uint16_t> m_paletteram;
|
required_shared_ptr<uint16_t> m_paletteram;
|
||||||
@ -179,7 +169,6 @@ private:
|
|||||||
|
|
||||||
void segac2_common_init(segac2_prot_delegate prot_func);
|
void segac2_common_init(segac2_prot_delegate prot_func);
|
||||||
|
|
||||||
|
|
||||||
uint32_t screen_update_segac2_new(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_segac2_new(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||||
int m_segac2_bg_pal_lookup[4];
|
int m_segac2_bg_pal_lookup[4];
|
||||||
int m_segac2_sp_pal_lookup[4];
|
int m_segac2_sp_pal_lookup[4];
|
||||||
@ -200,12 +189,10 @@ private:
|
|||||||
uint8_t prot_r();
|
uint8_t prot_r();
|
||||||
void prot_w(uint8_t data);
|
void prot_w(uint8_t data);
|
||||||
void counter_timer_w(uint8_t data);
|
void counter_timer_w(uint8_t data);
|
||||||
uint16_t printer_r();
|
|
||||||
void print_club_camera_w(uint16_t data);
|
|
||||||
uint16_t ichirjbl_prot_r();
|
uint16_t ichirjbl_prot_r();
|
||||||
DECLARE_WRITE_LINE_MEMBER(segac2_irq2_interrupt);
|
DECLARE_WRITE_LINE_MEMBER(segac2_irq2_interrupt);
|
||||||
optional_device<upd7759_device> m_upd7759;
|
optional_device<upd7759_device> m_upd7759;
|
||||||
optional_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
required_device<sega_315_5296_device> m_io;
|
required_device<sega_315_5296_device> m_io;
|
||||||
|
|
||||||
@ -227,20 +214,51 @@ private:
|
|||||||
int prot_func_ichirk(int in);
|
int prot_func_ichirk(int in);
|
||||||
int prot_func_puyopuy2(int in);
|
int prot_func_puyopuy2(int in);
|
||||||
int prot_func_zunkyou(int in);
|
int prot_func_zunkyou(int in);
|
||||||
int prot_func_pclub(int in);
|
|
||||||
int prot_func_pclubjv2(int in);
|
|
||||||
int prot_func_pclubjv4(int in);
|
|
||||||
int prot_func_pclubjv5(int in);
|
|
||||||
|
|
||||||
void main_map(address_map &map);
|
void main_map(address_map &map);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class segac2_pc_state : public segac2_state
|
class wwmarine_state : public segac2_state
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using segac2_state::segac2_state;
|
wwmarine_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: segac2_state(mconfig, type, tag)
|
||||||
|
, m_wheel(*this, "WHEEL")
|
||||||
|
{ }
|
||||||
|
|
||||||
|
ioport_value read_wheel() { return m_wheel->read() | ((m_screen->frame_number() & 1) * 3); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
required_ioport m_wheel;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class pclub_state : public segac2_state
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
pclub_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: segac2_state(mconfig, type, tag)
|
||||||
|
{ }
|
||||||
|
|
||||||
static constexpr feature_type unemulated_features() { return feature::CAMERA | feature::PRINTER; }
|
static constexpr feature_type unemulated_features() { return feature::CAMERA | feature::PRINTER; }
|
||||||
|
|
||||||
|
void init_pclub();
|
||||||
|
void init_pclubj();
|
||||||
|
void init_pclubjv2();
|
||||||
|
void init_pclubjv4();
|
||||||
|
void init_pclubjv5();
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_cam_data;
|
||||||
|
|
||||||
|
uint16_t printer_r();
|
||||||
|
void print_club_camera_w(uint16_t data);
|
||||||
|
|
||||||
|
int prot_func_pclub(int in);
|
||||||
|
int prot_func_pclubjv2(int in);
|
||||||
|
int prot_func_pclubjv4(int in);
|
||||||
|
int prot_func_pclubjv5(int in);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -635,12 +653,12 @@ void segac2_state::counter_timer_w(uint8_t data)
|
|||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
uint16_t segac2_state::printer_r()
|
uint16_t pclub_state::printer_r()
|
||||||
{
|
{
|
||||||
return m_cam_data;
|
return m_cam_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::print_club_camera_w(uint16_t data)
|
void pclub_state::print_club_camera_w(uint16_t data)
|
||||||
{
|
{
|
||||||
m_cam_data = data;
|
m_cam_data = data;
|
||||||
}
|
}
|
||||||
@ -981,8 +999,7 @@ static INPUT_PORTS_START( wwmarine )
|
|||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) // Handle Left - Acts like a button, holding LEFT doesn't work - "tapping" left moves player
|
PORT_BIT( 0xc0, 0x00, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(wwmarine_state, read_wheel)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) // Handle Right - Acts like a button, holding RIGHT doesn't work - "tapping" right moves player
|
|
||||||
|
|
||||||
PORT_MODIFY("P2")
|
PORT_MODIFY("P2")
|
||||||
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
@ -1013,6 +1030,10 @@ static INPUT_PORTS_START( wwmarine )
|
|||||||
//"SW2:6" unused
|
//"SW2:6" unused
|
||||||
//"SW2:7" unused
|
//"SW2:7" unused
|
||||||
//"SW2:7" unused
|
//"SW2:7" unused
|
||||||
|
|
||||||
|
PORT_START("WHEEL") // free-spinning wheel, some mechanism causing the input to trigger repeatedly
|
||||||
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||||
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
@ -1722,8 +1743,8 @@ WRITE_LINE_MEMBER(segac2_state::vdp_lv4irqline_callback_c2)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
sound output balance (tfrceac)
|
sound output balance (tfrceac)
|
||||||
reference : https://youtu.be/AOmeWp9qe5E
|
reference 1: https://youtu.be/AOmeWp9qe5E
|
||||||
reference 2 : https://youtu.be/Tq8VkJYmij8
|
reference 2: https://youtu.be/Tq8VkJYmij8
|
||||||
reference 3: https://youtu.be/VId_HWdNuyA
|
reference 3: https://youtu.be/VId_HWdNuyA
|
||||||
*/
|
*/
|
||||||
void segac2_state::segac(machine_config &config)
|
void segac2_state::segac(machine_config &config)
|
||||||
@ -1752,19 +1773,19 @@ void segac2_state::segac(machine_config &config)
|
|||||||
m_vdp->lv6_irq().set(FUNC(segac2_state::vdp_lv6irqline_callback_c2));
|
m_vdp->lv6_irq().set(FUNC(segac2_state::vdp_lv6irqline_callback_c2));
|
||||||
m_vdp->lv4_irq().set(FUNC(segac2_state::vdp_lv4irqline_callback_c2));
|
m_vdp->lv4_irq().set(FUNC(segac2_state::vdp_lv4irqline_callback_c2));
|
||||||
m_vdp->set_alt_timing(1);
|
m_vdp->set_alt_timing(1);
|
||||||
m_vdp->set_screen("megadriv");
|
m_vdp->set_screen("screen");
|
||||||
m_vdp->add_route(ALL_OUTPUTS, "mono", 0.50);
|
m_vdp->add_route(ALL_OUTPUTS, "mono", 0.50);
|
||||||
m_vdp->set_palette(m_palette);
|
m_vdp->set_palette(m_palette);
|
||||||
|
|
||||||
TIMER(config, "scantimer").configure_scanline("gen_vdp", FUNC(sega315_5313_device::megadriv_scanline_timer_callback_alt_timing), "megadriv", 0, 1);
|
TIMER(config, "scantimer").configure_scanline("gen_vdp", FUNC(sega315_5313_device::megadriv_scanline_timer_callback_alt_timing), "screen", 0, 1);
|
||||||
|
|
||||||
screen_device &screen(SCREEN(config, "megadriv", SCREEN_TYPE_RASTER));
|
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||||
screen.set_refresh_hz(double(XL2_CLOCK.value()) / 10.0 / 262.0 / 342.0); // same as SMS?
|
m_screen->set_refresh_hz(double(XL2_CLOCK.value()) / 10.0 / 262.0 / 342.0); // same as SMS?
|
||||||
// screen.set_refresh_hz(double(XL2_CLOCK.value()) / 8.0 / 262.0 / 427.0); // or 427 Htotal?
|
// m_screen->set_refresh_hz(double(XL2_CLOCK.value()) / 8.0 / 262.0 / 427.0); // or 427 Htotal?
|
||||||
screen.set_size(512, 262);
|
m_screen->set_size(512, 262);
|
||||||
screen.set_visarea(0, 32*8-1, 0, 28*8-1);
|
m_screen->set_visarea(0, 32*8-1, 0, 28*8-1);
|
||||||
screen.set_screen_update(FUNC(segac2_state::screen_update_segac2_new));
|
m_screen->set_screen_update(FUNC(segac2_state::screen_update_segac2_new));
|
||||||
screen.screen_vblank().set(FUNC(segac2_state::screen_vblank_megadriv));
|
m_screen->screen_vblank().set(FUNC(segac2_state::screen_vblank_megadriv));
|
||||||
|
|
||||||
PALETTE(config, m_palette).set_entries(2048*3);
|
PALETTE(config, m_palette).set_entries(2048*3);
|
||||||
|
|
||||||
@ -1777,7 +1798,6 @@ void segac2_state::segac(machine_config &config)
|
|||||||
/* right channel not connected */
|
/* right channel not connected */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void segac2_state::segac2(machine_config &config)
|
void segac2_state::segac2(machine_config &config)
|
||||||
{
|
{
|
||||||
segac(config);
|
segac(config);
|
||||||
@ -1813,7 +1833,6 @@ void segac2_state::ribbit(machine_config& config)
|
|||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/* ----- System C Games ----- */
|
/* ----- System C Games ----- */
|
||||||
|
|
||||||
ROM_START( bloxeedc ) /* Bloxeed (C System Version) (c)1989 Sega / Elorg */
|
ROM_START( bloxeedc ) /* Bloxeed (C System Version) (c)1989 Sega / Elorg */
|
||||||
@ -2607,12 +2626,12 @@ int segac2_state::prot_func_zunkyou(int in)
|
|||||||
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int segac2_state::prot_func_pclub(int in)
|
int pclub_state::prot_func_pclub(int in)
|
||||||
{
|
{
|
||||||
return 0xf;
|
return 0xf;
|
||||||
}
|
}
|
||||||
|
|
||||||
int segac2_state::prot_func_pclubjv2(int in)
|
int pclub_state::prot_func_pclubjv2(int in)
|
||||||
{
|
{
|
||||||
int const b0 = (BIT( in,3) && BIT(~in,4)) ^ ((BIT(~in,1) && BIT(~in,7)) || BIT( in,6));
|
int const b0 = (BIT( in,3) && BIT(~in,4)) ^ ((BIT(~in,1) && BIT(~in,7)) || BIT( in,6));
|
||||||
int const b1 = (BIT( in,0) && BIT( in,5)) ^ (BIT( in,2) && BIT(~in,6));
|
int const b1 = (BIT( in,0) && BIT( in,5)) ^ (BIT( in,2) && BIT(~in,6));
|
||||||
@ -2622,7 +2641,7 @@ int segac2_state::prot_func_pclubjv2(int in)
|
|||||||
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int segac2_state::prot_func_pclubjv4(int in)
|
int pclub_state::prot_func_pclubjv4(int in)
|
||||||
{
|
{
|
||||||
int const b0 = (BIT(~in,2) && BIT( in,4)) ^ (BIT( in,1) && BIT(~in,6) && BIT(~in,3));
|
int const b0 = (BIT(~in,2) && BIT( in,4)) ^ (BIT( in,1) && BIT(~in,6) && BIT(~in,3));
|
||||||
int const b1 = (BIT(~in,3) && BIT(~in,4)) ^ (BIT( in,0) && BIT( in,5) && BIT(~in,6));
|
int const b1 = (BIT(~in,3) && BIT(~in,4)) ^ (BIT( in,0) && BIT( in,5) && BIT(~in,6));
|
||||||
@ -2632,7 +2651,7 @@ int segac2_state::prot_func_pclubjv4(int in)
|
|||||||
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
return (b3 << 3) | (b2 << 2) | (b1 << 1) | b0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int segac2_state::prot_func_pclubjv5(int in)
|
int pclub_state::prot_func_pclubjv5(int in)
|
||||||
{
|
{
|
||||||
int const b0 = (BIT(~in,1) && BIT( in,5)) ^ (BIT(~in,2) && BIT(~in,6));
|
int const b0 = (BIT(~in,1) && BIT( in,5)) ^ (BIT(~in,2) && BIT(~in,6));
|
||||||
int const b1 = (BIT(~in,0) && BIT( in,4)) ^ (BIT(~in,3) && BIT(~in,7));
|
int const b1 = (BIT(~in,0) && BIT( in,4)) ^ (BIT(~in,3) && BIT(~in,7));
|
||||||
@ -2754,34 +2773,34 @@ void segac2_state::init_zunkyou()
|
|||||||
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_zunkyou)));
|
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_zunkyou)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::init_pclub()
|
void pclub_state::init_pclub()
|
||||||
{
|
{
|
||||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x880120, 0x880121, read16smo_delegate(*this, FUNC(segac2_state::printer_r)));
|
m_maincpu->space(AS_PROGRAM).install_read_handler(0x880120, 0x880121, read16smo_delegate(*this, FUNC(pclub_state::printer_r)));
|
||||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x880124, 0x880125, read16smo_delegate(*this, FUNC(segac2_state::printer_r)));
|
m_maincpu->space(AS_PROGRAM).install_read_handler(0x880124, 0x880125, read16smo_delegate(*this, FUNC(pclub_state::printer_r)));
|
||||||
m_maincpu->space(AS_PROGRAM).install_write_handler(0x880124, 0x880125, write16smo_delegate(*this, FUNC(segac2_state::print_club_camera_w)));
|
m_maincpu->space(AS_PROGRAM).install_write_handler(0x880124, 0x880125, write16smo_delegate(*this, FUNC(pclub_state::print_club_camera_w)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::init_pclubj()
|
void pclub_state::init_pclubj()
|
||||||
{
|
{
|
||||||
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_pclub)));
|
segac2_common_init(segac2_prot_delegate(*this, FUNC(pclub_state::prot_func_pclub)));
|
||||||
init_pclub();
|
init_pclub();
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::init_pclubjv2()
|
void pclub_state::init_pclubjv2()
|
||||||
{
|
{
|
||||||
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_pclubjv2)));
|
segac2_common_init(segac2_prot_delegate(*this, FUNC(pclub_state::prot_func_pclubjv2)));
|
||||||
init_pclub();
|
init_pclub();
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::init_pclubjv4()
|
void pclub_state::init_pclubjv4()
|
||||||
{
|
{
|
||||||
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_pclubjv4)));
|
segac2_common_init(segac2_prot_delegate(*this, FUNC(pclub_state::prot_func_pclubjv4)));
|
||||||
init_pclub();
|
init_pclub();
|
||||||
}
|
}
|
||||||
|
|
||||||
void segac2_state::init_pclubjv5()
|
void pclub_state::init_pclubjv5()
|
||||||
{
|
{
|
||||||
segac2_common_init(segac2_prot_delegate(*this, FUNC(segac2_state::prot_func_pclubjv5)));
|
segac2_common_init(segac2_prot_delegate(*this, FUNC(pclub_state::prot_func_pclubjv5)));
|
||||||
init_pclub();
|
init_pclub();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2835,7 +2854,7 @@ GAME( 1991, soniccar, 0, segac2, soniccar, segac2_state, init_no
|
|||||||
|
|
||||||
GAME( 1992, ssonicbr, 0, segac2, ssonicbr, segac2_state, init_noprot, ROT0, "hack", "SegaSonic Bros. (prototype, hack)", 0 )
|
GAME( 1992, ssonicbr, 0, segac2, ssonicbr, segac2_state, init_noprot, ROT0, "hack", "SegaSonic Bros. (prototype, hack)", 0 )
|
||||||
|
|
||||||
GAME( 1992, ooparts, 0, segac2, ooparts, segac2_state, init_noprot, ROT270, "Success", "OOParts (prototype)", 0 )
|
GAME( 1992, ooparts, 0, segac2, ooparts, segac2_state, init_noprot, ROT270, "Success", "OOPArts (prototype, joystick version)", 0 )
|
||||||
|
|
||||||
GAME( 1992, puyo, 0, segac2, puyo, segac2_state, init_puyo, ROT0, "Compile / Sega", "Puyo Puyo (World)", 0 )
|
GAME( 1992, puyo, 0, segac2, puyo, segac2_state, init_puyo, ROT0, "Compile / Sega", "Puyo Puyo (World)", 0 )
|
||||||
GAME( 1992, puyobl, puyo, segac2, puyo, segac2_state, init_puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
|
GAME( 1992, puyobl, puyo, segac2, puyo, segac2_state, init_puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
|
||||||
@ -2849,7 +2868,7 @@ GAME( 1992, tantrbl4, tantr, segac2, ichir, segac2_state, init_no
|
|||||||
GAME( 1994, tantrbl2, tantr, segac, ichir, segac2_state, init_tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
|
GAME( 1994, tantrbl2, tantr, segac, ichir, segac2_state, init_tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
|
||||||
GAME( 1994, tantrbl3, tantr, segac, ichir, segac2_state, init_tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
|
GAME( 1994, tantrbl3, tantr, segac, ichir, segac2_state, init_tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
|
||||||
|
|
||||||
GAME( 1992, wwmarine, 0, segac2, wwmarine, segac2_state, init_noprot, ROT0, "Sega", "Waku Waku Marine", 0 )
|
GAME( 1992, wwmarine, 0, segac2, wwmarine, wwmarine_state, init_noprot, ROT0, "Sega", "Waku Waku Marine", 0 )
|
||||||
|
|
||||||
// not really sure how this should hook up, things like the 'sold out' flags could be mechanical sensors, or from another MCU / CPU board in the actual popcorn part of the machine?
|
// not really sure how this should hook up, things like the 'sold out' flags could be mechanical sensors, or from another MCU / CPU board in the actual popcorn part of the machine?
|
||||||
GAME( 1992, anpanman, 0, segac2, anpanman, segac2_state, init_noprot, ROT0, "Sega", "Soreike! Anpanman Popcorn Koujou (Rev B)", MACHINE_MECHANICAL ) // 'Mechanical' part isn't emulated
|
GAME( 1992, anpanman, 0, segac2, anpanman, segac2_state, init_noprot, ROT0, "Sega", "Soreike! Anpanman Popcorn Koujou (Rev B)", MACHINE_MECHANICAL ) // 'Mechanical' part isn't emulated
|
||||||
@ -2874,11 +2893,11 @@ GAME( 1994, zunkyou, 0, segac2, zunkyou, segac2_state, init_zu
|
|||||||
GAME( 1994, headonch, 0, segac2, headonch, segac2_state, init_noprot, ROT0, "hack", "Head On Channel (prototype, hack)", 0 )
|
GAME( 1994, headonch, 0, segac2, headonch, segac2_state, init_noprot, ROT0, "hack", "Head On Channel (prototype, hack)", 0 )
|
||||||
|
|
||||||
/* Atlus Print Club 'Games' (C-2 Hardware) requires printer and camera emulation */
|
/* Atlus Print Club 'Games' (C-2 Hardware) requires printer and camera emulation */
|
||||||
GAME( 1995, pclubj, 0, segac2, pclub, segac2_pc_state, init_pclubj, ROT0, "Atlus", "Print Club (Japan Vol.1)", MACHINE_NOT_WORKING )
|
GAME( 1995, pclubj, 0, segac2, pclub, pclub_state, init_pclubj, ROT0, "Atlus", "Print Club (Japan Vol.1)", MACHINE_NOT_WORKING )
|
||||||
|
|
||||||
GAME( 1995, pclubjv2, 0, segac2, pclubjv2, segac2_pc_state, init_pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", MACHINE_NOT_WORKING )
|
GAME( 1995, pclubjv2, 0, segac2, pclubjv2, pclub_state, init_pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", MACHINE_NOT_WORKING )
|
||||||
GAME( 1995, pclub, pclubjv2, segac2, pclubjv2, segac2_pc_state, init_pclubj, ROT0, "Atlus", "Print Club (World)", MACHINE_NOT_WORKING ) // based on Japan Vol.2 but no Vol.2 subtitle
|
GAME( 1995, pclub, pclubjv2, segac2, pclubjv2, pclub_state, init_pclubj, ROT0, "Atlus", "Print Club (World)", MACHINE_NOT_WORKING ) // based on Japan Vol.2 but no Vol.2 subtitle
|
||||||
|
|
||||||
GAME( 1996, pclubjv4, 0, segac2, pclubjv2, segac2_pc_state, init_pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", MACHINE_NOT_WORKING )
|
GAME( 1996, pclubjv4, 0, segac2, pclubjv2, pclub_state, init_pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", MACHINE_NOT_WORKING )
|
||||||
|
|
||||||
GAME( 1996, pclubjv5, 0, segac2, pclubjv2, segac2_pc_state, init_pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", MACHINE_NOT_WORKING )
|
GAME( 1996, pclubjv5, 0, segac2, pclubjv2, pclub_state, init_pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", MACHINE_NOT_WORKING )
|
||||||
|
Loading…
Reference in New Issue
Block a user