Jump to content
IGNORED

Call for help: #FUJINET for Coleco Adam


tschak909

Recommended Posts

Hello Adam users. This will be a very long post, but the abstract is: I would like to bring #FujiNet to the Adam, via AdamNet, to provide network streaming of disk, virtual printing to PDF, a WiFi MODEM, and a Network Interface Card with tons of protocol offloading, and to do so in a very cost effective way using the ESP32 platform, something that has been proven out in the Atari community, with a device selling for $65 assembled, with a completely free software stack, and available from multiple vendors, without asking for any licensing.

 

Still with me? Good.

 

If you want to see FujiNet, go to http://fujinet.online and we have a 15 minute YouTube video here:

So what are we dealing with, here?

 

FujiNet is a firmware for WROVER based ESP32. It consists of a whole bunch of modules that turn the ESP32 into a bunch of virtual peripherals, and the firmware is being worked on in a way to be able to provide these peripherals to a wide variety of systems. We’ve done the most amount of work on the Atari peripherals, but the Commodore 64 peripherals are coming online, and we’re looking at ways to bring this to the Apple ][.

 

The most popular of these virtual peripherals is the disk drive, which can load disk images from either a local SD card, or from the network using a protocol that we’ve adopted from the Spectranet network adapter for the Sinclair ZX Spectrum called TNFS (Trivial Network File System). This gives an out-of-the-box functionality to all Adam users that everybody would want, the ability to stream software directly to your Adam.

 

We’ve embedded a PDF generator that was written from scratch into the Adam. It emulates a variety of printers, converting the native printer codes output from the application, rendering pages in PDF format, which are picked up in FujiNet’s web interface. It was a wonderful thing to be able to fire up Print Shop, and do banners, again. :)

 

A WiFi modem is provided. Depending on the target system, it looks like a Hayes compatible MODEM attached to a serial port. It allows existing communications programs to connect to BBSes and to interact with them. Not much else to add here, but it is there, it works, and is useful to those who love to connect to BBSes.

But perhaps, the most interesting peripheral in FujiNet’s arsenal, is one that is slowly starting to be discovered by its users, the network adapter. Because the ESP32 microcontroller is very powerful, provides a network interface, and can have all sorts of firmware running on it, it is possible to not only run a complete TCP/IP stack, but also to offload the application protocol complexities (such as HTTP/S, FTP, SSH, TNFS, SMB, NFS, IMAP, etc.) away from the computer, and provide a nice clean I/O channel that the computer can read at its leisure in a form that is most conducive to the system. This means, that for example, FujiNet integrates into the operating systems of the Atari and C64, and you use the same I/O methods to send data to and from the network, as you do to local devices.

 

Because the ESP32 has the muscle to handle these protocols, and to handle things like encryption for TLS (aka SSL), it means that FujiNet devices can become first class Internet citizens, and programs can be written using whatever language you wish. It makes building network connected games and applications something you can do on a weekend.

 

Still interested? Awesome.

 

What we need is motivated people to help do:

 

* Design the hardware coupling to AdamNet (connect the adamnet to the serial pins on the ESP32)

* Help write the ESP32 to make it talk like an AdamNet peripheral.

 

If you want to see the firmware, you can get a copy at: https://github.com/FujiNetWIFI/fujinet-platformio/

 

I hope we can generate some interest to make this happen. :)

 

-Thom

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...
On 7/12/2021 at 11:09 AM, tschak909 said:

Hello Adam users. This will be a very long post, but the abstract is: I would like to bring #FujiNet to the Adam, via AdamNet, to provide network streaming of disk, virtual printing to PDF, a WiFi MODEM, and a Network Interface Card with tons of protocol offloading, and to do so in a very cost effective way using the ESP32 platform, something that has been proven out in the Atari community, with a device selling for $65 assembled, with a completely free software stack, and available from multiple vendors, without asking for any licensing.

 

Still with me? Good.

 

If you want to see FujiNet, go to http://fujinet.online and we have a 15 minute YouTube video here:

So what are we dealing with, here?

 

FujiNet is a firmware for WROVER based ESP32. It consists of a whole bunch of modules that turn the ESP32 into a bunch of virtual peripherals, and the firmware is being worked on in a way to be able to provide these peripherals to a wide variety of systems. We’ve done the most amount of work on the Atari peripherals, but the Commodore 64 peripherals are coming online, and we’re looking at ways to bring this to the Apple ][.

 

The most popular of these virtual peripherals is the disk drive, which can load disk images from either a local SD card, or from the network using a protocol that we’ve adopted from the Spectranet network adapter for the Sinclair ZX Spectrum called TNFS (Trivial Network File System). This gives an out-of-the-box functionality to all Adam users that everybody would want, the ability to stream software directly to your Adam.

 

We’ve embedded a PDF generator that was written from scratch into the Adam. It emulates a variety of printers, converting the native printer codes output from the application, rendering pages in PDF format, which are picked up in FujiNet’s web interface. It was a wonderful thing to be able to fire up Print Shop, and do banners, again. :)

 

A WiFi modem is provided. Depending on the target system, it looks like a Hayes compatible MODEM attached to a serial port. It allows existing communications programs to connect to BBSes and to interact with them. Not much else to add here, but it is there, it works, and is useful to those who love to connect to BBSes.

But perhaps, the most interesting peripheral in FujiNet’s arsenal, is one that is slowly starting to be discovered by its users, the network adapter. Because the ESP32 microcontroller is very powerful, provides a network interface, and can have all sorts of firmware running on it, it is possible to not only run a complete TCP/IP stack, but also to offload the application protocol complexities (such as HTTP/S, FTP, SSH, TNFS, SMB, NFS, IMAP, etc.) away from the computer, and provide a nice clean I/O channel that the computer can read at its leisure in a form that is most conducive to the system. This means, that for example, FujiNet integrates into the operating systems of the Atari and C64, and you use the same I/O methods to send data to and from the network, as you do to local devices.

 

Because the ESP32 has the muscle to handle these protocols, and to handle things like encryption for TLS (aka SSL), it means that FujiNet devices can become first class Internet citizens, and programs can be written using whatever language you wish. It makes building network connected games and applications something you can do on a weekend.

 

Still interested? Awesome.

 

What we need is motivated people to help do:

 

* Design the hardware coupling to AdamNet (connect the adamnet to the serial pins on the ESP32)

* Help write the ESP32 to make it talk like an AdamNet peripheral.

 

If you want to see the firmware, you can get a copy at: https://github.com/FujiNetWIFI/fujinet-platformio/

 

I hope we can generate some interest to make this happen. :)

 

-Thom

Starting work on #FujiNet for Adam.

 

Working with my hardware colleague to modify an existing fujinet unit to plug into AdamNet.

 

The thought is to put the ESP32 UART into RS485 mode, set the baud clock to 62.5kbps, and do some tweaks to ensure that the transmission mode is properly blocked half duplex.

 

While the hardware is being hacked, I am putting together my toolchain for the Adam host software using Z88DK, adapting a new configuration to emit an EOS compatible binary. A good start. Loading the result via ADE on my borrowed Adam.

 

Link to comment
Share on other sites

  • 10 months later...
On 7/27/2021 at 9:50 PM, tschak909 said:

Starting work on #FujiNet for Adam.

 

Working with my hardware colleague to modify an existing fujinet unit to plug into AdamNet.

 

The thought is to put the ESP32 UART into RS485 mode, set the baud clock to 62.5kbps, and do some tweaks to ensure that the transmission mode is properly blocked half duplex.

 

While the hardware is being hacked, I am putting together my toolchain for the Adam host software using Z88DK, adapting a new configuration to emit an EOS compatible binary. A good start. Loading the result via ADE on my borrowed Adam.

 

 

I am very interested in helping develop software for the Adam, I just got my Adam computer, does the Fujinet need its own power supply or does it draw power from the Adam?

 

Russ

 

Link to comment
Share on other sites

Just now, rcamp48 said:

I am very interested in helping develop software for the Adam, I just got my Adam computer, does the Fujinet need its own power supply or does it draw power from the Adam?

 

Russ

 

It can run either way, pulling power from the AdamNet connector, or externally via the USB connector.

Link to comment
Share on other sites

1 minute ago, tschak909 said:

It can run either way, pulling power from the AdamNet connector, or externally via the USB connector.

Great, as soon as I get the $$$ I will order, I am setting up a small museum in the warehouse of the building that I work in.

Link to comment
Share on other sites

  • 3 months later...
5 hours ago, rcamp48 said:

I have bought my Adam Fujinet, now I have to figure out how many levels deep I can go on the file section on the Micro SD card

 

I have not tested to see if there are any limitations on the number of sub-directories that can be handled by the FujiNet software, but I would keep it minimal seeing as browsing through numerous sub-directories will be slow.

 

Link to comment
Share on other sites

16 minutes ago, NIAD said:

I have not tested to see if there are any limitations on the number of sub-directories that can be handled by the FujiNet software, but I would keep it minimal seeing as browsing through numerous sub-directories will be slow.

 

well, if he comes up with a metric, would be nice to know. :D:)

-Thom

Link to comment
Share on other sites

16 hours ago, tschak909 said:

well, if he comes up with a metric, would be nice to know. :D:)

-Thom

The metric is the screen redraws and the time needed for the listing of files on the screen to be displayed. The latest firmware update is an improvement but I and others understand that there is only so much that can be accomplished using a graphics based interface compared to a text based interface. I am glad you went with the SmartKey graphics interface for FujiNet, but I also appreciate the speed of ADE Commander for the ADE.

 

Either way, a win-win for ADAM owners!

Link to comment
Share on other sites

You're welcome.

 

For anyone who is curious:

 

* The CONFIG program lives in the SPIFFS flash, and can be replaced with any other program, board bring-up instructions here: https://github.com/FujiNetWIFI/fujinet-platformio
 

* It is written in C, but can be written in any language that can be booted, source code here: https://github.com/FujiNetWIFI/fujinet-config-adam
 

* All the commands that are used are documented: https://github.com/FujiNetWIFI/fujinet-platformio/wiki/SIO-Commands-for-Device-ID-%2470

So there is nothing stopping someone from writing a text based config. I'll even offer to mentor.

 

Any takers?

 

-Thom

  • Like 1
Link to comment
Share on other sites

On 9/18/2022 at 11:32 AM, tschak909 said:

You're welcome.

 

For anyone who is curious:

 

* The CONFIG program lives in the SPIFFS flash, and can be replaced with any other program, board bring-up instructions here: https://github.com/FujiNetWIFI/fujinet-platformio
 

* It is written in C, but can be written in any language that can be booted, source code here: https://github.com/FujiNetWIFI/fujinet-config-adam
 

* All the commands that are used are documented: https://github.com/FujiNetWIFI/fujinet-platformio/wiki/SIO-Commands-for-Device-ID-%2470

So there is nothing stopping someone from writing a text based config. I'll even offer to mentor.

 

Any takers?

 

-Thom

Yes I am interested , give me a chance at it!

 

 

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...