1 The Original GoogleDoc
Thomas Cherryhomes edited this page 2019-12-13 10:47:05 -06:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 havent 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, its 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, youll 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!

Joshs (48KRAM) 2019-11-22 Twitch Stream

Diskulator Video

#FujiNet Test #16 - Hello World from CIO!