Skip to content

Network Device (N:)

The Network Device — called N: on Atari, with equivalents on other platforms — is FujiNet's most powerful and unique feature. It gives your vintage CPU access to the modern internet without the computer itself needing to handle TCP/IP.

The problem it solves

flowchart TD
    subgraph Without FujiNet
        CPU1[1 MHz 6502\nCannot handle TCP/IP] -. No connection .-> I1[Internet]
    end
    subgraph With FujiNet
        CPU2[1 MHz 6502\nReads/writes data] -->|Peripheral bus| ESP[FujiNet ESP32\nHandles all TCP/IP]
        ESP -->|Wi-Fi| I2[Internet]
    end

Your vintage computer treats the network device just like a serial port or file — it simply reads and writes bytes. FujiNet's ESP32 chip handles all the complex TCP/IP processing behind the scenes.

Supported protocols

Protocol Use case
HTTP Web pages, APIs, weather data
HTTPS Secure web pages and APIs
FTP File downloads from FTP servers
SSH Secure shell sessions
Telnet BBS connections, legacy systems
TNFS FujiNet's retro-optimized file server protocol
WebDAV Remote file access
TCP Raw socket connections
UDP Datagrams (used by some games)
JSON Parsed HTTP+JSON responses

How applications use N:

Atari example

On Atari, the N: device is accessed through CIO (Central I/O) just like any other device:

; Open N: device for HTTP GET
lda #$03        ; OPEN
sta ICCOM,x
lda #<ndevurl
sta ICBAL,x
lda #>ndevurl
sta ICBAH,x
lda #$04        ; read mode
sta ICAX1,x
jsr CIOV

ndevurl .byte "N:HTTP://api.example.com/data",0

BASIC programs can also use OPEN #1,4,0,"N:HTTP://..." to read from URLs.

What this enables

Because apps just read/write strings, developers can create programs that were impossible on vintage hardware:

graph LR
    APP[Atari App] -->|N: device| FN[FujiNet]
    FN --> WX[Weather API\nCurrent conditions]
    FN --> WK[Wikipedia\nArticle text]
    FN --> HS[High Score\nServer]
    FN --> MP[Multiplayer\nGame Server]
    FN --> BBS[BBS / Telnet\nServer]

Apps built on the network device

App Platform What it does
FujiNet Weather Atari Real-time weather via IP geolocation
Wikipedia Reader Atari Search and browse Wikipedia
Five Card Stud Multi-platform Online poker over TCP
Fujitzee Multi-platform Online Yahtzee over TCP
High Score clients Atari Submit/retrieve game scores
BBS Terminal All Telnet into classic BBSes

JSON parsing

FujiNet includes an onboard JSON parser that simplifies API access. Instead of your vintage CPU parsing complex JSON text, FujiNet parses it and returns only the fields your program needs:

sequenceDiagram
    participant App as Vintage App
    participant FN as FujiNet
    participant API as Web API

    App->>FN: GET https://api.weather.com/v1/current
    FN->>API: HTTP GET request
    API-->>FN: {"temperature":72,"humidity":45,"city":"Springfield"}
    App->>FN: Parse JSON: ["temperature"]
    FN-->>App: "72"

The JSON query syntax uses a simple path notation (e.g., ["city"]["temperature"]), letting even BASIC programs extract specific values from complex web API responses.