summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/mbdtower.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/mbdtower.c')
-rw-r--r--src/mess/drivers/mbdtower.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/mess/drivers/mbdtower.c b/src/mess/drivers/mbdtower.c
index 412cbf3a6a7..e9ff39fd798 100644
--- a/src/mess/drivers/mbdtower.c
+++ b/src/mess/drivers/mbdtower.c
@@ -14,7 +14,7 @@
The emulated part is the centerpiece, a black tower with a rotating card
panel and LED digits for displaying health, amount of gold, etc. As far
as MESS is concerned, the game works fine.
-
+
To start up the game, first press [MOVE], the machine now does a self-test.
Then select level and number of players and the game will start. Read the
official manual on how to play the game.
@@ -64,7 +64,7 @@ void mbdtower_state::mbdtower_display()
m_display_maxx = 7;
m_display_maxy = 3;
m_display_segmask[1] = m_display_segmask[2] = 0x7f;
-
+
// update current state
if (~m_r & 0x10)
{
@@ -89,7 +89,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(mbdtower_state::motor_sim_tick)
if (m_motor_on)
{
m_motor_pos = (m_motor_pos - 1) & 0x7f;
-
+
// give it some time to spin out when it's turned off
if (m_r & 0x200)
m_motor_decay += (m_motor_decay < 4);
@@ -105,23 +105,23 @@ TIMER_DEVICE_CALLBACK_MEMBER(mbdtower_state::motor_sim_tick)
m_sensor_blind = false;
else
m_sensor_blind = true;
-
+
// on change, output info
if (m_motor_pos != m_motor_pos_prev)
output_set_value("motor_pos", 100 * (m_motor_pos / (float)0x80));
-
+
/* 3 display cards per hole, like this:
-
+
(0) <---- display increments this way <---- (7)
- CURSED VICTORY WIZARD DRAGON GOLD KEY SCOUT WARRIOR (void)
- LOST WARRIORS BAZAAR CLOSED SWORD SILVER KEY HEALER FOOD (void)
- PLAGUE BRIGANDS KEY MISSING PEGASUS BRASS KEY GOLD BEAST (void)
+ CURSED VICTORY WIZARD DRAGON GOLD KEY SCOUT WARRIOR (void)
+ LOST WARRIORS BAZAAR CLOSED SWORD SILVER KEY HEALER FOOD (void)
+ PLAGUE BRIGANDS KEY MISSING PEGASUS BRASS KEY GOLD BEAST (void)
*/
int card_pos = m_motor_pos >> 4 & 7;
if (card_pos != (m_motor_pos_prev >> 4 & 7))
output_set_value("card_pos", card_pos);
-
+
m_motor_pos_prev = m_motor_pos;
}
@@ -137,7 +137,7 @@ WRITE16_MEMBER(mbdtower_state::write_r)
{
// R0-R2: input mux
m_inp_mux = data & 7;
-
+
// R9: motor on
if ((m_r ^ data) & 0x200)
output_set_value("motor_on", data >> 9 & 1);
@@ -150,7 +150,7 @@ WRITE16_MEMBER(mbdtower_state::write_r)
// R8: rotation sensor led
m_r = data;
mbdtower_display();
-
+
// R10: speaker out
m_speaker->level_w(~data >> 4 & data >> 10 & 1);
}
@@ -182,14 +182,14 @@ READ8_MEMBER(mbdtower_state::read_k)
(green) (l.blue) (red)
[YES/ [REPEAT] [NO/
BUY] END]
-
+
(yellow) (blue) (white)
[HAGGLE] [BAZAAR] [CLEAR]
-
+
(blue) (blue) (blue)
[TOMB/ [MOVE] [SANCTUARY/
RUIN] CITADEL]
-
+
(orange) (blue) (d.yellow)
[DARK [FRONTIER] [INVENTORY]
TOWER]
@@ -233,7 +233,7 @@ void mbdtower_state::machine_start()
m_motor_decay = 0;
m_motor_on = false;
m_sensor_blind = false;
-
+
save_item(NAME(m_motor_pos));
/* save_item(NAME(m_motor_pos_prev)); */ // don't save!
save_item(NAME(m_motor_decay));