I've been working on this since late 2022. Once the FN team got SHA1, and B64 implemented by my request, is when it began. I was doing the podcast part of the time and prevented me from really making progress. Then I couldnt get FN-PC to run on the M1 mac, that was solved back in November, then Mr Paint came up, and now I've finally had time to work on this again.
So I wanted to connect the A8 to a SQL-ish flat file DB that doesnt require the overhead of a full on server based SQL like MySQL, MariaDB, etc. SQLite was right in my cross hairs, but no way to connect to it from the A8 as it has no server wrapper. Then I found cubeSQL, which does just that. It provides a TCP JSON interface to cubeSQL.
The login is pretty tricky for the 8 bit as it requires seeding, and 5 different hashes, with a JSON handshake. Currently FujiNet can parse json read from a URL, but you cant create JSON to send. So I had to craft the JSON strings progmatically in code, on top of calling FujiNet to do all the hash stuffs.
After about 120 tries, and banging my head against an unknown bug, I made it happen. In this screenshot you can see the cubeSQL admin running on my Mac (connected to the Linux host), and an emulated A8 running under Whisky, connected to FujiNet-PC - both running on the Mac as well. Two things happened before this screen shot. 1) Connection with authentication JSON was sent as raw tcp to the cubeSQL server. ; 2) An execute command was sent to the cubeSQL server while the authenticated connection was alive - this command sets the client type (I chose Atari 8 Bit for reasons... :P).

Afterward, the test program just issues the disconnect command to cubeSQL, and then drops the TCP connection.
The bug I mentioned has to do with FujiNet firmware (at least in the pc version). This caused me all kinds of headache as I couldnt figure out what the hell was going on. If you call a base 64 encode with a given input, you get a result. Fine. Call it again with the same input, and you get a different result. Not cool! I didnt figure this out until Whisky and FujiNet-PC were locking up on me as I was messing with the binding code to the call and breaking it. I had to reset the fujinet-pc and relaunch Altirra via Whisky.
Before I figured it out, I wrote all kinds of debug output every step of the way, and wrote stuff to file. I couldnt get the same results even if I set the same seed. So I looked to the cubeSQL sample code in php that they refer to for help (yes JSON connect documentation is uber sparse). Not having a web server running, I went to the php site and found their getting started which had a run box for hello world. Since you are able to edit the code, I tried doing each of the hashing steps one by one, grabbing the results, all using a static seed. I then used the same seed on the Atari and comared output. It was always failing, at the b64 (well most of the time). I traced my library all the way back to 4/2023 to see if there were adverse changes to the function - nope! So , what the hell?
I then tried a really old binary hash demo I wrote after a full reset and it worked. I then tried it on real hardware and it worked. Moved my new sql test to real hardware and it didnt work. Super confused, but determined at this point. Crashing with FNPC and Whisky started occuring more often, maybe to increased usage. I suspect its in the FNPC as Altirra would hang while talking to it. So I would do more resets. Mind you at this point Im not really changing any code, just debug outputs. I started to notice after the reset everything would work, I take the debug code out, run it, it failed. So I started resetting FujiNet, and BINGO it started working right.
I still need to test this on real hardware. It might just be a FNPC issue.
Then I pulled all the debug code, and set the seed to be randomized by the Atari. Reset the FNPC, and bingo I'm connecting to the cubeSQL server!
Now to the task of adding some DB calls for a demo program. Then I'll make use of the routines in a little program I was cooking up to test this on back in late 2023.