QB64 Phoenix Edition
Agon, RISC-V, Microcontrollers, Bare Metal, etc... - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: Chatting and Socializing (https://qb64phoenix.com/forum/forumdisplay.php?fid=11)
+--- Forum: General Discussion (https://qb64phoenix.com/forum/forumdisplay.php?fid=2)
+--- Thread: Agon, RISC-V, Microcontrollers, Bare Metal, etc... (/showthread.php?tid=2397)



Agon, RISC-V, Microcontrollers, Bare Metal, etc... - SuperGuy1! - 01-22-2024

Hi. 

Nearly thirty years ago, I coded a LORD ripoff in QB45 - bonus if you know what LORD is, or have ever tried to code in ZZT OOP! Years later I tried C++, and the recent tyranny coming from Microsoft has renewed both my interest in Linux conversion, and coding. I searched for a BASIC IDE (to add to Python and C++ in GNOME Builder....) and your project popped up. After searching to find why there are two forks, and reading about some kind of lunatic softdrink, I came here.

The recent-ish Agon Light thing, in response to the CommanderX16, in response to the Maximite - got me thinking of a general purpose, minimal interface computer akin to a Tricorder. Smile

DeepAI chatbot was unaware if your stuff could be used to code for an Arduino - some 3rd party interpreter/translator, or perhaps support for the various libraries? (it was cool that the bot knew you though).

All of this is preface to say that with the somewhat recent resurgence in smallish legacy systems, combined with the not-so-recent rise of microcontrollers and hobbyist mechatronics, I was wondering what application, if any, QBPE has in this realm?

Suppose I got me a decent enough SBC with oodles of GPIO, running Linux, wired the sensors and whatnot, then 3DP an enclosure for it, do you see any reason why I shouldn't make QBPE the default screen (akin to the C64)? As I see there is at least some support for C libraries, it couldn't be all that out of the question... right?

Also, as all of these may be answered elsewhere - I am sorry - I have three additional questions: 1. Is USB treated as legacy Serial for coding purposes (OpenCom)? 2. Can QBPE show me the assembly that it contrives? (Dreams of low-level dev...), and 3. Is there any possibility/plan for RISC-V support/bare metal possibilities?

C++ is not nearly as friendly as BASIC (just put the semicolon there, and quit complaining!)

Thank you for your time.


RE: Agon, RISC-V, Microcontrollers, Bare Metal, etc... - TerryRitchie - 01-22-2024

QB64PE is an amazing language for hobbyist programming because it's so easy, and fun, to create projects with it. That said it's not ready for the microcontroller world ... yet. I also have a Maximite (the first version, newer ones are impossible to find) and get very much where you are going here. I have some experience with the Arduino, Basic Stamp, and RasPi platforms and would very much welcome the ability to interface with them using QB64PE. I designed an Arduino 16 channel Xmas light show controller a few years back and writing the code in its native C was not fun. Writing it in QB64PE would be awesome though! Smile

There is no built in support for USB communication beyond the standard COM1 through COM4 that was offered by QuickBasic 4.5. It's entirely possible to implement external libraries for this purpose but native support is not there yet.

Using QB64PE as the front end for something like a Maximite, CommanderX16, or an Agon would really require a version of QB64PE written for the ARM CPU at a minimum in my opinion. In it's current state QB64 requires a full OS (Windows, Linux, MacOS) to operate correctly and those small SBCs just can't do that (and that's the beauty of them too).

QB64PE converts code to C++ under the hood, no ASM code to feast your eyes on there. As far as RISC-V support I highly doubt it, but that is a question better left for the developers.

Oh, also, Welcome to the forum and QB64PE !!