Thursday, March 31, 2022

🆕 Programming Reference: Search feature

 


📚 BASIC Anywhere Machine Documentation Set (Planned)

Just a summary of the types of documentation I am, or will be, putting together with TiddlyWiki instances.  These are types of documentation I'd expect to find, in general, for any kind of software development project.

Started and ongoing:


Planned (created but empty TiddlyWiki instances):

  • User Guide (i.e. how to use BASIC Anywhere Machine)
  • Technical Reference (i.e. the architecture of BASIC Anywhere Machine, as in how it is constructed and how it operates under the hood)
  • Project Reference (i.e. everything we need regarding management of the project: vision/goals, artifacts, tasks/todos, status, plans ...)
  • Documentation Guide (i.e. everything we need to know to develop and maintain every kind of documentation for the project and the product.)

Monday, March 21, 2022

🆕 _WIDTH and _HEIGHT functions

These two functions have been added for QB64 compatibility and, more importantly, because they are so darned handy when doing graphics programming and changing SCREEN modes.

From the BASIC Anywhere Machine Programming Guide:

_WIDTH

Description:

The _WIDTH function returns the pixel width of the currently applied SCREEN.

_HEIGHT

Description:

The _HEIGHT function returns the pixel height of the currently applied SCREEN .


Note:

BASIC Anywhere Machine uses wwwBASIC customized as described in the enhancements. page:


Wednesday, March 16, 2022

Update: "Details" now "Properties", and new "Autostart" Property

I had setup BASIC Anywhere Machine programs to require a user to click on the console window before programs would start executing.

This is required to set input/output context on the program's window.  When the console window doesn't have the focus, any sounds produced by the program will not be heard.  (That's a javascript and/or web browser thing.)

At some point in the near future, I intend on using BASIC Anywhere Machine programs as a scripting tool for TiddlyWiki.  For that to work, I need BASIC programs to immediately run without user intervention.

That aside, many, if not most, regular programs shouldn't really require user-clicking on the console window before starting the program.

So I've added a little bit of "architecture" to support autostarting programs, along with a user interface to set/unset autostart for individual programs.

You'll find in the "Properties" (previously "Details" window the "autostart" checkbox, as per the screenshots below.

Cheers !








Wednesday, March 9, 2022

🪲Fix to issue: INSTR

I did some digging when I happenstanced upon some INSTR use cases that caused a BASIC program to become unresponsive. 

See identification, analysis, and resolution to the problem in this video:




📚 FUNCTION (and SUB): variable arguments, by default, are "passed by reference"

Preamble A primer on "call-by-reference" vs "call-by-value" BAM HOWTO (BTW:  "call-by-reference" aka "pas...