Page 1 of 1

MORE PETSCII

Posted: Mon Apr 05, 2021 3:22 pm
by CursorKeys

Hi!

 

I (and maybe I am alone there), like the fact the commander 16 has the PETSCII characters.  It has  high nostalgic factor for me.

But since the X16 has also the possibilities to change the background of each character separately, the higher 128 characters of the PETSCII character set is more or less "waste".

It would be really cool, to choose from another extended PETSCII character set, where a number of "limitations" in the original character set are addressed, in the higher 128 characters of the font.

 

I am sure lot's of people would be willing to suggest characters for this extended PETSCII character set.

I am thinking of things like.

-Single pixel width checkerbox (we have VGA now, so it's ok)

-Diagonal lines of 1 pixel width

-A few basic Smileys

-Half bright "4 pixel width pixels" (semi half bright, using checkerbox pattern)

-a few degrees of (semi) brightness, so you can simulate a color fade.

-Diagonal lines chars, for making a diagonal line of two characters long.

-Many more could be thought of, I am sure a competition would arise if the idea was supported officially, with everyone wanting to chime in.  It could be a great community event.

 

Just sharing some loose thought on a slow monday evening. 

 

Cheer

CKs

 


MORE PETSCII

Posted: Mon Apr 05, 2021 4:10 pm
by TomXP411

You can do all of that you want; that's the beauty of having customizable character sets. Just create whatever character set you like and save it to disk, then load it with your program.

 


MORE PETSCII

Posted: Mon Apr 05, 2021 4:52 pm
by Perifractic
It’s an idea we talked about but unfortunately size is very limited in the ROM. We are struggling to even fit in a butterfly logo character. Although of course there are other ways…  Perifractic, X16 Visual Designerhttp://youtube.com/perifractic

MORE PETSCII

Posted: Mon Apr 05, 2021 5:00 pm
by SlithyMatt

To clarify, in ROM, only the 128 normal characters are stored, and then the reverse ones are placed into VRAM via kernal software inverting the bitmap. You are 100% free to change any of the 256 character glyphs once they are in VRAM. ROM space is already dedicated to contain the entire 256-glyph ISO character set, which has all the diacriticals left out of PETSCII and there is a great deal of demand for that, especially for non-English programs.


MORE PETSCII

Posted: Tue Apr 06, 2021 6:00 am
by Michael Steil

It would be cool to add 128 additional drawing characters instead of having the inverted copy of the lower half in the upper 128 characters like on the C64 etc.

True, you can swap foreground and background colors and have the same effect as inverted colors. In fact, the following code:

PRINT "HELLO "; CHR$(1); "WORLD"; CHR$(1); "!"

(inverting fg and bg)

produces the same output as

PRINT "HELLO "; CHR$(18); "WORLD"; CHR$(146); "!"

(switching to upper half of character set)

The problem though is that the screen editor needs to be able to convert inverted characters inside quotes into control codes. If you type this:

PRINT"{SHIFT+HOME}"

It will show as an inverted heart. Once RETURN is pressed, the character gets converted into code 147. The editor can do this because it detects that the character in screen RAM is inverted, i.e. from the upper half of the character set.

For this to still work, the editor would have to be changed:


  • When the editor wants to show these kinds of control codes, it must swap fg and bg instead of using upper half character codes.


  • When the editor has to convert screen RAM contents into PETSCII (control) codes, it has to check whether the codes have their fg and bg swapped.


Now the problem is the last part: The user can change colors and swap fg and bg as much as they like. How would the editor know which fg/bg combination is normal, and which one is reverse? Today, you can hit Ctrl+A, then clear the screen, and all text has swapped colors. Yet a heart character should only be a heart, and not the clear-screen code.

Maybe the editor should compare the color of the screen cell with the current cursor color – if has fg and bg swapped, it's a control character. But what if it's any other combination? Examples:


  • The cursor is white on blue, and the text on the screen is yellow on blue. This should be regular text.


  • The cursor is white on blue, and the text on the screen is blue on yellow. Is this inverted?


  • The cursor is white on blue, and the text on the screen is yellow on black. What is this?


 


MORE PETSCII

Posted: Tue Apr 06, 2021 6:30 am
by ZeroByte


29 minutes ago, Michael Steil said:




For this to still work, the editor would have to be changed:



Thanks for explaining this - I've had similar thoughts and figured there were good reasons, and this is a really REALLY good reason. ?