Home
A Gopher Client for the neo6502 retrocomputer This is a client for the Gopher[1] internet protocol targting the neo6502[2] retrocomputer from Olimex. For network access you will need the ESP8266 based WiFi UEXT board[3]. The program is written in FP and compiled to 65C02 assembler using the SUPERFLY[4] compiler. Usage: On startup the program will check whether the WiFi connection exists and will ask for an SSID and password and continue after a connection to the router could be established. Once started, the browser will show the last seen gopher document or an initial page asking you to connect to some server. Terminating the program will save the current gopher page which will then be shown on the next run. The program is keyboard controlled and accepts the following keys: esc(27): Exit (resets the system) backspace(8): Back to previous page up(23)/down(19): Select link by highlighting it enter(13): Visit the currently highlighted link pgup(18)/pgdown(6): Scroll page up and down space(32): Scroll page down home(20): Move to top of document 'g': Enter gopher link and visit the page. The URL should be of the form "HOST[:PORT]" The supported document types are "0" (text), "1" (gopher menu), "3" (error), "7" (search). All other types are assumed to hold binary content. Links of type "0" and "1" are downloaded and shown. Type "7" asks for a search string and passes it to the destination address showing the result as a gopher menu. Files linked to with any other type are downloaded into current directory. Bugs and limitations: The maximum size of a document is 30 Kb, as the data has to be downloaded completely before it can be saved to disk (I noticed that traffic from the netwok fills up the modem's receive buffer faster than the can be written to the file system). Data of longer size will be silently truncated. There is no bookmarking facility, yet. Links: gopher.fp
The source code, reproduced below. The SUPERFLY compiler and the xa[5] assembler are needed to build the binary executable. To compile the code, enter % superfly-neo -I<SUPERFLYDIR>/include gopher.fp -o gopher.asm % xa -XMASM gopher.asm -o gopher.neo gopher.neo
Precompiled program, directly executable (SHA-1: d31856fc02070b6db00a5edf405aef7c5570da3b) References: [1] Gopher protocol
[2] neo6502.com
[3] WiFi on neo6502
[4] SUPERFLY
[5] The "xa" 6502 assembler