NEO-GPS sketch no-longer displays number of satellites..

Wow, that sketch was pretty old. The new way of getting a fix from the gps object is to call gps.read(), not gps.fix(). With the old code, it was always using just the RMC, which does not have the fix.satellites value.

Here is your sketch with that mod:

/*
   Motorcycle (GPS) Speedometer
*/


#include <TinyWireM.h>
#include <USI_TWI_Master.h>
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSerif9pt7b.h>
#include <Fonts/FreeSansBold18pt7b.h>
#include <Adafruit_GFX.h>
#include <SPI.h>
#include <NeoSWSerial.h>

NeoSWSerial gps_port(4, 3);  // ASSIGNS PINS 3, 4 FOR GPS RX/TX

#include <NMEAGPS.h>

static NMEAGPS  gps; // This parses the GPS characters

// If using software SPI (the default case):
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);


void setup() {

  gps_port.begin(9600);

  // request RMC and GGA only
  gps_port.println( F("$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28") );

  display.begin(SSD1306_SWITCHCAPVCC);

  display.clearDisplay();
  display.setFont(&FreeSerif9pt7b);
  //display.setTextSize(1);

  display.setTextColor(WHITE);
  display.setCursor(27, 22);
  display.println( F("Mini-GPS"));
  display.display(); // SEND SPLASH SCREEN
  delay(2000);       // WAIT 2 SECONDS

  display.clearDisplay();
  display.setFont(&FreeSerif9pt7b);
  //display.setTextSize(0.8);
  display.setCursor(55, 12);
  display.print( F("By"));


  display.setTextSize(0.8);
  display.setCursor(15, 26);
  display.print( F("Nick Sebring"));
  display.display(); // SEND SPLASH SCREEN
  delay(5000);       // WAIT 10 SECONDS


  //  Insert text when no GPS signal received... ***********************
  //display.clearDisplay();
  //display.setCursor(2, 50);
  //display.print( F("Serching satellites."));
  //display.display(); // SEND SPLASH SCREEN
}



void loop()
{

  if (gps.available( gps_port )) {
    gps_fix fix = gps.read();

    display.clearDisplay(); //CLEAR THE OLED BUFFER, THUS CLEARING THE SCREEN:  GOT IT!

    //  construct data to be sent to the OLED *****************************

    display.setFont();  //reset font to default

    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0, 0);
    display.print( F("Sat: "));

    if (fix.valid.satellites) {
      display.setCursor(60, 20);
      display.println( fix.satellites );
    }

    if (fix.valid.date && fix.valid.time) {
      NeoGPS::clock_t seconds = (NeoGPS::clock_t) fix.dateTime;     // convert pieces to seconds

      // Calculate DST changeover times just once per year
      static NeoGPS::clock_t springTime, fallTime;
      static NeoGPS::time_t  changeover;

      if ((springTime == 0) || (changeover.year != fix.dateTime.year)) {

        changeover.year    = fix.dateTime.year;
        changeover.month   = 3;
        changeover.date    = 14; // latest 2nd Sunday
        changeover.hours   = 2;
        changeover.minutes = 0;
        changeover.seconds = 0;
        changeover.set_day();
        // Step back to the 2nd Sunday, if day != SUNDAY
        changeover.date -= (changeover.day - NeoGPS::time_t::SUNDAY);
        springTime = (NeoGPS::clock_t) changeover;

        changeover.month   = 11;
        changeover.date    = 7; // latest 1st Sunday
        changeover.set_day();
        // Step back to the 1st Sunday, if day != SUNDAY
        changeover.date -= (changeover.day - NeoGPS::time_t::SUNDAY);
        fallTime = (NeoGPS::clock_t) changeover;
      }

      NeoGPS::clock_t tz = 5;  //  THIS IS WHERE YOU PUT IN YOUR LOCAL TIME ZONE
      if ((springTime <= seconds) && (seconds < fallTime))
        tz--;
      seconds -= tz * 60 * 60;                    // offset seconds to local timezone, including DST
      NeoGPS::time_t localTime( seconds );        // convert seconds back to pieces

      display.setCursor(95, 0);
      if (localTime.hours < 10) {
        display.print( '0' );
      }
      display.print( localTime.hours ); display.print( ':' ); // use pieces
      if (localTime.minutes < 10) {
        display.print( '0' );
      }
      display.print( localTime.minutes);
    }


    if (fix.valid.speed) {
      display.setFont(&FreeSansBold18pt7b);
      display.setTextSize(1);
      display.setCursor(38, 30);
      display.println( fix.speed_mph(), 0);
    }

    //        display.setTextSize(1);
    //        display.setCursor(10, 57);
    //        if (fix.valid.location) {
    //          display.print(fix.latitude(), 4);
    //          display.print( F(", ") );
    //          display.print(fix.longitude(), 4);

    display.display();
  }
}

It compiles for me, but I could only test a version without the display code.

Cheers,
/dev