diff options
Diffstat (limited to 'src/mess/drivers/mbdtower.c')
-rw-r--r-- | src/mess/drivers/mbdtower.c | 32 |
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)); |