From c8a5e32b8c2fd928701ebba0e408fcc6ba53f300 Mon Sep 17 00:00:00 2001 From: hap Date: Sun, 15 Feb 2015 21:59:37 +0100 Subject: small update --- src/emu/cpu/amis2000/amis2000.c | 2 +- src/emu/cpu/amis2000/amis2000op.inc | 6 ++---- src/mess/drivers/wildfire.c | 27 +++++++++++++-------------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/emu/cpu/amis2000/amis2000.c b/src/emu/cpu/amis2000/amis2000.c index bdc32c9c597..52f997f8c5e 100644 --- a/src/emu/cpu/amis2000/amis2000.c +++ b/src/emu/cpu/amis2000/amis2000.c @@ -11,6 +11,7 @@ TODO: - unemulated opcodes (need more testing material) + - is K/I input handling correct? - support external program map - STATUS pin(wildfire.c sound?) - add 50/60hz timer @@ -212,7 +213,6 @@ void amis2000_device::device_reset() m_d_polarity = 0; m_d = 0; d_latch_out(false); m_a = 0; m_write_a(0, 0, 0xffff); - m_ki_mask = 0xf; } diff --git a/src/emu/cpu/amis2000/amis2000op.inc b/src/emu/cpu/amis2000/amis2000op.inc index e6a0822a15b..08be8a32177 100644 --- a/src/emu/cpu/amis2000/amis2000op.inc +++ b/src/emu/cpu/amis2000/amis2000op.inc @@ -371,15 +371,13 @@ void amis2000_device::op_szm() void amis2000_device::op_szi() { // SZI: skip next on I pin(s) - // note: AMI's manual is ambiguous here - m_skip = ((m_read_i(0, 0xff) & m_ki_mask) != 0); + m_skip = ((~m_read_i(0, 0xff) & m_ki_mask) != 0); } void amis2000_device::op_szk() { // SZK: skip next on K pin(s) - // note: AMI's manual is ambiguous here - m_skip = ((m_read_k(0, 0xff) & m_ki_mask) != 0); + m_skip = ((~m_read_k(0, 0xff) & m_ki_mask) != 0); } void amis2000_device::op_sbe() diff --git a/src/mess/drivers/wildfire.c b/src/mess/drivers/wildfire.c index 7be890ea9e0..1ffc4815330 100644 --- a/src/mess/drivers/wildfire.c +++ b/src/mess/drivers/wildfire.c @@ -13,7 +13,7 @@ TODO: - - no sound + - bad sound (probably MCU related) - when the game strobes a led faster, it should appear brighter, for example when the ball hits one of the bumpers - some 7segs digits are wrong (mcu on-die decoder is customizable?) @@ -51,7 +51,6 @@ public: UINT16 m_display_cache[0x10]; UINT8 m_display_decay[0x100]; - DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE8_MEMBER(write_d); DECLARE_WRITE16_MEMBER(write_a); @@ -155,20 +154,21 @@ TIMER_DEVICE_CALLBACK_MEMBER(wildfire_state::display_decay_tick) ***************************************************************************/ -READ8_MEMBER(wildfire_state::read_k) -{ - // ? - return 0; -} - WRITE8_MEMBER(wildfire_state::write_d) { + // D0-D7: leds out m_d = data; display_update(); } WRITE16_MEMBER(wildfire_state::write_a) { + // A12: enable speaker out + // this is in combination with the (not yet emulated) MCU F-pin + m_speaker->level_w(data >> 12 & 1); + + // A0-A2: select 7segleds + // A3-A11: select other leds m_a = data; display_update(); } @@ -183,10 +183,10 @@ WRITE16_MEMBER(wildfire_state::write_a) static INPUT_PORTS_START( wildfire ) PORT_START("IN1") // I - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Shooter Button") - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Left Flipper") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Right Flipper") - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Shooter Button") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Left Flipper") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Right Flipper") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END @@ -222,7 +222,6 @@ static MACHINE_CONFIG_START( wildfire, wildfire_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", AMI_S2150, MASTER_CLOCK) MCFG_AMI_S2000_READ_I_CB(IOPORT("IN1")) - MCFG_AMI_S2000_READ_K_CB(READ8(wildfire_state, read_k)) MCFG_AMI_S2000_WRITE_D_CB(WRITE8(wildfire_state, write_d)) MCFG_AMI_S2000_WRITE_A_CB(WRITE16(wildfire_state, write_a)) @@ -253,4 +252,4 @@ ROM_START( wildfire ) ROM_END -CONS( 1979, wildfire, 0, 0, wildfire, wildfire, driver_device, 0, "Parker Brothers", "Wildfire (prototype)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) +CONS( 1979, wildfire, 0, 0, wildfire, wildfire, driver_device, 0, "Parker Brothers", "Wildfire (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) -- cgit v1.2.3