trsnic

trsnic is a general purpose WiFi TCP/IP network interface for the TRS-80 line of microcomputers. The name is an amalgamation of “TRS-80” and “NIC”, which is commonly used shorthand for “network interface card”. It is a fork of and therefore derived from and inspired by Arno Puder’s amazing RetroStoreCard. The product will initially support the TRS-80 Model III and 4 as this is the current support level of the RetroStoreCard source repository. The long term goal is to support all TRS-80s, including the Models I/II/III/4/12/16/16B/6000.

trsnic is on Github

See the RetroStoreCard repository for details on how to build the hardware and configure the card.

trsnic provides the foundational protocols required to implement modern network interactions on the TRS-80 microcomputer. The first such protocol provided is TCP/IP via an implementation of the Berekely Sockets API. TCP/IP is the dominant low level network protocol in use today. Many of today’s higher level network protocols like HTTP and FTP are implemented on top of TCP/IP. This means many modern networking applications and systems can be built upon the base TCP/IP support provided by trsnic.

Additional protocols can be provided as demand requires. While trsnic can be used standalone as a network interface, a goal of the project is to synchronize changes upstream to the RetroStoreCard repository where they can be incorporated as part of the larger RetroStoreCard project.

trsnic is currently implemented on the RetroStoreCard hardware architecture. However, the API will endeavor to be hardware agnostic through the use of client-side adapters to allow support for other TRS-80 hardware networking alternatives, such as serial-IP converters, like the ATC-1000, the MISE/M3SE ethernet WIZnet module, legacy ARCNET controllers, Tandy’s Network 4, etc. In this way, software can be written using a single networking API that could potentially use different physical network interfaces, both modern and vintage OEM. Adapters can be developed for new interfaces that may be developed in the future with no application side changes required.