The
BASIC Anywhere Machine has the IDE and a bunch of BASIC programs.
The
BAM Programming Reference is all about documentation. Unlike typical documentation that just shows static code, this programming reference shows static code and provides a button to run that code. It is nice to see what the code does.
To investigate BAM's compatibility with GW-BASIC, I've setup the programming reference with a
Compatibility with GW-BASIC tiddler to track things, including displaying in an iframe a tiddler from the BASIC Anywhere Machine that lists GW-BASIC programs that have been tested (and possibly tweaked) to work in BAM.
Screenshot attached.
The "artifacts" of interest:
In the Programming Reference TiddlyWiki:
The code that says "hey, show me GW-BASIC Examples here":
```
{{GW-BASIC||tEx}}
```
The "tEx" template (in the process of cleaning it up, just showing the relevant content):
```
```
Aside: I use the #️⃣ character to quickly add extra some extra info to make a tiddler unique when two tiddlers have otherwise the same title. Ignore that.
Over in the BASIC Anywhere Machine:
The "View Program" tiddler has the rest of the magic:
```
<$list variable="thisTarget" filter="[[$:/info/url/search]get[text]removeprefix[?]split[&]removeprefix[target=]uppercase[]search-replace:g[%20],[ ]]" >
! <<thisTarget>> Sample Programs
<$vars caselessTarget={{{ [<thisTarget>search-replace[$],[]addprefix[(?i)\b]addsuffix[\b]] [<thisTarget>split[]match[$]addprefix[\]] +[join[]] }}}>
<$list filter="[tag[.bas]regexp:description<caselessTarget>]">
<details> <summary><<currentTiddler>>{{||Run Basic Program Button}}</summary>
<div style="margin-left:5px;border-left:1px solid lightgray;">
{{!!text}}
</div>
</details>
</$list>
</$vars>
</$list>
```