UdoOn a lark (because it occurred to me) I wrote halfg.bas
I was thinking about the "old days" with graphics. Back in the day (pre-history, 77/78), putting Microchess on theTRS-80 (after taking apart cassette hardware and making a "saver saver" tape -- on another piece of hardware;there was no approved way to introduce "stand-alone" machine language cassettes for the TRS-80. And, Irecall hand-duping hundreds of them), and PET. Used character graphics back then (2x3 for the TRS-80 as I recall).
Now, years later, you took Peter Jennings Microchess and put it into dazzler graphics. But, I was thinking standard
CP/M machines -- with terminals. The thought came that terminal emulators typically support UTF-8, and thereyou go! UTF-8 does support 2x2 graphics (2x3 as well, but my fonts don't have that!). So, got the oldScopewriter font from Poptronics, keyed in an MBASIC program that would display "HELLO" in the Scopewriterfont, using 2x2 UTF-8 graphics characters - satisfying combination of old-school/modern.The halfg.bas program actually reads the font from DATA statements, and builds the binary->UTF-8 map thesame way. This means it is quite slow on MBASIC on my 2Mhz equiv Altair-Duino.
But... could be converted to XYBASIC fairly easily. And, the way it is written, is an excellent test of BASIC interpreterperformance (very heavy on interpretation and line lookup -- the nastiest is at line 6790 which is a GOTO 6770.If the interpreter does a linear search for lines, it needs to plow through all DATA lines to fine 6790).I imagine this would be a "fun" BASIC program for a new programmer to port, and improve (it is easy to make itan order of magnitude more efficient and much faster).
I don't assign BASIC to my interns/students anymore -- these days it is all JavaScript/HTML/CSS. But, asan intro to retro -- things like mandelbrot rule! This may qualify... I'll leave that decision to you.
# SIO 1 Channel A, Ports 2/3 connected to terminal
sio1a_upper_case 0
sio1a_strip_parity 0
sio1a_drop_nulls 1
sio1a_baud_rate 9600