mTCP 2022-07-01 Release Notes

Welcome to the latest release of mTCP!

It has been nearly two and a half years since the last release of mTCP. This release includes internal changes that make the TCP library more robust, DNS improvements including HOSTS file support (finally!), a new utility making it easy to check for updates right from your DOS machine, and some fixes and new features in several of the programs. Please see the detailed list of changes for the specifics.

Since the last release there are two exciting new projects that use mTCP as their TCP/IP library: ngIRCd-DOS (a port of the ngIRCd IRC server to DOS) and MicroWeb, a web browser for DOS. Also of note are Jonathan Pyle's extensions to Telnet (https://github.com/jhpyle/mTCP), which adds extended keyboard, printing and sixel graphics support. If you want a pure DOS experience, Peter Naszvadi has been modifying everything to build natively under DOS and to use DOS STDIO calls, allowing for the console to be redirected over the serial port.

mTCP has supported SLIP and PPP connections for years, but those required another machine to route the packets for the DOS machine. Rich over at theoldnet.com has done some great work to extend the function of "WiFi modems" to include SLIP and PPP support, removing the need to have a second machine while allowing the DOS machine to connect using WiFi. This release fixes a DNS incompatibility when using the SLIP firmware on these devices. I'll keep testing compatibility and making improvements in mTCP to support these devices. Check out his Tindie page for his specific WiFi modem devices.

There are at least two web sites using the mTCP HTTP server (https://www.palmtoptube.com/ and https://fsturmat.net/). One runs on vintage hardware, while the other runs in emulated hardware on a cloud server. Both use a reverse proxy to provide HTTPS support for the mTCP HTTP server, which is a great demonstration of how to mix new and old tech. (In the early days of the web HTTP servers were often assisted by cryptographic coprocessing hardware, so this approach has precedent.) Mark Sherman has been running the 2015 version of the mTCP HTTP server in an emulator on Amazon Web Services since October 10th, 2019. That is correct, it is at 23760 hours (990 days) of runtime as of this writing. Even though the site is minimal, the endurance is amazing. (My own attempt to do something similar ended when after 860 hours my PCjr starting having memory errors.)

Even the documentation has had some upgrades! I have spent almost a month reading and rereading it to ensure it is as clear as it can be.

While there have been some source code changes to clean things up and make the code more maintainable, there have been no major API changes. If you are using mTCP for your project this should be an uneventful upgrade. Testing so far is showing equivalent performance to the last release but a slightly larger code size. (The extra HOSTS file support had to go somewhere ...)

Enjoy!
-Mike Brutman

Detailed list of changes:


Created June 26th, 2022, (C)opyright Michael B. Brutman, mbbrutman at gmail.com