Atom / BBC and Fujinet

emulators, hardware and classic software for atom + system machines
Post Reply
gob33
Posts: 131
Joined: Thu Jun 02, 2016 11:15 am
Contact:

Atom / BBC and Fujinet

Post by gob33 »

Hem, this is an idea, not concrete hardware, but what about connecting to that 8-bits global network ?
I dont even know if it is possible on Atom as I read 48k are needed for boot process, certainly feasable on BBC (similar to Apple ][).
Fujinet brings great possibilities;
  • D: for disk emulation, allowing disk images to be read or written to on SD cards or TNFS servers over the local network or Internet.
  • P: for printing emulation, providing printer emulation for various types of popular printers, including Atari-branded, Epson, and other alternatives.
  • R: for RS-232 emulation, providing a Wi-Fi modem that can be used by existing communications programs that work with an Atari 850 interface.
  • N: providing a network adapter that can talk TCP, HTTP, UDP, and other protocols to other TCP/IP hosts.
Here "FujiNet in 15 Minutes" by the creator Thomas Cherryhomes showing ALL of the core features.

https://fujinet.online

Fujinet for Atari.png
A file sharing protocol called TNFS (Tiny Network File System) is used.
It was developed by Dylan Smith, 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.

The TNFS protocol description
Documentation:
Atari N: Handler for FujiNet
Altirra Atari emulator hardware reference manual.
Atari Serial Input / Output system.
Atari NOS (Network Operating System) which replace floppy disks.
Last edited by gob33 on Sat Mar 11, 2023 11:38 pm, edited 6 times in total.
User avatar
danielj
Posts: 9904
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: Atom / BBC and Fujinet

Post by danielj »

I think the tidiest way to do this would probably be via the Pi-AUN-Econet server - that way it would just need some software writing on the pi-end of things and in the meantime would use the existing network interface within the acorn machines? Otherwise you need to do all the server-side and client side stuff. This way you'd just need to shim in the server-side things.

d.
tschak909
Posts: 8
Joined: Fri Jul 20, 2018 11:05 pm
Contact:

Re: Atom / BBC and Fujinet

Post by tschak909 »

Hi. I am one of the firmware engineers for FujiNet (and arguably one of the project spokespeople)

I think I need to point to the Github repository for our firmware:
https://github.com/FujiNetWIFI/fujinet-platformio

If you look in lib/bus, lib/device and lib/media, you'll see that we have a very abstracted set of concerns that can be ported to a wide variety of platforms.

So this basically means that we'd need to think of a bus method. I can think of three:

(1) simulate an Econet device using the ESP32 UART
(2) use a method similar to the various SD card adapters over SPI
(3) use the generic bus interface being developed for the ZX Spectrum and other 8-bit parallel busses

The usual method is to try and use the way that integrates most with the system, but since Acorn has MOS, and people have had absolutely no issue making new sideways ROMs to add * commands for things, this isn't such a pressing concern, I don't think.

I can help get the bring-up started for anyone who wants to hack on this, as I know this will bring:

* networked/local storage: something everybody wants and uses.
* virtual printer, rendering to PDF simulating a wide variety of printers
* protocol offloaded network adapter allowing a Beeb to actually participate in the modern web, especially because TLS/SSL just works, and there's a huge honking microcontroller to handle the heavy lifting.
* and more

We have a Discord, where e.g. bring-up discussions are done, and have made an #acorn-and-beebs channel specifically for a BBC bring-up. https://discord.gg/2Ce9guX

-Thom
User avatar
BigEd
Posts: 6276
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Atom / BBC and Fujinet

Post by BigEd »

Is it possible to just use the serial port? There are various previous projects which multiplex several channels over the byte stream. George/gfoot's ROMless Serial Filing System is particularly nice in bootstrapping without needing a ROM.
tschak909
Posts: 8
Joined: Fri Jul 20, 2018 11:05 pm
Contact:

Re: Atom / BBC and Fujinet

Post by tschak909 »

Maybe. There do seem to be a lot of options to explore. The ESP32 is very shape-shifty, and we can put an RP2040 as a front-end, if needed.
-Thom
User avatar
BigEd
Posts: 6276
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Atom / BBC and Fujinet

Post by BigEd »

There are already some people with a Pico connected to their 1MHz bus, and other with a Pi. That might be a good way to go, as the 1MHz bus allows for injection of code at boot time, so it can be ROMless.

There are very many people with a Pi connected as a second processor, but it's not so clear how to make use of that - the Pi is very busy, and it's a bare metal project, with no USB or networking capability. It does have a 3V serial port though - that might be a way to go.
User avatar
BigEd
Posts: 6276
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Atom / BBC and Fujinet

Post by BigEd »

BTW, a filing system might be the way to go, to extend the machine's capabilities. The Acorn MOS allows for various file systems, each of which conventionally sits in a 16k ROM. Each file system can parse its own file name and file path syntax, I think.
gob33
Posts: 131
Joined: Thu Jun 02, 2016 11:15 am
Contact:

Re: Atom / BBC and Fujinet

Post by gob33 »

Replacement of 6502 by Ted Freid's MCL65+ (Teensy 4.1 @ 600Mhz emulating 6502) plus Ethernet kit (PJRC shop).
The Teensy 4.1 by Paul Stoffregen (NXP i.MX RT1062 soc) can emulate other procs, is Arduino comptatible and has more power than ESP32.

PSX_20230309_155625.jpg
ethernet_kit_06.jpg
tschak909
Posts: 8
Joined: Fri Jul 20, 2018 11:05 pm
Contact:

Re: Atom / BBC and Fujinet

Post by tschak909 »

gob33 wrote: Thu Nov 09, 2023 1:13 pm Replacement of 6502 by Ted Freid's MCL65+ (Teensy 4.1 @ 600Mhz emulating 6502) plus Ethernet kit (PJRC shop).
The Teensy 4.1 by Paul Stoffregen (NXP i.MX RT1062 soc) can emulate other procs, is Arduino comptatible and has more power than ESP32.

PSX_20230309_155625.jpg
ethernet_kit_06.jpg
I would suggest actually looking at our codebase. There are good reasons we used ESP32 (and why we also did the POSIX port):
https://github.com/FujiNetWIFI/fujinet-platformio/wiki

We leverage the WIFI, TCP, and application stacks very heavily to do what we need. This was not done in Arduino, we needed something stronger. :)

-Thom
User avatar
BigEd
Posts: 6276
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Atom / BBC and Fujinet

Post by BigEd »

The question, I think, is how to connect a Fujinet-gateway-ESP32 to a Beeb or other Acorn computer, and how to integrate the facilities in software in such a way that it can be used conveniently. I think the answer is probably a 1MHz bus adapter and a file system ROM.

(Or possibly a serial connection to a Pi running PiTubeDirect with suitable software on the Native ARM (which can be written in C). Except, that doesn't naturally provide a way to access Fujinet from host-located software, it would be a tricky reverse-Tube kind of thing, so perhaps forget that!)
tschak909
Posts: 8
Joined: Fri Jul 20, 2018 11:05 pm
Contact:

Re: Atom / BBC and Fujinet

Post by tschak909 »

Has anyone looked at the firmware? Any questions I can answer?

-Thom
User avatar
BigEd
Posts: 6276
Joined: Sun Jan 24, 2010 10:24 am
Location: West Country
Contact:

Re: Atom / BBC and Fujinet

Post by BigEd »

possibly relevant - the A2retroNET is (I think!) a hardware card for an apple2 which allows a pico to be connected, for possible mass storage and networking.

slide text and video from kansasfest:
FujiNet
* Virtual disk + virtual modem + virtual printer sounds like FujiNet...
* No competition, rather complementing each other!
* From the A2retroNET perspective: FujiNet is a backend, that can run on many hordware variants and provides many backend functionalities out-of-the-box.
* From the FujiNet perspective: A2retroNET brings native modem and printer interfaces and speed far beyond the classic SmartPort bus.
* New FujiNet programs (i.e. multiplayer games) work the same both with FujiNet connected via the SmartPort bus or via A2retroNet
gob33
Posts: 131
Joined: Thu Jun 02, 2016 11:15 am
Contact:

Re: Atom / BBC and Fujinet

Post by gob33 »

In fact your project is tailored for Olimex's Agon Light2 (ESP32-PICO-D4) under BBC Basic + MOD-WIFI-ESP8266.
See Fast gopher browser for Agon Light2 by Alexander Sharikhin

But it would be better if Olimex could add an IPEX coaxial connector on Agon Light 2 board (pin2 LNA_IN of ESP32-PICO-D4) in order to connect an external Wifi antenna. This way you dont need ESP8266 module as the ESP32-PICO-D4 already support Wifi internaly.
Post Reply

Return to “acorn atom and acorn system series”