THE VIRTUAL TO2026 / EXTENSIONS / EXT 26-104

Nano Réseau 2026.

The EXT 26-104 module, heir of the 1985 school nanonetwork: machines linked in a star to a central, sharing channels. Every station sees the same messages in the same order, enough to write multiplayer games and chat rooms.

TO2026 · EXT 26-104NANO NETWORKstations · centralSwitch the power offbefore plugging in.NANO
Reference
TO2026 · EXT 26-104
Module
Nano Réseau 2026
Chip
NANO
Port
EXT 26-112 extension port, beside the screen
Plugging in
tick the module in EXTENSIONS, on the Explore the machine page
  • TOPOLOGYstar

    stations, one central with authority

  • CHANNELS1–40

    characters: letters, digits, dot, dash, underscore

  • LIMITS1 Ko

    per message, 10 messages per second, 32 stations per channel

  • REAL TIMEWebSocket

    with a VAILS central; otherwise the site gateway

01 / WHAT IT DOES

Stations, a central, channels.

The central is chosen in the extension port, through the module’s two menus: a game plugin, and a VAILS server for real time. A program cannot change it; it joins a channel by name, gets a station number there, then sends messages to the whole channel or to a single station. The central numbers every message: all stations see them in the same order, and the sender gets its own back too, so it can act only on its return.

The channel also keeps a shared state, key and value pairs, given to every station that arrives. A write can carry the version it read: it fails if another station wrote in between, so no update is lost. You must be signed in with PROADMIN ON, having accepted the sharing: the site then asks ProAdmin for a ticket on your behalf, presents it to the central server to server, and the machine only receives a single-use pass.

02 / IN BASIC

NANO and NANO$.

STATEMENTEFFECT
NANO CONNECTjoins the central set in the extension port
NANO JOIN canal$joins a channel and gets a station number
NANO SEND m$ [, poste]sends to the whole channel, or to one station, without waiting
NANO RECEIVE m$the next message, or an empty string; ON NANO CALL to be told
NANO SET cle$, valeur$ [, version]writes into the channel’s shared state
NANO LEAVEleaves the channel; a program that stops leaves it too
NANO$(champ$)"ETAT", "CANAL", "POSTE", "POSTES", "TEMPSREEL", "ERREUR", and for the last message read "DE", "PSEUDO", "SEQ", "TYPE"; "E:key" and "V:key" for the state

Without a ProAdmin sign-in, nothing goes out: NANO$("ERREUR") says so, without stopping the program.

PROGRAM
nano connect
print "etat : "; nano$("etat")
print "erreur : "; nano$("erreur")
ON SCREEN
etat : hors
erreur : connexion

03 / A CHAT ROOM

A program for several stations.

The skeleton of a chat room: join, say hello, then show what arrives while sending what you type. Run on two signed-in machines, each one sees the other arrive and its messages, in the same order.

PROGRAM
nano connect
if nano$("erreur") <> "" then print "nano indisponible : "; nano$("erreur") : end
nano join "salon"
nano send "bonjour"
do
  nano receive m$
  if m$ <> "" then print nano$("pseudo"); " : "; m$
  k$ = inkey$
  if k$ <> "" then nano send k$
  wait vbl
loop
ON SCREEN
nano indisponible : connexion

04 / ERRORS

NANO$("ERREUR") says why.

No NANO statement stops the program: the cause of a failure is read in NANO$("ERREUR"). The codes: absent (module removed), connexion (no PROADMIN ON), droit (sharing not accepted at sign-in), central (central not registered), canal (invalid name or no channel), taille, version (the state changed in between), postes (channel full), reseau, or the code returned by ProAdmin or by the central.