• Welcome to Jose's Read Only Forum 2023.

Announcing UbxBasic

Started by James C. Fuller, April 14, 2016, 03:01:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

James C. Fuller

Announcing UbxBasic.
UbxBasic is my latest fork of BCX.
UbxWx was my other cross platform endeavor but it was wxWidgets based with a very large overhead and c++ only.

UbxBasic has a requirement of only a few items from the Glib cross platform library.
As presented on Windows it needs a 64bit OS (Win7+), and the TDM-GCC-64 compiler.

I have compiled the translator and done most of my Linux testing on Ubuntu Mate 15.04.
I have also compiled it on a Raspberry Pi 3 and  Ubuntu on Win10 (Insider build).

Stay tuned for further developments


James C. Fuller

I have been working on the UbxBasic project for almost a year.
I had hoped for a release long before now.
The first project name was UbxGtk. I had intended for a ubx_xxx wrapper for the gtk gui widgets; but which flavor; Gtk2 or Gtk3? Many months later I decided it was just too much work. The documentation was not the best and most was Linux gnome biased. Windows displays did not match Linux in many areas.

Another reason I was holding off because I wanted a standalone 64bit binary for the translator. If it is not a static build you can end up with a chicken egg scenario trying to find where the gtk runtime libraries are located before you can run the translator. I had found a 32bit static Gtk3 library but it was quite dated.

I was using an excellent 64bit Gtk2/Gtk3 SDK for my testing and manage to persuade the author to build static versions of the specific libraries the translator needed.
The reduction in size surprised me.
32bit -> 2,687,237
64bit ->   790,528
It appears the 64 bit libraries are a bit more granular :)

I will supply many Gtk2 and Gtk3 examples.


James C. Fuller

I think I may have found the last piece I need.
Editing source, compiling, and running from within a single editor/ide turned out to be a BIG problem for me on Windows.
On the one hand I had my favorite RadAsm3 tweaked especially for UbxBasic but it had an unwanted/needed resource editor tagging along.
I use Geany on Linux and it works fine but on Windows, with my set up, it had a major short coming: I could not execute a gtk based app.exe from within it without having the Gtk SDK in my global path. I do not do that for development work and is one of the reasons I like RadAsm3 so much. You can set environment variables before you shell.
I found a way to execute newly compiled gtk apps from within Geany. It's not as simple as clicking the execute button but it is usable.