 
 void reset_no_action(struct Menu *menu, int item_num)
 {
+}
+
+//----------------------------------------
+// Show the credits.
+//   menu      address of 'calling' menu
+//   item_num  index of MenuItem we were actioned from
+// Wait here until VfoClick.
+//----------------------------------------
+
+void credits_action(struct Menu *menu, int item_num)
+{
+  // get rid of any stray events to this point
+  event_flush();
+
+  // show the credits
+  show_credits();
+  
+  // handle events in our own little event loop
+  while (true)
+  {
+    // handle any pending event
+    if (event_pending() > 0)
+    {
+      byte event = event_pop(); // get next event and handle it
+
+      switch (event)
+      {
+        case vfo_RLeft:
+          break;
+        case vfo_RRight:
+          break;
+        case vfo_Click:
+          return;
+        case vfo_HoldClick:
+          return;
+        default:
+          // ignored events we don't handle
+          break;
+      }
+    }
+  }
 }
 
 //----------------------------------------


// Digital VFO program name & version
const char *ProgramName = "DigitalVFO";
const char *Version = "0.9";
const char *Callsign = "vk4fawr";
const char *Callsign16 = "vk4fawr         ";

// display constants - below is for ubiquitous small HD44780 16x2 display
#define NUM_ROWS        2


bool re_setup(void)
{
  // set RE data pins as inputs
  pinMode(re_pinA, INPUT);
  pinMode(re_pinB, INPUT);
  pinMode(re_pinPush, INPUT);

  // attach pins to IST on rising edge only
  attachInterrupt(digitalPinToInterrupt(re_pinA), pinA_isr, RISING);
