     // end of a time slot
     loCounts[tIndex]=loMotionCount;
     hiCounts[tIndex]=hiMotionCount;
+    if (dispPause) {
+      dispPause--;
+    }
+    else {
+      int pxi = tIndex;
+      for (int pxc=7; pxc>=0; pxc--) {
+        int color = 0x0;
+        if (hiCounts[pxi]) color=0x00f;
+        else if (loCounts[pxi]) color=0x0f0;
+        pix.set(pxc, color, 0);
+        if (pxi > 0)  pxi--;
+        else          pxi = TSLOTS-1;
+      }
+    }
     tIndex = (tIndex==(TSLOTS-1))?0:tIndex+1;
     if ((loMotionCount+hiMotionCount)==0) {
       // this slot had no motion
       noMoSlots++;
-      if (dispPause)
-        dispPause--;
-      else
-        idleShow();
       if (noMoSlots == 5) {
         // eval for possible throw
         int i = tIndex - (5+1);

  setupOnboardLED();
  setupDiceId();

  pix.setup();
  setupVibe();


    int f = face[i];
    pix.disp(orientDisp[f], 0xf00, 3000);
    pix.disp(orientDisp[f], 0xf60, 2000);
    CurieIMU.readAccelerometer(vcurr[0], vcurr[1], vcurr[2]);
    pix.disp(orientDisp[f], 0x0f0, 1000);
    signed char *t = orientable[i];
    t[0] = (signed char)(vcurr[0]>>8);
    t[1] = (signed char)(vcurr[1]>>8);
