summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2015-02-15 21:59:37 +0100
committer hap <happppp@users.noreply.github.com>2015-02-15 21:59:37 +0100
commitc8a5e32b8c2fd928701ebba0e408fcc6ba53f300 (patch)
treeaf64eafd13267bea9166b1e10b474aec42b14434
parentdc916db461c21f9e72d2fe1abd527fb330c12090 (diff)
small update
-rw-r--r--src/emu/cpu/amis2000/amis2000.c2
-rw-r--r--src/emu/cpu/amis2000/amis2000op.inc6
-rw-r--r--src/mess/drivers/wildfire.c27
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 )