Quantum Link Reloaded
From Wikipedia, the free encyclopedia
Quantum Link Reloaded is a re-implementation of the original Quantum Link (Q-Link) online service for the Commodore 64 home computer system. The formal introduction of Quantum Link Reloaded was held on the 20th Anniversary of the introduction of Quantum Link, November 5, 2005.
The new service utilizes the same proprietary graphical communication software as the original, and most functionality of the original service is now implemented. Unlike the original service, the system is operated by hobbyists and there are no plans to charge for usage.
This re-implementation achieves a milestone for the Commodore retrocomputing community. Ever since the demise of Q-Link, there has been discussion and numerous attempts to reverse engineer the proprietary client communications software. The complexity of the client software and the lack of documentation hampered all efforts.
[edit] Implementation history
"The successful effort embodies the best in Internet collaboration."
The effort started in 2001, when developer Keith Henrickson spent weeks with the VICE C64 emulator and its built-in monitor to reverse engineer a large portion of the protocol. Keith also authored a server implementing many of the basic commands, but the project was left uncompleted. Although others were trying to re-implement the service at this time, Keith was not aware others were interested.
In mid-2005, Keith found a web forum discussing other attempts to re-implement the online service. He posted his earlier work to the forum.
Jim Brain used Keith's source and notes to implement a Java-based service. After implementing all of the functionality of the older codebase, Keith and Jim tackled unknowns like the games found in the PEOPLE CONNECTION area, Message Bases, the Auditorium.
For more information, Jim looked to Keith Elkin's web site [1], which contained numerous screen shots of the original service. Keith subsequently provided hours of videotaped QLink session content, which was used to refine the service and populate menu structures.
Along the way, Commodore enthusiast Raymond Day joined the discussion and noted that he had managed to save a log of the incoming data packets during a real QLink session. Subsequently, Raymond found the 15 year-old files and they were used to extract 200+ menu items and 105 actual articles from the 1990 timeframe. Raymond also found another smaller trace that unlocked secrets on how message bases worked.
Although the goal is to re-implement the original service, the system is and will incorporate newer constructs from the Internet. For example, the earlier QLink encyclopedia service will be transitioned to utilize Wikipedia, chat rooms will be integrated with IRC, and the news sections will allow feeds from RSS.
The system went live for limited testing in mid-August 2005, and was publicly unveiled at the Fall SWRAP Commodore EXPO [2] on September 17th, 2005.
Work continues on the re-implementation, with hopes to add SuperQ, Rabbit Jack's Casino, Club Caribe, and Habitat functionality in the near future.
[edit] Technical details
The service is written in Java and runs as a J2SE TCP/IP application. Data and files are stored in a MySQL database. The server has been tested on Windows, but currently runs on Linux. The source is GPL licensed, but has not been released as yet.
Eschewing telephone lines, the new service uses modem emulation software like tcpser [3], tcpser4j [4], or BBS server [5] to bridge between RS232 and TCP/IP. These utilities emulate a standard Hayes modem command set on a PC serial port and "dial" IP addresses or DNS names.
The client uses the standard Q-Link client software, available from many locations. Version 4 of the software is recommended, though version 3 will work. Use on a real C64 or C128 requires a null modem cable and an RS232 user port interface. There is patched client software that allows the use of the Swiftlink or Turbo232 UART cartridges. the freeware VICE emulator can also be used to connect to the service, and does not require the tcpser(4j) or BBS Server utilities.
The server is located at go.quantumlink.tk on port 5190.