         inGameBButtonLastPress = inGameFrame;
         // Fire B weapon (rapid fire)
         for (byte i = 0; i < MAX_PLAYER_BULLETS; i++) {
-          if (!playerBullets[i].isVisible()) {
+          if (inGameBButtonLastPress > 80 && !playerBullets[i].isVisible()) {
             playerBullets[i].set(spaceShip.x, (spaceShip.y + 7), true, B_BULLET_DAMAGE);
             break;
           }

        drawBoss(boss.x, boss.y, boss.type);  
      }
    }
    
    for (byte i = 0; i < MAX_PLAYER_BULLETS; i++) {
      playerBullets[i].draw();
      playerBullets[i].update();
    }
    for (byte i = 0; i < MAX_ENEMIES; i++) {
      enemyBullets[i].draw();
      enemyBullets[i].update();

        inGameAButtonLastPress = inGameFrame;
        // Fire A weapon (single fire)
        for (byte i = 0; i < MAX_PLAYER_BULLETS; i++) {
          if (inGameAButtonLastPress > 80 && !playerBullets[i].isVisible()) {
            playerBullets[i].set(spaceShip.x, (spaceShip.y + 5), true, A_BULLET_DAMAGE);
            break;
          }
