Re: Feature request: JS petscii-to-cp437/ascii converstion function
By: Eric Oulashin to GitLab issue in main/sbbs on Thu Feb 19 2026 14:15:11
open https://gitlab.synchro.net/main/sbbs/-/issues/1074
m1ndsurfer mentioned that some file_id.diz file descriptions for Commodore 64 files have PETSCII characters in them, which naturally don't display properly if the user's terminal doesn't support PETSCII. It might be handy if there was a JavaScript function to convert PETSCII to ASCII/CP437. My file lister would probably be able to use such a function to convert PETSCII to ASCII/CP437 if the user's terminal doesn't support PETSCII (and a JS function like str_is_petscii(), similar to str_is_utf8() & others, could be useful too). It looks like the Synchronet C++ code might have internal functionality already? (petscii_to_ansibbs())
Actually it was about D64 disk images and their directory of files.
The file directories/ 0 byte filnames are using petscii chars to generate nice looking descriptions, logos etc. very similar to what is used in file_id.diz files.
They use 0byte files and the filenames are used to display some petscii graphic in several rows of filenames.
The idea is to have a way to extract those file directory listings out of the c64 disk images and somhow, when requested, present them as sixel images to the bbs user.
I know there are libraries that convert petscii into cp437 so it looks at least a bit similar, but thats not what i meant.
i have created a bash script now that can extract the file directory via cc1541 (thats a software emulating a 1541 floppy disk drive,) prepare and convert the extracted data to be turned into an image via ImageMagick using a monospace C64 TTF font.
Again, the idea was to have for a D64 file, what we have as file_id.diz import from a ZIP file.
Especially scene releases have some very nice Petscii graphic stored into the file direcory rows of an C64 disk image =)
Mindsurfer
---
þ Synchronet þ FuNToPiA BBS -
telnet://funtopia.synchro.net:3023 ssh:3022
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)