View Full Version : Wirelessly networking CP/M

January 5th, 2009, 07:34 PM
Attached is a screenshot showing a wireless CP/M link. This could have applications for networking vintage computers.

The link used xmodem to transfer all the wordstar files, then ran wordstar and displayed (and edited) a wordstar file remotely.

Range tests are ongoing, but 5km over water has been proven and 1km on land.

The modules are 1200baud but can go up to 38400.

This is working on a N8VEM, but thinking of older computers, the components needed would be a serial port, the ability to change the baud rate on that port (hardware or software) or to get radio modules that correspond to a fixed baud rate, and a patched version of xmodem that can talk via that serial port.

The port could be a second port, though it may actually be easier to use the terminal port if the computer in question talks to a dumb terminal.

This is a work in progress but does prove the concept is sound.

January 5th, 2009, 08:27 PM
Pretty cool. How much do the Yishi's set you back ?

January 5th, 2009, 09:01 PM
Still negotiating. They don't have resellers yet as far as we can tell. ? $25US ex works.

It is the first RF module that has been *easy* to set up.

January 7th, 2009, 04:58 AM
Yes, $23 for 10mW, $25 for 50mW and the range includes modules that go to 1W.

CP/M lives on!!

Tonight I fired up three N8VEM boards and got them chatting via a
wireless mesh.

Yishi 1020 RF transceivers on each module (200m to 5Km range), 433Mhz
Yishi 1020 RF transceiver on the PC serial port.
Autoexec.sub on each board running 1200.COM and QUIET.COM (with
Each board has a NUMBER.TXT file containing a unique number - ie
where the number is 01 to 99

Each board boots up and runs QUIET.COM which listens to the RF module
but does nothing until it gets a unique text string eg WAKE 03 where
the number corresponds to the board number.

(If you don't have something like QUIET.COM, then each board wakes up
and goes "A>" and the next board replies with "A>?" and the next board
replies with "A>??" and the whole network goes crazy. It was quite fun
watching this happen when I first turned it all on *grin*. A sort of
N8VEM epileptic seizure!)

If the wake number matches, the board wakes up and goes back to CP/M,
where the board that woke it up can send messages eg run programs etc.
A QUIET message sends everyone to sleep. Then the only thing that can
wake up the mesh would be a PC or a board specifically designed to do
that at a certain time, or a timer loop in a modified version of

This is the beginning of a mesh system, where any board can talk to
any other board, send files, run programs etc. So boards can be doing
useful things, eg running sprinklers, logging data, but they will only
talk to the network when specifically asked to or when they really
have something urgent to report.

Further, the mini N8VEM V2.0 has 4 serial ports, so a board can also
be chatting to local devices via one of those other ports, eg via a
short range wireless module at (say 315Mhz) using picaxes (picaxe plus
short range module is a lot cheaper but only ~50m range). So you could
have moisture sensors on each tree in an orchard with a picaxe in each
one (eg in a solar light), and a N8VEM monitoring 20 trees, and then
sending all that data back to the house from time to time. A PC can
then send an email if something is out of range (automatic email is
quite easy to do in vb.net).

The boards can be woken up in turn and programs downloaded/run/erased
from other boards or from the PC. Boards can run programs like Wordstar and download/transfer Wordstar as well. All any board needs to get started is xmodem and the ability to set the baud rate. Only two boards (or 1 board and the
PC) can ever be on the air at the same time (unless one uses channels,
which the Yishi modules can do but it gets more complex).

quiet.com is listed below. Next project is to automate the board setup
via the terminal program so you can number the board etc. This project
is also the first major change to the function of the N8VEM that
didn't need an eprom rewrite. Eg, rather than changing the default
baud rate on the eprom, boot it up at whatever rate (38400), then run
an autoexec.sub that changes the rate by running a small program.

10 OPEN "I",1,"NUMBER.TXT" ' format is NUMBER 05
20 INPUT #1,A$
30 CLOSE #1
40 B$=MID$(A$,8,2)
50 C$=INKEY$' listen for WAKE NN when nn is 01 to 99
60 IF C$<>"W" THEN GOTO 50
70 D$=C$' start building D$
80 FOR I=1 TO 6
90 C$=INKEY$
100 IF C$="" THEN GOTO 90
110 D$=D$+C$
120 NEXT I
130 IF LEFT$(D$,4)<>"WAKE" THEN D$="":GOTO 50
140 E$=RIGHT$(D$,2)
150 IF E$=B$ THEN END ' number matches mine
160 GOTO 50