Huge Character Demo prints all the characters in the ROM hugely: PETSCII and ISO8859-15 including ASCII. The faster version uses some new X16 BASIC v2 keywords: BIN$ and LOCATE, but the slower R38 version uses BASIC code or SYS PLOT to do the same. Both programs use the SYS FETCH Kernal function to read character data from ROM bank 6. It's the slower R38 version that runs using the Try it now button. The zip-file contains a version for R38+ and faster versions for R39+ and the open source code as text. This is FOSS with GPLv3 license. One could e.g. develop this into a program to print banners.
This is also on GitHub: https://github.com/mobluse/chargen-maker
I'm open to suggestions on how to improve the code and make it faster.
I added a specific version for R39 since the R41 version didn't work there. I also included the source file chars.bas for R39+.
It can be run from the command line if you first unzip chars-x16.zip:
x16emu -bas chars.bas -run