tschak909 Posted November 20, 2019 Share Posted November 20, 2019 (edited) #FujiNet code is here in GitHub: https://github.com/FujiNetWIFI Patreon page here: https://www.patreon.com/user?u=8255002 (funds here are used to take care of operational expenses such as shipping boards back and forth.) Website Describing the Production Firmware is Here: http://fujinet.online/ What is #FujiNet? #FujiNet (formerly known at #AtariWiFi) is a network adapter that attaches to the SIO (Peripheral) port of an Atari 8-bit system. It currently (as of Rev3) consists of an NodeMCU 1.0 device attached to an interface board which electrically attaches the NodeMCU to the SIO bus and provides the needed SIO connectors. What does it provide? #FujiNet is planned to provide the following functionality: "D:" Emulation, to virtually mount, read, and write ATR disk images over a protocol borrowed from the Spectranet community called TNFS. "R:" Emulation, via Type 1 POLL handler, to provide a virtual Wi-Fi modem for use with existing Communications programs such as Ice-T, BobTerm, AMODEM, and PLATOTERM. "N:" A new device for establishing TCP and UDP communication with other hosts, as well as controlling the adapter (setting configuration, mounting images, etc.) More functionality to be available by future over-the-air (OTA) updates to the firmware, such as IPP printing. Who can use it? Hopefully, everyone! The "D:" emulation provides an immediate out-of-the-box use case, to mount disks over the network, whatever network that may be, such as your local one, or an internet host. The "R:" handler will allow anybody who wants to call internet BBSes and services like IRATA.ONLINE to immediately use the device, and the "N:" device will allow whole new programs to be written which can natively handle network traffic! When will it be available? #FujiNet development (as of November 2019) is proceeding rapidly. Since the firmware is being written in Arduino, the firmware functionality is being sketched out and tested in very rapid cycles. I will be optimistic and say that by this time next year, we will have something well polished and usable. How much will it cost? Too early to tell, but, given that it is based on NodeMCU hardware, and given that the interface board is wholly populated with passive components, we (those of us working on the hardware side) expect the cost to be inexpensive, comparable to an SDrive-MAX. Still interested? More info: Wasn't this called #AtariWiFi? Yes, it was. In response to the name change, I have asked that the original thread be locked, previous updates, and demo videos can be found here: Where is the documentation? The documentation is being stored here in Google Docs: https://docs.google.com/document/d/1dIKFuxmX9O9cckz0HLN_7GmDKrYcbHury7Mgoomzqtg/edit?usp=sharing How are Disk Images Shared for "D:" Emulation? Disk images are shared using a file sharing protocol called TNFS. It was developed by Dylan Smith, the man who developed the Spectranet interface for the ZX Spectrum. It was understood that protocols like NFS and SMB were way too heavyweight to implement on 8-bit microcomputers, protocols like FTP and HTTP had way too much overhead, and protocols like TFTP and BOOTP were far too simple. So a nice medium was developed which maps the underlying filesystem in a simple, easy to implement protocol that can be used over UDP or TCP that uses a single connection. Where can I get a copy of tnfsd? The TNFSD server can be downloaded here: http://spectrum.alioth.net/doc/index.php/TNFS_server , it is available for Windows, Mac, and Linux. Source code is also available. Is the TNFS Protocol Information available? Absolutely, it is being used to implement the Arduino firmware: http://spectrum.alioth.net/svn/filedetails.php?repname=Spectranet&path=%2Ftrunk%2Ftnfs%2Ftnfs-protocol.txt What Atari-specific information is being used to implement the firmware? @phaeron's excellent Altirra Hardware Reference Manual is being used for the SIO side of things: http://www.virtualdub.org/downloads/Altirra Hardware Reference Manual.pdf Who is working on this? @tschak909 working on Firmware @mozzwald working on Hardware and Firmware, did first pass of enclosure. @jeffpiep working on Hardware and Firmware @Mr Robot working on Hardware and enclosure @Bill Lange Helping test. @48kRAM helping test. @a8isa1 helping test with his own board/interface @ivop helping test with his own board/interface Joe Decuir will also have a board for testing, soon. How is the hardware being implemented? The Hardware is being implemented in two pieces, a NodeMCU 1.0 comprises the majority of the hardware, providing the microcontroller, the WiFi interface, and a USB UART and power connection. The other major piece of hardware is the interface board which consists of a series of passive components which not only connect the board to the SIO bus, but also sufficiently isolate it where needed. This is a Rev2 board and its associated NodeMCU: I see an SIO connector on there, how is that being managed? @mozzwald and @Mr Robot have come up with an ingenious method of fabricating a connector that will not only fit the existing Molex sockets and cables, but also be easy to produce, which involves 3D printing a sandwich shell containing in-line pins that are soldered to a board-edge connector on the 'hole' side to provide a male pin for an SIO socket, or on the pin side to provide a female socket for the cabling, as seen here: How is the firmware being implemented? The firmware is being implemented as a series of small test programs. Each test program implements one piece of functionality (or a sub-functionality), and is used to determine where the problems may lie. Each test program typically involves one piece of Arduino firmware running on the device itself, and one piece of software running on the Atari. Each test is in its own directory in tests/ under the github repo. Does this mean there will be a lot of test programs? Yes. A lot. I estimate roughly a couple hundred test programs may be written over the course of development. The advantage to this is that everyone will see functionality develop quickly, in very small increments. What does DONE look like for 1.0? (D) emulation, read, write, mount disk images (R) emulation, CIO handler with baud rate/comms parameter configuration, and hardware handshaking for those that can use it via unused PROCEED line. (N) emulation, network scan and connect, TCP connect, stream, and read/write packets, UDP read/write packets, incoming packets trip INTERRUPT line, UDP multicast OTA updates for future updates. I want to help! What can I do? Contribute to this thread. Contact @tschak on twitter if you want to participate in the inner discussions (highly technical, very active.) Can you help write Arduino code? Can you help write example programs for the Atari in BASIC, Assembler, and/or C? Can you help improve the hardware? Can you help work out production logistics? And when we get hardware distributed, can you help test? Excited? So are we. -Thom Edited August 9, 2020 by tschak909 Patreon mention. 21 1 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.