By the way, does anyone know if there is a Model T utility that checks
BASIC programs? Given that there is no error when that happens, I’d think
there must be, but I cannot find it.
For anyone interested, here is my shell script. It’s a bit too simple, but
I wasn’t up for creating a proper lexer at the moment. :-)
#!/bin/bash
# twolet.sh## Search a BASIC program for variable names and show any
that would cause# mysterious errors on a Model 100 due to the
two-character limitation.## Usage: twolet HDAYS.TXT## Bugs: Does not
handle arrays or remarks. Needs a proper lexer.
sigil="[!#$%]"
identifier="[a-z][a-z0-9]*${sigil}?"
s="\s*" # optional whitespace
variables=$( cat $1 | grep -Eoi "${identifier}$s=" |
grep -Eoi "${identifier}" | tr '[a-z]' '[A-Z]' |
sort -u )
declare -A seenfor v in $variables; do
v2=${v:0:2}
if [[ ${#v} > 2 && ${v: -1:1} =~ ${sigil} ]]; then v2=$v2${v: -1:1}; fi
if [[ ${seen[$v2]} ]]; then
seen[$v2]="${seen[$v2]}, $v"
echo "$v2: ${seen[$v2]}"
else
seen[$v2]=$v
fidone
—b9
P.S. My script treats X# and X as different when they’re actually the same
variable on the Model 100. (But distinct on the NEC portables, I believe).
P.P.S. Is it documented anywhere that one can use the pipe symbol as
arbitrary spacing in M100 BASIC? I only just found that out and think it’s
kind of neat. X|Y = 1|000|000|000.
On Sat, Jun 13, 2026 at 11:06 AM B 9 <[email protected]> wrote:
> Hello Mark,
>
> Welcome to the Model T community and thank you for contributing software
> for everyone to enjoy.
>
> Did you double-check the output from your Jewish Holy Days program on your
> Model T? David is correct about variables being limited to two letters. I
> wrote a little script to search through Model T BASIC files for variables
> that won’t work and came up with this for HDAYS.TXT
>
> AC: ACTD, ACXTD
> AG: AGM, AGTD
> AL: ALPLUS, ALTD, ALXD
> AM: AMD, AMD1, AMD2
> BC: BCXTH, BCYTH
> BL: BLTH, BLXH
> BM: BMH, BMH1, BMH2
> CC: CCTV, CCXTP
> CL: CLTP, CLXP
> CM: CMP1, CMP2
> MM: MM, MM2
>
> Given so many overlapping variables, it seems highly unlikely HDAYS could
> possibly work as it is.
>
> Would you like help with fixing it or do you know enough programming to be
> able to do it yourself? This might be a good opportunity for you to try out
> the text editor, which is arguably the Model T’s pre-eminent feature, and
> see how folks handled search and replace back in those antediluvian days
> when giants roamed the earth.
>
> —b9
>
> P.S. Also, please let us know if your code was AI generated.
>
> On Thu, May 28, 2026 at 10:42 AM David Plass [email protected]
> <https://mailto:[email protected]> wrote:
>
> Mark, in HDays.txt, there are some lines like "LET AMD2 = AMD1". Note that
>> Tandy 100 BASIC (like Commodore 64 BASIC) only looks at the first two
>> characters in BASIC identifier names, so AMD2=AMD1 is a no-op. This may
>> cause bugs/errors in the calculations.
>>
>