4 ms·
Ah, and I almost forgot, in re the changes: the commit log is the definitive (and painstakingly accurate) log of changes: https://github.com/ianatha/bababasic/
by thatha7777 3y ago
Ah, and I almost forgot, in re the changes:
the commit log is the definitive (and painstakingly accurate) log of changes: https://github.com/ianatha/bababasic/commits/main https://github.com/ianatha/bababasic/commits/main
To clarify my slightly obtuse original post, I started this by using PuffinBASIC, but I ended up forking it because there were a few things implemented differently than my reference QuickBASIC 4.5 installation (running on DOSBox):
* label syntax / case-insensitive labels
* forward function declarations
* flexible array indexing (i.e. in QBasic your arrays could start at 0, or at 1, and it somehow figured it out, and it still had bound checks) -- haven't implemented this yet
* various functions (VAL, INKEY$, SLEEP)
Lastly, and more importantly, PuffinBASIC required Java AWT support (which made it necessitate a desktop), but I have refactored BabaBASIC to abstract the HCI portions (audio/video/keyboard).
Another interesting technical point is that the "Run View", which displays a terminal through which you interact with your script is also a (very small) fork of Termux.
(I needed something to efficiently draw a text buffer while handling all the VT100-related functionality.)
- stuaxo 3y agoQB64 has taken on the mantel of modern reimplementation, its worth seeing if there are any extensions from there that are worth implementing.