Sabina TCP

Sabina Internet suite for classic Macintosh

Sabina is a brand-new suite of TCP/IP Internet applications by D. Finnigan, designed especially for the original Macintosh 128K, Mac 512K, and Mac XL (Lisa 2). Yes, it will work on newer Macs too. Sabina uses PPP, the Point-to-Point Protocol, over an RS-232 serial port as its Link Layer.

World's Largest Classic Mac OS Development Project

The Sabina TCP project is the largest software development effort today in the world of classic Macintosh: it is a completely new TCP/IP, as well as a suite of Internet applications.

Sabina TCP will have the following useful applications: Telnet, Email, FTP, and HTTP. I have three applications working now: Telnet, an HTTP web download client (called Neptune), and an email client (Aurora) More applications are planned to follow. Every application will be compatible with a Macintosh 128K from 1984, but will also run on a Power Mac G3 with Mac OS 9.

The Sabina TCP project is a work in progress, begun in April 2020. The following pages outline progress thus far, the applications, and goals for the project in future.

Status and Progress Report: February 24, 2024

For the Aurora email client, I completed the work of designing the on-disk and in-memory data structure for displaying a list of messages in a mailbox last week. The structure is very compact, and will allow a Mac 128K to access a mailbox with hundreds of messages. Next I will complete the subroutines to open and display an email message in a window, and after that, write the SMTP module. For the past week, I have worked solely on the Telnet application.

Telnet was in a shambles, and had never been assembled into an application since fall 2020 when I switched to MPW. It took about 3 days last weekend to organize and cleanup the source code and Rez file. The result was an application that assembled, but did nothing. This week I wrote the user interface code, particularly the New Connection dialog box, and the layout of the menus and terminal window. Then on Feb 22nd I designed the Network Virtual Terminal (NVT): its data structures and code outline. That evening I began code implementation and had the basic terminal working: accepting keys from the keyboard, and showing ASCII characters in the terminal window on the Mac's screen. It was possible to open multiple, independent terminal windows. The next evening I fixed a few bugs both in NVT and in the rest of the Telnet application. Yesterday evening and this morning I wrote the Telnet TCP module which integrates TCP with the NVT. After about two hours of debugging this morning, I have Telnet working with an SMTP server on both a Mac Plus and Mac 128K.

There are still several bugs, and much more work to be done, but this is significant progress: to be able to communicate with a remote host using the Telnet application. As a demonstration, I submitted an email message to the SMTP server which was accepted. I updated the Telnet page on this web site, and added two screenshots. Check it out.

Read the Sabina TCP/IP Progress and Development Log for more information and periodic progress reports.


This page last updated: February 24, 2024.