Page 1 of 2

ISO mode

Posted: Thu Feb 18, 2021 7:46 am
by kelli217

I am of the opinion that whenever practical, text-oriented programs should support ISO mode.

But the question becomes, "When is it practical?"

Part of that question hinges on what are the tradeoffs. One thing I can think of right away is the lack of PET graphics. They're very useful in implementing user interface elements; text-mode programs using ISO mode will have to work around this.

Any others?


ISO mode

Posted: Thu Feb 18, 2021 10:42 am
by TomXP411

Word processors. Code editors.

Those are two things that benefit from ISO mode. Word processors, because many of the symbols with diacritical marks and accents don't exist in PETSCII. 

Likewise, C source code requires the use of symbols that don't exist in PETSCII: {, }, \, and |. So we need ISO mode for C editors. However, it sure would be convenient if it was possible to display PETSCII while editing the text in C programs. So editors really need a hotkey or menu command to switch between ISO and PETSCII modes on the fly. I don't think you can really count on one mode or the other as the "best" mode, even within a single document at times. 

 


ISO mode

Posted: Fri Feb 19, 2021 12:43 am
by tlesher


14 hours ago, TomXP411 said:




Likewise, C source code requires the use of symbols that don't exist in PETSCII: {, }, \, and |. So we need ISO mode for C editors.



Nah, just use trigraphs.


ISO mode

Posted: Mon Feb 22, 2021 8:47 am
by kelli217

Can one layer be in PETSCII mode and one layer be in ISO mode? That way, ISO characters for text could be overlaid with PET graphics for UX elements.


ISO mode

Posted: Mon Feb 22, 2021 8:52 am
by AndyMt


1 minute ago, kelli217 said:




Can one layer be in PETSCII mode and one layer be in ISO mode? That way, ISO characters for text could be overlaid with PET graphics for UX elements.



The 2 layers can have different tile-sets (or fonts). So yes - you could use the 2nd layer with even a custom-made tile set. It will just be a bit complicated to combine the 2 in a meaningful way.

You can see this in my "Brixx" game where the graphics for the bicks, frame and background is one layer and the high-score numbers etc is the other one.

Be aware that the Kernal functions will only work with one of the layers, I think it's always "layer 1".


ISO mode

Posted: Mon Feb 22, 2021 10:14 am
by BruceMcF


1 hour ago, AndyMt said:




The 2 layers can have different tile-sets (or fonts). So yes - you could use the 2nd layer with even a custom-made tile set. It will just be a bit complicated to combine the 2 in a meaningful way.



You can see this in my "Brixx" game where the graphics for the bicks, frame and background is one layer and the high-score numbers etc is the other one.



Be aware that the Kernal functions will only work with one of the layers, I think it's always "layer 1".



Actually, it can more convenient if Layer 1 is the PETSCII layer, since then menus and otherwise "pop-ups" can have the pretty PETSCII drawing characters, while the underlying "page" on layer 0 can be selectable between ISO and PETSCII.


ISO mode

Posted: Mon Feb 22, 2021 3:26 pm
by codewar65

@RebeccaRGB's Latin-9P font could be used with special output routines if you want to display PETSCII and ISO at the same time in your editors.



PETSCII-8 and Latin-9P


ISO mode

Posted: Mon Feb 22, 2021 4:58 pm
by SlithyMatt


8 hours ago, kelli217 said:




Can one layer be in PETSCII mode and one layer be in ISO mode? That way, ISO characters for text could be overlaid with PET graphics for UX elements.



Yes, but you will have to copy the secondary character set to it's own space in VRAM. I show an example of how to do that in my last tutorial video: 





 


Re: ISO mode

Posted: Tue Dec 19, 2023 8:22 am
by ahenry3068
kelli217 wrote: Thu Feb 18, 2021 7:46 am I am of the opinion that whenever practical, text-oriented programs should support ISO mode.

But the question becomes, "When is it practical?"

Part of that question hinges on what are the tradeoffs. One thing I can think of right away is the lack of PET graphics. They're very useful in implementing user interface elements; text-mode programs using ISO mode will have to work around this.

Any others?
I know this is an old thread but the points are still valid. One partial work around to the lack of PETSCII graphics would be to load an "IBM PC" type font while in ISO mode and use the IBM graphics set. It not at all a complete substitute but it does have some of the same functionality, for the type of Graphics used in Games it would take quite a bit of jiggering. For stuff things like Menu drop down, Dialog boxes and the like it wouldn't take a lot of effort to make a little lookup table for substitute characters depending on when the program is in ISO or PETSCII mode. viewtopic.php?t=6970

Re: ISO mode

Posted: Tue Dec 19, 2023 10:32 am
by AndyMt
The problem with PETSCII is, that it "wastes" half the characters for it's inverse variants (to some degree even in iso mode). Which is not needed for the X16, as it has a foreground and background color for each character cell on screen.
It would be easy to define an IBM PC like charset with all PETSCII symbols included, it's 64 symbols (chars 64-128) in total. The IBM PC charset even has 80 graphic symbols (0 to 31 and 176-223).