         for(int digit=0; digit<6; ++digit) {
             setMX7219Reg(MX7219_DIGIT_0 + digit, (point == (5-digit)) ? 0x80 : 0x00);
         }
+
+        // HACK: fiddle with address/data bus
+        address_bus += 31;
+        data_bus += 1;
     }
+
+    // Clear mode/select trigger
+    mode_trigger.clear();
+    select_trigger.clear();
 
     if(next_demo_loop_at < millis()) {
         status_bits += 1;

        if(select_trigger.triggered()) {
            address_bus += 1;
            data_bus += 7;
            select_trigger.clear();
        }
    } else {
        // Show running dots


    if(mode_trigger.triggered()) {
        halted = !halted;
    }

    if(halted) {
