The Original GoogleDoc - FujiNetWIFI/fujinet-firmware GitHub Wiki

FujiNet Manual

The latest Arduino IDE (version 1.8.10 as of this writing) can be found here:

https://www.arduino.cc/

Software > Downloads > [Windows, MAC, or Linux]

To add ESP8266 Support to Arduino IDE

https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/

Board settings:

image alt text

You also need: From Boards Manager:

image alt text

**CRITICAL: USE VERSION 2.4.0 FOR NOW. **Later versions have bugs in the toolchain which prevent working binaries.

This is the NodeMCU 1.0 board we are using:

Longruner 2pcs WiFi Internet ESP8266 Module CP2102 ESP12E NodeMCU LUA Development BoardWi-Fi Wireless Micro Controller with GPIO pins Compatible with ArduinoIDE LKY69

Available from Amazon: https://www.amazon.com/gp/product/B06X8ZJG87

If your Arduino environment gets wonky:

  • Delete your Arduino directory

  • Reinstall board support

  • Re-install libraries needed.

Location of Arduino project directory:

  • Windows: Documents\Arduino

  • Linux: ~/arduino

  • Mac: ~/arduino

Programming your NodeMCU:

Replacing the Firmware

  • Open atariwifi.ino in Arduino IDE [https://gist.github.com/mozzwald/f84692d942111a29a6764c2f45a35152]

  • Remove NodeMCU board from test board, if needed.

  • Plug in NodeMCU board, check for teal LED

  • Set board settings as above, ensure COM port is set correctly to your board.

  • In Arduino IDE press the Upload toolbar button.image alt text

  • Resize the status area below if needed to see the output from the compiler and the programming tool.

  • The blue LED on the NodeMCU should start flashing, indicate receipt of flash data.

  • You should also see an indication that the device is being flashed, an example of a successful flash, is below:image alt text

Replacing the Filesystem Contents

We are currently setting aside one megabyte of space in the 4 megabyte flash RAM to hold data files for different purposes. For now, this is all treated as a SPIFFS file-system. You can replace the data on the SPIFFS file system, without needing to re-flash the firmware, but you do need to flash the SPIFFS area, at least once.

  • If you haven’t installed the ESP8266 Sketch Data Upload tool, please do so, you can grab it here: https://github.com/esp8266/arduino-esp8266fs-plugin and follow the instructions to install into your $ARDUINO/tools folder.

  • Currently, we use one file, ‘autorun.atr’ which lives in the data/ directory. This is an ATR formatted, single density disk. (yes, it’s ATR now)

  • If replacing, please place any contents you want on the filesystem into data/ This is currently ATR images, but may be other things as we develop things out.

  • Select ESP8266 Sketch Data Upload

  • If working correctly, you’ll see a list of files being pushed to the SPIFFS, and their address locations, followed by a status display of flashing. It copies an entire 1 megabyte image to the SPIFFS, so this takes a few minutes

Currently Working on

Need to figure out

  • NAT-UPnP port forwarding for UDP for TNFS service

  • How to properly handle UDP traffic in Arduino. Argh.

SIO Commands

This is a list of the Proposed SIO commands for given device classes.

Network Emulation

Device Command Aux1 Aux2 Description
$70 $00 $00 $00 Reset Adapter
$70 ‘!’ $00 $00 Get Network Information
$70 ‘M’ DD* DM* Mount Disk Data is /disk_image.atr
$70 ‘U’ DD* 00 Unmount (umount) disk
$70 ‘&’ $HT $00 Send back handler
$7n ‘O’ $CT $00 Open network connection Data is :PORT#
$7n ‘C’ $CT $00 Close network connection
$7n ‘R’ $00 $00 Read bytes from connection
$7n ‘P’ $00 $00 Put bytes from connection
$7n ‘S’ $00 $00 Anything waiting? (STATUS)
  • DD is Disk device # (aka $31 for D1:)

  • DM is Disk Mode (D0 = Read, D1 = Write)

  • HT is handler type (D0 = RS232, D1 = Network)

  • X is 1-8, allowing 8 max connections.

  • CT = (1 = TCP, 2 = UDP)

Current Schematic

image alt text

External Documents

Firmware Development

https://cc65.github.io/getting-started.html#Windows

SIO Reference Material

See "Chapter 9: Serial I/O (SIO) Bus" starting on page 151.

http://www.virtualdub.org/downloads/Altirra%20Hardware%20Reference%20Manual.pdf

TNFS Protocol

http://spectrum.alioth.net/svn/filedetails.php?repname=Spectranet&path=%2Ftrunk%2Ftnfs%2Ftnfs-protocol.txt

Code Examples

**http://github.com/tschak909/atariwif**i

https://github.com/mozzwald/Zimodem/tree/atari

**https://github.com/mozzwald/FujiNet-MIDIMaz**e

Example Videos

AtariWiFi ESP8266 SIO Network Adapter: test program #5

#AtariWiFi Network Adapter test program #5 Now Working

#AtariWiFi Test Program #7 - Booting disk off the Internet!

#AtariWiFi Test Program #8: Show Network Info

#AtariWiFi Test Program #7 on Ben Heck Atari XE Laptop #2

#AtariWiFi Test #9 Writing Network Configuration

#FujiNet aka #AtariWiFi Test #10 - Read and Write!

#FujiNet Test #11: Wi-Fi Network Scan

#FujiNet Test #11 as a C program

#FujiNet Test #12 - Listing TNFS directory.

#FujiNet Test #13 - First breath of the N: Device!

Josh’s (48KRAM) 2019-11-22 Twitch Stream

Diskulator Video

#FujiNet Test #16 - Hello World from CIO!

⚠️ **GitHub.com Fallback** ⚠️