Skip to content

MyDeveloperThoughts/tcpserial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCPSerial Modem Emulator

TCPSerial is a program that provides an Emulated Hayes modem on a TCP Port.
This software should run on any computer that has a Java runtime environment v21 or greater available.

I created this project because I wanted an easy way to call Commodore bulletin board systems from the VICE emulator on my Windows 11 computer.

License

This code is under the GNU General Public License, version 2 license.

How to download and run TCPSerial

https://github.com/MyDeveloperThoughts/tcpserial
On the right side of the screen there is a section titled Releases
Click on the Latest release hyperlink
Download the TCPSerial-1.xx.zip file
Unzip it to a directory
On Windows: TCPSerial.bat
or
Any platform including Windows: java -jar TCPSerial.jar

Documentation

Quick Start Guide for VICE and Windows
Emulated Hayes commands and registers

tcpser4J origins and project goals

This project's code was created from the excellent source code in the project https://github.com/go4retro/tcpser4j (by Jim Brain and Brain Innovations, 2004,2005).

The goals for this project:

  • Runs on Java 21 or greater (TCPSer4J was written in Java 1.2)
  • No platforms specific dependencies (No need for cygwin1.dll, rxtxSerial.ddl or librxtxSerial.so)
  • Provide a simple 'unzip and run' experience for users.

The following are the changes I made to the original code base:

  • Recreated a new project and converted the code in tcpser4J one class and file at a time.
  • Introduced Apache Maven as the build tool
  • The project is IDE agnostic. There are no IDE specific configuration files in this project.
  • Changed the Logging API from log4j-1.2.5.jar to Java.Util.Logging that is included in the JDK
  • Changed the XML Parser from dom4j-full.jar to the Streaming API for XML (StAX) that is included in the JDK
  • Removed dependency on RXTXComm.jar. This is native code to work with Serial Ports. https://mvnrepository.com/artifact/org.rxtx/rxtx
    • The result is removed support for modems of type "RS232" (Uses a real serial port on the PC).
  • Simplified the config.xml for more casual usage for users.
  • Updated the source code to use Generics, Try with Resources, MultiCatch and many other features introduced into Java since version 1.2.