     }
   }
 
-  if (step == 0 && phase == PHASE_LOGO && (*fireport & firepin) == 0)
-  {
+  if (step == 0 && phase == PHASE_LOGO
+      && ((*fireport & firepin) == 0 || (*fire2port & fire2pin) == 0))
+  {
+    started = true;
     phase = PHASE_GAME;
     lives = MAX_LIVES;
     wave = 0;

  rightpin  = digitalPinToBitMask(RIGHT); 
  fireport = portInputRegister(digitalPinToPort(FIRE));
  firepin  = digitalPinToBitMask(FIRE); 

  // put your setup code here, to run once:
  pinMode(CLK , OUTPUT);


#define MAX_LIVES 3
int lives;
bool started;

void render_digits(uint16_t num, int len, int x, int y, uint8_t *buf, int line, uint8_t color)
{
