_The Doctor__ Posted June 8, 2020 Share Posted June 8, 2020 while this may seem unorthodox, try using two stop bits instead of one.. see if that doesn't keep things aligned... Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 8, 2020 Author Share Posted June 8, 2020 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 3 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 8, 2020 Share Posted June 8, 2020 (edited) 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 June 8, 2020 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 8, 2020 Author Share Posted June 8, 2020 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 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 10, 2020 Author Share Posted June 10, 2020 I have been writing unit tests, for people to help with testing: https://github.com/FujiNetWIFI/atariwifi/wiki/Testing-Plan -Thom 2 Quote Link to comment Share on other sites More sharing options...
Fierodoug5 Posted June 10, 2020 Share Posted June 10, 2020 Wow, great writeup for these tests! Testing all now 1 Quote Link to comment Share on other sites More sharing options...
Fierodoug5 Posted June 10, 2020 Share Posted June 10, 2020 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 9 Quote Link to comment Share on other sites More sharing options...
jamm Posted June 10, 2020 Share Posted June 10, 2020 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 Looks like you have a lot of tests coming up! ? 3 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 11, 2020 Author Share Posted June 11, 2020 #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. 4 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 11, 2020 Author Share Posted June 11, 2020 #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. Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 13, 2020 Author Share Posted June 13, 2020 #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. 7 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 14, 2020 Author Share Posted June 14, 2020 (edited) 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 June 14, 2020 by tschak909 10 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 15, 2020 Share Posted June 15, 2020 is the transport padding the zeros to make a full packet for transmission and then not stripping them at arrival? Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 15, 2020 Author Share Posted June 15, 2020 (edited) 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 June 15, 2020 by tschak909 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 16, 2020 Author Share Posted June 16, 2020 For those watching: The reservation form is now open until it's full. You can sign up at https://fujinet.online/reservation/ So if you want one of the first 50, Please sign up. -Thom 1 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 16, 2020 Author Share Posted June 16, 2020 Damn, that was fast. 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted June 16, 2020 Share Posted June 16, 2020 I'm happy to get in on this. Whew... Almost too late. :) Quote Link to comment Share on other sites More sharing options...
Atari8guy Posted June 16, 2020 Share Posted June 16, 2020 Too late. Sent from my iPhone using Tapatalk Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 16, 2020 Author Share Posted June 16, 2020 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 3 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted June 16, 2020 Share Posted June 16, 2020 I got the confirmation e-mail. Quote Link to comment Share on other sites More sharing options...
TheMontezuma Posted June 16, 2020 Share Posted June 16, 2020 (edited) 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 June 16, 2020 by TheMontezuma 1 Quote Link to comment Share on other sites More sharing options...
leech Posted June 16, 2020 Share Posted June 16, 2020 Ha, I am not in Europe and still missed it! Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted June 16, 2020 Share Posted June 16, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted June 16, 2020 Share Posted June 16, 2020 Laughably I requested just this in a pm... then this posted this and I didn't get in on it :) Quote Link to comment Share on other sites More sharing options...
tschak909 Posted June 16, 2020 Author Share Posted June 16, 2020 There will be more. promise. (from multiple sources, even) @mozzwald and I are gobsmacked at how fast it sold out. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.