Jump to content
tschak909

#FujiNet - a WIP SIO Network Adapter for the Atari 8-bit

Recommended Posts

In the Google Docs link? Thank you, looking at that now. It looks like that only mentions the ESP8266 version; is the ESP32 variant going to be the main device going forward? Or is the codebase going to attempt to straddle both platforms?

Share this post


Link to post
Share on other sites

Right now, the codebase is targeting both.

 

re-pasting the schematic from the beginning of the thread:

sio-modem-nodemcu_01.jpg.886f1d5afb723d4313cff2e9fe3799ad.jpg.7c3017003d3faa88c7a3638f5ede7ef9.jpg

 

-Thom

Share this post


Link to post
Share on other sites
16 hours ago, E474 said:

Hi,

 

    Would it be possible to map the Boot button to "mount next ATR image in folder locally or on server" in a round robin type setup?

 

16 hours ago, tschak909 said:

That would result in very ambiguous behavior. This is why adding the web server front-end is on my list.

 

-Thom

 

It is funny, but completely independent from E474, I shared on discord my thoughts about the user interface of the Fujinet device and possible use cases for hardkeys.

 

I fully agree with E474 that Fujinet needs a "SWAP" button for changing disk images (it is a MUST HAVE feature).

An OLED display would also be great to present current disk assignment, WIFI status, Bluetooth status, etc,

I know that Mozzwald wants to keep the electrical/mechanical design as simple as possible, but it really would be nice to see the status at any point of time.

 

Web server front-end is cool, but it requires additional hardware (PC/smartphone) and Fujinet has to be connected to WIFI.

It would be nice for advanced configuration, presenting the user all possible switches, etc. (I consider web interface as optional for advanced users only).

 

Atari based configurator is nice (reduces the need for hardware buttons), but swaping disks while playing a game is not possible with it.

 

A disable button would also be appreciated to allow loading from a normal disk drive, while Fujinet is in the SIO chain.

 

Any other idea ? Is there anything else that can not be done in the Atari configurator and requires a hardkey ?

 

 

 

 

 

Edited by TheMontezuma
  • Like 4

Share this post


Link to post
Share on other sites

Hi,

 

   The BOOT button is part of the ESP32 development kit board, but would it be possible to add places to mount buttons on the SIO breakout board? Personally I would add them (if possible) to the part of the board furthest from the 8-bits SIO connector, just for accessibility. Not sure how many buttons to provide places for, but 3 mount points would give 2^3 combinations (when in use), though might be a bit fiddly to use.

 

   I think having a "next disk" button is a handy enough feature to try and support, I think having a directory with SIDE_A.ATR, SIDE_B.ATR in it or DISK_1.ATR, DISK_2.ATR, DISK_3.ATR in it is pretty common. 

 

   Only other use for a button I can think of would be create blank ATR/create DOS 2.5 blank disk ATR, and use a timestamp for the new ATR file name, or BLANK001.ATR, etc.

 

   Also, would it be possible to use ATR files contained in zip files (at some point)?

Edited by E474
  • Like 1

Share this post


Link to post
Share on other sites

Nice. A "new ATR" is a good candidate!

 

If we had a multiline OLED display and 4 buttons (menu/exit, up, down, enter), Fujinet could offer easy control for all possible actions.

 

 

Share this post


Link to post
Share on other sites

OLED Display and buttons does add to the cost though. I believe one of the goals is to keep sub-$20 or something? Yeah, webserver needs WiFi connectivity enabled, but how about a bluetooth config app on Android? Not my cup of tea, but could be done without the need for WiFi.

 

  • Like 1

Share this post


Link to post
Share on other sites
17 hours ago, kerobaros said:

This is all very exciting. What's the easiest way to assemble one of these prototypes for now?

I built my simplified prototype this weekend (only Din Dout Cmd and Gnd) and make it work after correcting some mistakes and I would like to say two things:

- This is wonderful. Thank Thom for being the main contributor and force behind this development, and all the others for make this happen. 

- It is not clear (except for a old mozzwald post) that the ESP32 version keeps the 470 ohms resistors for each signal, but DOES NOT use the arrangement of transistors shown in the schem, posted by Thom (since it is a esp8266 schem, that is needed for esp8266 only). Instead only the DIODE is needed (if you want the board to be part of the SIO bus with other devices at the same time).

I actually first took some wires with pins and did the following connections b/w a spare sio cable and the ESP32 module (without resistors):

GPIO16------SIO pin5  DOut

GPIO17------SIO pin3  DIn

GPIO21------SIO pin7 Cmd

GND-------- SIO pin4 GND 

and I powered the module thru the include USB connector. It worked. So then I moved to debug my prototype board, since I knew the module itself was working properly.

 

Thanks again!

Mauricio

 

 

 

Share this post


Link to post
Share on other sites
3 hours ago, ivop said:

OLED Display and buttons does add to the cost though. I believe one of the goals is to keep sub-$20 or something? Yeah, webserver needs WiFi connectivity enabled, but how about a bluetooth config app on Android? Not my cup of tea, but could be done without the need for WiFi.

 

 

14 hours ago, TheMontezuma said:

It is funny, but completely independent from E474, I shared on discord my thoughts about the user interface of the Fujinet device and possible use cases for hardkeys.

 

I fully agree with E474 that Fujinet needs a "SWAP" button for changing disk images (it is a MUST HAVE feature).

An OLED display would also be great to present current disk assignment, WIFI status, Bluetooth status, etc,

I know that Mozzwald wants to keep the electrical/mechanical design as simple as possible, but it really would be nice to see the status at any point of time.

 

Web server front-end is cool, but it requires additional hardware (PC/smartphone) and Fujinet has to be connected to WIFI.

It would be nice for advanced configuration, presenting the user all possible switches, etc. (I consider web interface as optional for advanced users only).

 

Atari based configurator is nice (reduces the need for hardware buttons), but swaping disks while playing a game is not possible with it.

 

A disable button would also be appreciated to allow loading from a normal disk drive, while Fujinet is in the SIO chain.

 

Any other idea ? Is there anything else that can not be done in the Atari configurator and requires a hardkey ?

My goal is to keep the hardware as simple and small as possible and keep the part count small to make it as cheap as possible. Any added hardware like OLED display adds to the complexity and cost. If in the end we decide to add it, so be it, but I think we can live without. The way I see it, adding a display means having an enclosure with a cord like the Sdrive max which I wanted to avoid. The current hardware design can be plugged into any SIO port on the bus and work, no need to see a display on it. Button access will be important though.

 

More buttons would be a cheap addition and just takes up more space on the PCB. Currently, we only have 1 usable button with FujiNet. One button resets the device and the other is used to enter bootloader flash mode and can be used for whatever we want after bootup. There was some more discussion on discord today about handling disk swap and this seems like a viable option for the time being with the single button: Short press = disk swap, Long press = new ATR.

 

A web server on the FujiNet can be used for configuration. If Wifi is not available (no router in the area) the device can be setup as an access point allowing wifi configuration. Bluetooth config is another option. I think Wifi config makes the most sense since it can be done via any device with a web browser (phone, tablet, laptop, desktop, smart fridge if you like :) etc). The Atari side configuration can be used to get started.

 

Something I would like more input about is the SIO connector design I've come up with. The first device was just a single plug (like a USB stick, if you will) which is good if you don't have any other devices to use, or add it to the end of the SIO chain. The latest design has a plug and receptacle and will work as a pass through device anywhere in the chain. It could also be made with 1 or 2 receptacles. If we decide to not have a display on FujiNet, what type of connection would serve most users? FWIW, I've been using the latest design hanging off the end of an SIO cable which is plugged into a 1050 which is plugged into the Atari, mostly because it's closer to me for development. Also keep in mind if we only have 1 connector instead of 2 it will be a bit cheaper and easier to make ;) The idea of something like the Sdrive ARM vertical board with pass through SIO has also been brought up:

 

I am not a hardcore Atari user so it's good to hear other users ideas about how they want to use and interact with the device. Working together we can figure out the best route to take it so I welcome the ideas.

  • Like 1

Share this post


Link to post
Share on other sites
On 1/12/2020 at 11:04 PM, tschak909 said:
#FujiNet #Atari @mozzwald has been hard at work fusing together my work on the Multilator and the work he's done implementing an 850 compatible RS232 interface and integrated WIFI modem. Here you see it effortlessly loading modem programs over the network and connecting to BBSes, but wait until the end, for a surprise!

Sliced bread has nothing over this. :D  Sign me up!

  • Like 1

Share this post


Link to post
Share on other sites

Hi,

 

   With my SDrive Max, I generally set everything up using the SDrive (?) menu program on the 8-bit, and only use the touch screen for changing disks when I am prompted to by the program I am using. I could live without the touchscreen if there was a way to change disks while using the 8-bit. Having a button to do so is a bit more convenient than using a webserver/webpage, certainly if there is a button free for use then "short press = next ATR in folder", "long press = new ATR" would be very handy.

 

  Thanks!

 

   

  • Like 1

Share this post


Link to post
Share on other sites

I want one. I don't have extra money yet, but I will.

This will be a nice try for the BBS.

Edit: I especially hope that printing to network LPR printers can work. I have hp DesignJet 510 24" roll printer. It is fun to use w/ Windows XP and MS Publisher / Adobe Illustrator. I want to directly drive it w/ Atari.

This should be easy. It will also encourage more people to make printing applications for Atari.

:)

 

Edited by Kyle22
added info for clarity
  • Like 1

Share this post


Link to post
Share on other sites

I have made some fixes to multilator2modem so that DTR/RTS/XMT are persisted for the 850 control command, and DTR is dealt with, so that hang-ups in BBS Express! now work.

 

I have discovered there is a critical bug in the disk read cache which is causing corruption after writes. not sure what is happening, yet...

 

-thom

 

 

Share this post


Link to post
Share on other sites
7 hours ago, mozzwald said:

I am not a hardcore Atari user so it's good to hear other users ideas about how they want to use and interact with the device. Working together we can figure out the best route to take it so I welcome the ideas.

Yes, it would be great to get more feedback from ATARI users.

 

I will try to summarize all options, describing advantages and disadvantages:

 

Web interface
-------------
Web interface is comfortable, flexible and comprehensive.
It can provide access to every single configuration item and trigger every possible action.
With only little effort it can be maintained to support all new features added to the firmware in the future.
It requires a PC (or smartphone) and a WiFi connection.

 

Atari configurator
------------------
Atari configurator is loaded after Atari is powered on.
It can be used for initial setup (disk mounting, etc.). Simple configuration is also possible.
Atari configurator is limited to actions/parameters available over SIO interface.
After initial setup, the configurator is gone, so it can not be used (for example) to swap disks, when the user is asked for that by a multidisk game.

 

Hardkeys/LEDs/(Touch)Display
----------------------------
Available all the time (regardles of the Wifi and SIO status).
Good option for the most common/typical actions, which can not be otherwise achieved with Atari configurator (for example: swap disks).

It can present status information (for example WiFi status using LED, Disk assignment status using display).
Depending on the design it could be easy or hard to use.
For example:
- the usage of hardkeys with SIO2SD is not very intuitiv
- SDRIVE-MAX display does not support long file names

It is a major price factor for FujiNet (it is prefered by FujiNet team to minimize the costs and hence the number of hardware elements).

 

 

 

Edited by TheMontezuma
  • Like 1

Share this post


Link to post
Share on other sites

As a test, I took my Mars Bar #FujiNet into my daughter's room, plugged into her XEGS, booted up BBS Express, and accepted a call, which it did, quite nicely. Her machine hadn't been prepared for this in advance.

 

 

  • Like 5

Share this post


Link to post
Share on other sites

Is there a possibility to adapt the firmware to behave as a 1050-2-PC and then connect the device to Atari++ emulator?

 

-SteveS

Edited by a8isa1

Share this post


Link to post
Share on other sites
7 hours ago, a8isa1 said:

Is there a possibility to adapt the firmware to behave as a 1050-2-PC and then connect the device to Atari++ emulator?

 

-SteveS

Have you already tried to connect a real floppy drive to Atari emulator (I guess this is were you were going to) ?

 

I tried to do it with atari800 emulator running on Raspberry Pi (inside Atari enclosure).

Unfortunately the emulator timings were not precise enough, so I gave it up:

https://github.com/atari800/atari800/issues/22

 

Otherwise, it should not be a big deal to make FujiNet acting as SIO2PC or 1050-2-PC.

Perhaps except for the need for additional hardware switch on the board (to select a working mode).

 

I have actually already done a similar thing - I made FujiNet acting as SIO2BT:

 

and Mozzwald made Fujinet working as a MIDI interface for playing MIDI Maze 🙂

 

 

Edited by TheMontezuma
  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, TheMontezuma said:

Have you already tried to connect a real floppy drive to Atari emulator (I guess this is were you were going to) ?

 

 

I'm not a hardware guy (nor much of a software guy either) but here's what I think.

 

The USB serial bridge on my NodeMCU dev board is a CH340G.  I believe the chip itself has full handshaking capability but on the NodeMCU board only RX and TX are connected (to the ESP8266).  I also believe a 1050-2-PC cable uses the signal DTR.   I thus assume that DTR (pin-15 of the CH340G) needs to be connected to one of the GPIO pins of the ESP8266.  pin_CMD (whatever that is on the nodeMCU board) for the #fujinet firmware(s). 

 

I don't know if the signal level is OK for the connection, if it needs to be inverted, filtered, or buffered.

 

I think my soldering skill (or lack thereof) is just good enough to work on one of the CH340G's pins.  I will probably discover if this true shortly.  I have 2 spare nodeMCU dev boards.  They are are old, version v0.9.   I will likely get newer ones in the near future.  I would also get a few ESP32s.

 

-SteveS

Edited by a8isa1

Share this post


Link to post
Share on other sites
6 minutes ago, a8isa1 said:

I'm not a hardware guy (nor much of a software guy either) but here's what I think.

 

The USB serial bridge on my NodeMCU dev board is a CH340G.  I believe the chip itself has full handshaking capability but on the NodeMCU board only RX and TX are connected (to the ESP8266).  I also believe a 1050-2-PC cable uses the signal DTR.   I thus assume that DTR (pin-15 of the CH340G) needs to be connected to one of the GPIO pins of the ESP8266.  pin_CMD (whatever that is on the nodeMCU board) for the #fujinet firmware(s). 

 

I don't know if the signal level is OK for the connection, if it needs to be inverted, filtered, or buffered.

 

I think my soldering skill (or lack thereof) is just good enough to work on one of the CH340G's pins.  I will probably discover if this true shortly.  I have 2 spare nodeMCU dev boards.  They are are old, version v0.9.   I will likely get newer ones in the near future.  I would also get a few ESP32s.

 

-SteveS

Let's forget for a moment technical aspects of how to make 1050-2-PC out of the ESP32 board.

Assuming you got 1050-2-PC adapter, what exactly are you going to do with it ?

Share this post


Link to post
Share on other sites
2 minutes ago, TheMontezuma said:

Let's forget for a moment technical aspects of how to make 1050-2-PC out of the ESP32 board.

Assuming you got 1050-2-PC adapter, what exactly are you going to do with it ?

It will allow me to connect Fujinet to my linux laptop running Atari++ emulator which supports both 1050-2-PC and Pro cables. 

 

-SteveS

Share this post


Link to post
Share on other sites
1 hour ago, a8isa1 said:

It will allow me to connect Fujinet to my linux laptop running Atari++ emulator which supports both 1050-2-PC and Pro cables. 

 

-SteveS

So you would like to connect Fujinet to your laptop running Atari++ emulator ?

 

I would first try out if the Atari++ is good enough to control a real floppy drive (via 1050-2-PC). If yes, then it is worth to keep this use case in mind.

Otherwise Altirra can emulate plenty of peripherals, perhaps FujiNet will also be supported in the future.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Making a vertical pass-through version sounds great. I beleive that it easier to access when you want to press a button, an also it requires less clearance behind the computer or other device. The only problem would be to used the FujiNet device in the Lotharek sio splitter. 

Another topic: is there a way to boot the configurator without the need to emulate D1:? 

I am bringing this up since in the current state you need to keep turning on and off the real D1:

I'm not sure about how useful that feature will be, but there is a whole discussion regarding usability,  work flow, and usage cases for the device to be great from the POV of how it is going to fit into our current and diverse configurations. 

I personally don't like "design by committe" that much, anyway... Just a little disclosure. 

Share this post


Link to post
Share on other sites

@manterola I intend for D1 to answer on the 26th status poll. If something else answers, then the virtual drive with config never mounts.

 

Keep in mind, that there is also fnc-tools, which are CLI tools for controlling FujiNet, mounting devices, etc.

 

-Thom

  • Like 1

Share this post


Link to post
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.

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...