Óscar Toledo writes about tiny chess programs, retro game ports, and old-computer programming, including his IOCCC-winning Toledo Nanochess.
Commenters like the annotated source code of his tiny chess engine and compare it to Microchess; one notes the sad news of his wife's death.
A nice showcase of Postscript's abilities, which I first became aware of around 1990, when I sent a tiny program to a Postscript printer to generate a 1024x1024 maze, taking half a day to finish. The graphics are simple but good looking. The engine is weak as expected for a tiny engine. The game I played with my first 4 moves of e2e4, d2d4, e4e5, and d4d5 resulted in checkmate on move 18. I wasn't sure if it would accept en-passant capture but it did. Other tiny engines like Micro-Max [1] and nanochess [2] are much stronger. An interesting long running (2009-2021) discussion between their authors may be found on the chess programming forum [3].
[1] https://home.hccnet.nl/h.g.muller/max-src2.html
[2] https://nanochess.org/chess3.html
[3] http://talkchess.com/forum3/viewtopic.php?f=7&t=26622
And I guess my point is. For the firstt some decades, while they weren't exactly bound by secrecy, I think they had some obscurity, and were just doing their things in private (which involved things like bare metal assembly, building an operating system, doing embedded work, retrocomputing, etc). Not exactly sure, but from what I gather the appearances they had with media, awards etc. were relatively recent
But when a younger member of the family published nanochess [0] and other entries to IOCCC [1] they gained international notoriety
In any case, see also the history page [2] in the family website for context
[0] http://nanochess.org but see repositories in https://github.com/nanochess for other projects
[1] https://www.ioccc.org/
[2] http://www.biyubi.com/eng_historia.html
No, you don't need to learn BASIC before assembly, but many books of the time went that route, e.g.,
https://www.goodreads.com/en/book/show/5011686-apple-machine-language
Here is an interesting article on porting a BASIC game for the Apple II to GW BASIC:
https://nanochess.org/akalabeth.html
and it includes a link to the documented source code for Akalabeth (also known as Ultima 0)
Somewhere, there's an article discussing the assembly-language like bit-blitting used to draw the high-res graphics in a timely fashion and the variable/memory management techniques needed to drive that which I'm sure a bit of searching will turn up (or one can derive it from the source).
It didn't understand castling, en passant and promotions. It would also only play white.
I did once try to pit it against a modern engine. It seemed to do reasonably well until the modern engine sneakily castled, and I was unable to tell 1k Chess about this, thus forcing it to forfeit the game.
Of course, since posting that, I since found this:
http://nanochess.org/chess6.html
Chess for the PC; 392 bytes. You put it in your boot sector. Still no castling, en passant and promotions, though, although there's an 831 byte version which has those.
I often wonder what sort of tools like this must have existed in-house at the many small game development studios of the era.
This one reminds me of another modern compiler for the Intellivision console called INTYBasic, which has an extremely impressive suite of games and NES remakes implemented in it:
https://nanochess.org/intybasic.html
https://youtu.be/h7ttNz2UVw8
For something even higher level check out GBStudio:
https://www.gbstudio.dev/
ToledoChess [0] has a few implementations of this in different languages. Some highlights:
2KB of JavaScript with castling, en passant, promotion, search and even a GUI
326 bytes of assembly, without the special rules
I don't think the author has a UCI-compliant one, but it should be easier than the GUI. There are forks of the JS one that might do it.
[0] https://nanochess.org/chess6.html