Jump to content
tschak909

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

Recommended Posts

while this may seem unorthodox, try using two stop bits instead of one.. see if that doesn't keep things aligned...

Share this post


Link to post
Share on other sites

Thankfully, it's not the SIO timing (you can see that PLATOTERM's output is perfect, due to the status calls cleanly tracking the interrupt transitions.). I've been successfully using divisor zero for disk traffic, for months, with no errors. The issue is that I need to change how I am coordinating how many bytes to receive over SIO and deriving when to signal to the CIO handler that an EOF has occurred. The method that I am currently employing, works at 19200 baud, but faster rates are much too fast (status calls are happening too fast against the input FIFO)... this will take some thought and experimentation.

 

-Thom

  • Like 3

Share this post


Link to post
Share on other sites

are you using both an end of record and an end of file marker?

since your saying everything is perfect but somehow your getting nulls in the directories and not seeing the end of files,

is the assumption the errors in the frog screen are because it's just overwriting data as it continues to stream in until it finally gives up or determines EOF has occurred?

Edited by _The Doctor__

Share this post


Link to post
Share on other sites

Currently EOF asserted to CIO if either:

 

* Connection is disconnected, or

* two status calls return zero bytes available.

 

For TNFS, the total number of bytes is used to determine when the disconnect flag is asserted. This is required because TNFS is over UDP, and is therefore connection-less. 

 

For protocols like FTP and HTTP, the disconnect flag is asserted via the opening and closing of the data socket (FTP has a separate data socket, whereas HTTP does its transaction and immediately disconnects.)

 

Errors in the frog screen will require further investigation, as I am not sure what actually happened there...that was literally the first time that happened.

 

-Thom

Share this post


Link to post
Share on other sites

Ran All Tests

All Tests Passed with Expected Results

Homemade ESP32Wroom Fujinet using external usb power

Stock 800XL

 

Looks like Epson 80 print emulation is now working perfect, great job Jeffpiep

 

CCI06102020.jpg

  • Like 9

Share this post


Link to post
Share on other sites
17 minutes ago, Fierodoug5 said:

Ran All Tests

All Tests Passed with Expected Results

Homemade ESP32Wroom Fujinet using external usb power

Stock 800XL

 

Looks like Epson 80 print emulation is now working perfect, great job Jeffpiep

 

CCI06102020.jpg

Looks like you have a lot of tests coming up!  😲

  • Like 3

Share this post


Link to post
Share on other sites

#FujiNet #Atari8bit I did a quick proof of concept showing what an N: only FMS might look like, by turning the N: handler into a boot load disk. There is no "D:" loaded, only "N:". But you can see it loading a program from FTP directly.

 

103420426_2715609968671378_5657943841542127057_o.jpg?_nc_cat=111&_nc_sid=8bfeb9&_nc_ohc=2zjFKif8F38AX-9f9Ef&_nc_ht=scontent-dfw5-1.xx&oh=9b5d623372d7d664a62e406d569f68f0&oe=5F079694

  • Like 4

Share this post


Link to post
Share on other sites

#Atari8bit #FujiNet I have checked in the code for a FujiNet NOS here (N: device only, no D:): https://github.com/FujiNetWIFI/atariwifi/tree/master/n-handler/nos

And the documentation for how the CP should work, here: https://github.com/FujiNetWIFI/atariwifi/blob/master/n-handler/nos/README.md 

 

If anybody can help write the command processor for what happens AFTER DOS is typed, please let me know. I have attached a mock-up of the DOS CP.

nosdos.jpg

Share this post


Link to post
Share on other sites

#Atari8bit #FujiNet @Jeffpiep just checked in: With reverse line-feeds, the Atari 825 printer emulation is almost complete. Shown here printing two columns in AtariWriter. Fonts still to be done.

image.thumb.png.753f161f47d7a8cacfbe1c66054d054a.png

  • Like 7

Share this post


Link to post
Share on other sites

I need to take a small break (two weeks or so) from active coding, as I have been going full steam for 6 months (with considerable amounts of caffeine and ephedrine), and it has taken its toll on my body.

 

N: also needs a drastic re-think in implementation (not interface), because there currently is no effective way to pre-process the data (needed for filesystem views with directories, and things like CR/LF translation), as I need to be able to present exactly how many bytes will be available to read when the SIO READ happens, this means shifting the actual reading into the STATUS call, and calling any pre-processing before returning the 4 status bytes.

 

I will be helping the other team members do bits and pieces, and help stitching everything together.

 

Meanwhile as of just a few seconds ago, @jamm has successfully booted the first version of the firmware with ZERO Arduino dependencies (it's built entirely on the vendor ESP-IDF framework), which will have profoundly positive long term consequences in terms of performance and code footprint.

 

-Thom

Edited by tschak909
  • Like 10

Share this post


Link to post
Share on other sites

is the transport padding the zeros to make a full packet for transmission and then not stripping them at arrival?

Share this post


Link to post
Share on other sites
37 minutes ago, _The Doctor__ said:

is the transport padding the zeros to make a full packet for transmission and then not stripping them at arrival?

No. The data coming in from fnTCP (which is basically a wrapper around bsd socket functions) is sent almost as is to the Atari. SIO transactions have to have the # of bytes to deal with in the SIO request beforehand (this is why I use aux1/2 in the command frame to specify # of bytes to read/write, repeating the dbyt value to SIOV), so basically any pre-processing that has to happen, has to happen before the status command value is returned to the Atari, which is before the actual read command. (which gets the # of bytes available in the RX buffer).

 

-Thom

Edited by tschak909

Share this post


Link to post
Share on other sites

I'm happy to get in on this. Whew... Almost too late.

:)

 

Share this post


Link to post
Share on other sites

Sorry.

 

 two things to note:

 

(1) There will be more. This is the first run to test production.

(2) Once the money is made back, we'll be releasing all the build source material for the hardware parts of the production unit, so that it will always be possible to build #FujiNets, even when we can no longer do so. (and so others in other regions can help fulfill demand)

 

-Thom

  • Like 3

Share this post


Link to post
Share on other sites
5 hours ago, tschak909 said:

Sorry.

 

(1) There will be more. This is the first run to test production.

Yeah, it was unfair 😉 - Europe sleeps at night 🛌

You have to build 500 more 😂

Edited by TheMontezuma
  • Like 1

Share this post


Link to post
Share on other sites

I was very lucky that I started a new project at work yesterday, and after a 10 hour day, my brain was too fried to think too much and just kept clicking around the net. I think I saw @mozzwald’s post within 2 - 3 minutes after he made it. I signed up immediately before I had time to second-guess myself and miss out.

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