Jump to content
  • 1

Question

I love PETSCII, and I know it's on the X16 because of its legacy and especially all the graphical characters it supplies to facilitate for character-based graphics.  However, it'd be a shame if, in our increasingly connected, international culture of the 21st century, we couldn't somehow get at least Scandinavian or Eastern European characters on the X16 (let alone anything non-Roman).

However, my 'feature request' is not for the dev team to make an extended character ROM.  Instead, I am suggesting that if the users can easily design their own characters somehow, then the user base will likely develop support for all sorts of languages, as needed, on its own.  Someone in the community with enough time and inclination might even tackle Korean or Japanese characters - and yes, that comes with major input issues, but it would be easier to begin to address those issues if the system already easily allowed for user-defined characters.

I'm not sure how that would be implemented, though.  I know on the C64, it's technically possible to copy the entire character ROM to RAM and then override whatever characters you need, but this is challenging and kind of hacky; it's not something the system is designed to allow you to do easily.  I've also read that on a Spectrum there is a much easier built-in way to make 'user characters', but I have no experience with this, and no knowledge of how it's implemented in the Spectrum architecture.  Maybe on the X16 it would be as simple as some built-in subroutines to allow this kind of thing more easily?

This would also have added advantages for people making games with character graphics.

Thanks for considering it.

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

The team is way ahead of you, and the community is leading by a couple of steps, as well. 🙂

There are 3 character sets currently in the ROM, which can be switched with a kernal call. They get copied in VRAM, it's the only way the VERA can use them. This, of course, means you can modify them to your heart's content, or even replace them entirely. If you're using the default console settings, then the current character set is located at $0F800 in VRAM.

Actually, I just discussed this on a topic in the X16 Programming Support section. I'll quote the salient bit you might be interested in:

Quote

We know that the X16 uses the same tiles, in the same order, as the Commodore 64, so we can look up where, for example, X should be: At tile 24 (the first tile being 0). Since the tiles are 1bpp, 8 pixels wide, and 8 pixels tall, we can multiply this out and know that each tile is 8 bytes. Tile 24, then, starts at $0F800 + 8*24, or $0F8C0. Let's take a look with a little basic:

FORI=0TO7:PRINT VPEEK(0,$F8C0+I):NEXTI gives us:

102
102
60
24
60
102
102

In binary, this looks like:
%01100110
%01100110
%00111100
%00011000
%00111100
%01100110
%01100110

That looks like an X to me.

Meanwhile, on the community front, someone was working on a program that supported unicode text in a variety of European languages, at least, and I seem to recall they had enough success that it seems like Asian-region languages would be within reach. I don't know for sure how much magic they're bringing to bear, because I don't recall hearing any updates from them recently, but it was somewhere on the Facebook group at one point.

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

I tell you, just having Latin-1 would be a relief.

I know that there wouldn't be room on Vera for Hanzi (I keep hearing that you need to know 3,000 characters to be able to read a Chinese newspaper comfortably, so I am about 2,975 to go) ... but with 16x16 character sets, drawing the characters that are on the screen from a pool on the SD card and buffered in High RAM seems like it could be in reach.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use