About EMserver



EMserver is a program I wrote in 1990.
It has a simple serial protocol to allow a remote client (usually Forth) to access the keyboard, display and file system on another system (usually a PC).

It was originally written on an amiga-500 fitted with transputer link adapters. It could send the transputer forth binary into a transputer to boot it up and then act as a server.

The protocol now has some unnecessary overhead because it was intended for a Transputer network. It has provision for routing over multiple hops and this has never been needed.
I did not assume the keyboard, vdu and file system would be on the same processor.

In 1992 the program was ported to the PC and support added for standard PC com ports.
It uses delay loops so I had to recompile it when PCs became too fast.

I has not been recompiled for many years (I don't have a C compiler).

I used it extensively up until 1999 with 68hc11 and 68hc16 micro-controllers.
I then stopped using forth because it wasn't suited to AVRs I've work with since then.

This year I wrote SAM7 FORTH and dusted off emserver and luckily it still runs on my 3.4 gig dual core PC.
The code uses direct port access so it can only use "real" serial ports.

Emserver is badly in need of being rewritten in a modern language but it is off the agenda for me at the moment.
It should let windows do the i/o so usb-serial converters can be used.
Ethernet support could also be added.
I don't fancy doing a TCPIP stack on the micro but UDP would be enough.

April 08,

I've been looking for an open sourced compiler/IDE for writing PC code.
After a decade of using Delphi I've have enough of commercial compilers.
The product is great but the current owner is terrible.
The price is a little steep for writing free software and there is all the registration BS with keys and single PC licenses etc. The free version doesn't let me add a serial component (there is a work around).

Ideally the code should be multi-platform.
At the moment sharpdevelop/#develop looks promising. It is an open sourced C# IDE.
C# uses .NET and the Mono project provides open sourced .NET framework for Linux etc.
Mono also has a nice looking IDE but no ready to use windows builds.

I'm hoping emserver can be ported to C# so I can fix some of the problems it has.
Known issues are..
1 - Problems releasing file buffers if the client crashes.
2 - Hogging the CPU to poll the serial port.
3 - Direct serial port access - unlikely to work with USB/serial adaptors or non-standard serial cards.
4 - Console only app with limited console size.


Created by eddie. Last Modification: Wednesday 09 of April, 2008 22:28:29 AEST by eddie.

Main Index

Switch Theme


eddie, 11:29 AEST, Sat 22 of Jun, 2024: Offline wiki repair is mostly done. It is running on tiki-27-alpha
eddie, 18:14 AEST, Sun 12 of May, 2024: Phase one of wiki repair is to upgrade to V22 (the last version with image galleries). All 150 images in the wiki-up directory are broken and need manual wiki page repairs.
admin2, 19:45 AEST, Sun 28 of Apr, 2024: Tested tiki 26.2 on a raspberry pi. Tiki 26 does not support image galleries so I have to try again after migrating images to file galleries.
eddie, 13:04 AEST, Thu 10 of Aug, 2023: Offline tiki 26 upgrade went badly. Waiting for 26.1. Will limp on.
System Administrator, 18:45 AEST, Wed 26 of Jul, 2023: Recovered from lockout but unable to upgrade to V24

Last-Visited Pages

Online Users

28 online users