Jump to content
IGNORED

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


tschak909

Recommended Posts

On 9/19/2020 at 11:03 AM, DrVenkman said:

Speaking of FujiNet features in general - has there been any recent progress in simple CAS file support? I saw some GitHub traffic about it a little while back (maybe a week?) but nothing since then and no indication of a test build available with the feature included. 

I don't know the status of cassette support. Maybe @jeffpiep can clarify where it's at. 

 

A new update is available with better button press recognition, the JSON parser and other minor fixes.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 9/21/2020 at 3:23 AM, mozzwald said:

A new update is available with better button press recognition, the JSON parser and other minor fixes.

One of them is a fix for regression with Bluetooth.

 

The feature is a kind of an easter egg: long press the button A until the blue LED is ON.

Now your Fujinet turns into a SIO2BT :) (Note: remember to configure Ultimate 1MB/Incognito for SIO2BT in order to use it).

In the SIO2BT mode, short key presses of the button A toggle the baudrate between 19200 and 57600.

FujiNet-1.0-Diagram-600x750.png

  • Like 3
Link to comment
Share on other sites

31 minutes ago, DrVenkman said:

Wait, Button A is also the disk-swap button. Is someone at risk of accidentally switching over to SIO2BT mode when they just want to rotate the disk images around? 

 

It's not a 'risk', it's a feature :) You need to hold the button for about 3-4 seconds for it to switch to SIO2BT mode. 

  • Like 1
Link to comment
Share on other sites

2 minutes ago, mozzwald said:

It's not a 'risk', it's a feature :) You need to hold the button for about 3-4 seconds for it to switch to SIO2BT mode. 

It’s only a feature if you need or want SIO2BT functionality; otherwise it’s a risk. :) With the version of the firmware I’m running, and admittedly I haven’t updated yet, you already have to press and hold the A button for a solid “One-Mississippi” to get the disk to swap.

 

Would it be possible to enable or disable Bluetooth functionality via CONFIG or the FujiNet web interface?

Link to comment
Share on other sites

Just now, DrVenkman said:

It’s only a feature if you need or want SIO2BT functionality; otherwise it’s a risk. :) With the version of the firmware I’m running, and admittedly I haven’t updated yet, you already have to press and hold the A button for a solid “One-Mississippi” to get the disk to swap.

 

Would it be possible to enable or disable Bluetooth functionality via CONFIG or the FujiNet web interface?

Sure, it's possible. Open an issue on github for a feature request.

 

The enable SIO2BT via long button press has always been there. Have not heard of it being an issue yet and it does not appear to be an issue since you were not aware of it until someone mentioned it :D. The latest update has better button press detection so you no longer need a solid “One-Mississippi” to register a single press.

 

Fun fact: there is also top secret Double Tap button press detection for developer use  ;) 

  • Like 2
Link to comment
Share on other sites

3 hours ago, DrVenkman said:

It’s only a feature if you need or want SIO2BT functionality; otherwise it’s a risk. :) With the version of the firmware I’m running, and admittedly I haven’t updated yet, you already have to press and hold the A button for a solid “One-Mississippi” to get the disk to swap.

 

Would it be possible to enable or disable Bluetooth functionality via CONFIG or the FujiNet web interface?

I don't know that I'd call it a "risk" since nothing bad will happen if you do it.  It's been in there since the beginning, so if it was something that you'd easily trigger it would've happened to you already.  If you do happen to accidentally fall asleep on the button, all you have to do is hold down the button for a couple of seconds again to undo it.

 

 

Edited by jamm
  • Haha 1
Link to comment
Share on other sites

Hi Guys, since there's no proper manual, don't be mad for me asking:

 

1) what's the use of "B" button?

2) did someone succeed with ICE-T terminal accessing e.g. darkforce-bbs.dyndns.org or irc.atarinet.com:800?

I tried to do so, loaded Altirra.hnd v.0.2, but using atdt with above hosts just gives me few chars of junk. I could make Plato open Irata.Online though, as per video tutorial.

Are there particular settings needed in ICE-T and is 9600 baud max speed (I tried it, without success anyway with ICE-T)?

So far I was accessing them in ICE-T without any problem using APE R: handler and open command, with fujinet my aim was to be PC-free...

 

Thanks for help.

Edited by Jacques
  • Like 1
Link to comment
Share on other sites

1 hour ago, manterola said:

For icet use the atari850.hnd . That will trigger FujiNet to upload the handler with a long beeeeep. 

 

Thank you, will try that later today :)

But I wonder why to use another handler with ICE-T, what are the differences and purpose of using Atari850 vs Altirra handler, functionality and speed-wise? Does any of them allow to reach 19200 bauds?

 

  • Like 1
Link to comment
Share on other sites

Was that you on my tnfs server using ice-t yesterday? I figured someone was having a problem!

I just tried to do this in altirra and got no answer from the addresses you listed but level 29 works fine. I think it might be the hosts you are trying? I only created those disks yesterday and I've only had time to test them in altirra, not on a real machine with fujinet yet. I will be adding a phonebook to the terminals that support it, I just need people to let me know what BBS's to add.

 

try

atdi bbs.fozztexx.com

in your terminal, that should rule out the terminal app and fujinet connection setup.

 

Link to comment
Share on other sites

2 hours ago, manterola said:

For icet use the atari850.hnd . That will trigger FujiNet to upload the handler with a long beeeeep. 

The reason this works, is because we use a newer version of the Altirra handler (in the SIO poll load) than what's on the disk.

 

(And yes, in case it isn't completely clear, the version on the disk is 0.1, and we embed version 0.2 into #FujiNet)

 

-Thom

  • Like 1
Link to comment
Share on other sites

9 hours ago, Mr Robot said:

Was that you on my tnfs server using ice-t yesterday? I figured someone was having a problem!

No, that wasn't me ;)

 

Finally I have success with accessing anything  (that is DarkForce BBS :)) using ICE-T and R850.hnd found on terminal-combo ATR from one of TNFS servers. 

atdtdarkforce-bbs.dyndns.org:520 works like a charm with 19200 bauds, set! 

 

I can't access irc.atarinet.com:800, though, it's always the same scenario: few strange, random chars, and nothing more can be done under terminal that gets frozen (photo), nevermind if it's 19200 or 9600 bauds. 

It's quite important for me and it was working fine under ICE-T with APE SIO2PC handler (accessed via open command). 

Any clue, please? It would be very appreciated to make it work :)

 

 

 

20200923_230958.jpg

Edited by Jacques
Link to comment
Share on other sites

Yup, an options dump shows me the following:

thomc@TMA-1:~$ telnet
telnet> set options on
Will show option processing.
telnet> open irc.atarinet.com 800
Trying 208.67.248.5...
Connected to atarinet.com.
Escape character is '^]'.
RCVD DO TERMINAL TYPE
SENT WILL TERMINAL TYPE
RCVD DO TSPEED
SENT WILL TSPEED
RCVD DO XDISPLOC
SENT WONT XDISPLOC
RCVD DO NEW-ENVIRON
SENT WILL NEW-ENVIRON
RCVD DO OLD-ENVIRON
SENT WONT OLD-ENVIRON
RCVD IAC SB TERMINAL-SPEED SEND
SENT IAC SB TERMINAL-SPEED IS 38400,38400
RCVD IAC SB ENVIRON SEND
SENT IAC SB ENVIRON IS
RCVD IAC SB TERMINAL-TYPE SEND
SENT IAC SB TERMINAL-TYPE IS "xterm-256color"
RCVD WILL SUPPRESS GO AHEAD
SENT DO SUPPRESS GO AHEAD
RCVD DO ECHO
SENT WONT ECHO
RCVD DO LINEMODE
SENT WILL LINEMODE
SENT IAC SB LINEMODE SLC SYNCH NOSUPPORT 0; IP VARIABLE|FLUSHIN|FLUSHOUT 3; AO VARIABLE 15; AYT NOSUPPORT 0; ABORT VARIABLE|FLUSHIN|FLUSHOUT 28; EOF VARIABLE 4; SUSP VARIABLE|FLUSHIN 26; EC VARIABLE 127; EL VARIABLE 21; XON VARIABLE 17; XOFF VARIABLE 19; FORW1 VARIABLE 255; FORW2 VARIABLE 255;
RCVD DO NAWS
SENT WILL NAWS
SENT IAC SB NAWS 0 164 (164) 0 56 (56)
RCVD WILL STATUS
SENT DO STATUS
RCVD DO LFLOW
SENT WILL LFLOW
RCVD IAC SB LINEMODE MODE EDIT|TRAPSIG
SENT IAC SB LINEMODE MODE EDIT|TRAPSIG|ACK
RCVD IAC SB TOGGLE-FLOW-CONTROL RESTART-XON
RCVD WILL ECHO
SENT DO ECHO
RCVD DO BINARY
SENT WILL BINARY
RCVD DONT LINEMODE
SENT WONT LINEMODE
RCVD IAC SB LINEMODE SLC IP VARIABLE|ACK|FLUSHIN|FLUSHOUT 3; AO VARIABLE|ACK 15; ABORT VARIABLE|ACK|FLUSHIN|FLUSHOUT 28; EOF VARIABLE|ACK 4; SUSP VARIABLE|ACK|FLUSHIN 26; EC VARIABLE|ACK 127; EL VARIABLE|ACK 21; XON VARIABLE|ACK 17; XOFF VARIABLE|ACK 19; FORW1 VARIABLE|ACK 255; FORW2 VARIABLE|ACK 255;
*** Connecting to port 6667 of server chat.us.freenode.net
-cherryh.freenode.net- *** Looking up your hostname...
-cherryh.freenode.net- *** Checking Ident
-cherryh.freenode.net- *** Found your hostname
-cherryh.freenode.net- *** Got Ident response
*** ### Erroneous Nickname (from cherryh.freenode.net)
*** You have specified an illegal nickname
*** Please enter your nickname
*** Closing Link: bx1.slor.net (Connection timed out)
*** Connection closed from chat.us.freenode.net: Remote end closed connection
*** Connecting to port 6667 of server chat.us.freenode.net
-weber.freenode.net- *** Looking up your hostname...
-weber.freenode.net- *** Checking Ident
-weber.freenode.net- *** Found your hostname
-weber.freenode.net- *** Got Ident response

For those who do not understand:

 

TELNET connections are NOT RAW socket connections.

 

While they ARE TCP connections, they have a negotiation phase that occurs immediately after the socket is connected, consisting of packets of information

that begin with 0xFF

 

and what are essentially:

 

Host: DO TERMINAL TYPE   (tell me your terminal type)

Terminal: WILL TERMINAL TYPE   (i will send my terminal type)

Host DO TSPEED (tell me how fast you want the data)

Terminal: WILL TSPEED (I will tell you how fast I want the data)

... and so on.

 

This first phase is essentially the capabilities discovery phase, and determines what the host will ask during the "give me the parameters phase" which are the IAC commands.

 

Host: IAC SB TERMINAL-TYPE SEND

Terminal: IAC SB TERMINAL-TYPE IS "xterm-256color"

Host: IAC SB TERMINAL-SPEED SEND

Terminal: IAC SB TERMINAL-SPEED IS 38400,38400 (I want to receive at 38400bps, and send at 38400bps)

 

@Jacques I will have to write an entire state machine to interpret and respond to these codes. (Anybody want to take a whack at this, before I get to it?)

 

Due to the way the firmware is written, this would be made available to the WiFi Modem and the N: network device (for an actual TELNET client)

 

So, @Jacques the reason that this host does not work, is because it isn't receiving these IAC sequences to pass back/forth terminal capabilities, so it sits and does nothing.

 

Example page on IAC commands: https://users.cs.cf.ac.uk/Dave.Marshall/Internet/node141.html

 

 

-Thom

Edited by tschak909
  • Thanks 1
Link to comment
Share on other sites

Hello Thom

 

Would it be possible to have a "this is not supported (yet)" check?  Where the user would be told that the site (s)he's trying to access needs something different then is being supported at the moment?  At least that way the user knows that (s)he's not doing anything wrong.  (and you guys get less: "what did I do wrong?" questions ;-)  )

 

Sincerely

 

Mathy

 

 

Link to comment
Share on other sites

6 hours ago, tschak909 said:

@Jacques I will have to write an entire state machine to interpret and respond to these codes. (Anybody want to take a whack at this, before I get to it?)

 

Due to the way the firmware is written, this would be made available to the WiFi Modem and the N: network device (for an actual TELNET client)

 

So, @Jacques the reason that this host does not work, is because it isn't receiving these IAC sequences to pass back/forth terminal capabilities, so it sits and does nothing.

 

Thank you Thom for your thorough explanation, now I understand the reason behind the freeze on irc.atarinet I was experiencing.

A bit of shame, though if handling for IAC will be only implemented in N: device and therefore require new TELNET client, which I guess may take loooooong time to develop.

With ICE-T (+few others), we already have a GREAT and not abandoned terminal program with 80 columns support, so if IAC handling could be somehow transparently incorporated to R: device and do it's magic in the background, it would be awesome, it would allow to do with ICE-T which was possible via APE, without the need of SIO2PC-connection.

Anyway, thank you again for all the hard work, it's very much appreciated and FujiNet is incredible already! :)

 

Edited by Jacques
  • Like 1
Link to comment
Share on other sites

7 hours ago, Jacques said:

 

Thank you Thom for your thorough explanation, now I understand the reason behind the freeze on irc.atarinet I was experiencing.

A bit of shame, though if handling for IAC will be only implemented in N: device and therefore require new TELNET client, which I guess may take loooooong time to develop.

 

I don't think @tschak909 was suggesting that this would only be in the N: device.  He said "this would be made available to the WiFi Modem and the N: network device".  "WiFi Modem" = 850/R: emulation

  • Thanks 1
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...