ISO mode

Chat about anything CX16 related that doesn't fit elsewhere
User avatar
ahenry3068
Posts: 1131
Joined: Tue Apr 04, 2023 9:57 pm

Re: ISO mode

Post by ahenry3068 »

Andy,

Did you see where I loaded IBM PC Fonts to VERA !!. Its not even hard. You have to be in ISO mode for the mapping to work correctly so its not just a straight one to one with PETSCII glyphs. But the IBM graphics characters are there and available.
DragWx
Posts: 340
Joined: Tue Mar 07, 2023 9:07 pm

Re: ISO mode

Post by DragWx »

Just for fun, I came up with a hybrid ISO character set which is like a combination of the symbols and arrows from IBM Code Page 437 and some of the box drawing and block/shading characters from PETSCII, where the PETSCII bitmaps are used where possible, and then I filled in some gaps.

The idea here was to observe what a Turbo Vision GUI tends to look like, and to provide enough of the characters to do something similar.

Anyway, the point is, if you delete the reverse characters, there's tons of space to put characters for UI elements, which is what X16 applications can do, provided the character set doesn't change locations in VRAM again in future Kernal revisions.
Attachments
iso_hybrid.png
iso_hybrid.png (6.12 KiB) Viewed 19710 times
User avatar
AndyMt
Posts: 326
Joined: Sun Jun 21, 2020 3:02 pm
Location: Switzerland

Re: ISO mode

Post by AndyMt »

DragWx wrote: Tue Dec 19, 2023 7:59 pm The idea here was to observe what a Turbo Vision GUI tends to look like, and to provide enough of the characters to do something similar.
I was looking into implementing or contributing to a framework similar to TurboVision, too. Probably not the full feature set, but some basics like drop-down menus, dialogues and controls (buttons, radio buttons, check boxes, drop-down lists etc). Not just drawing them on screen, but also all the event-handling etc.
DragWx
Posts: 340
Joined: Tue Mar 07, 2023 9:07 pm

Re: ISO mode

Post by DragWx »

Oh heck yeah! GUI libraries are always fun projects. :D

Anyone's free to use any part of what I came up with in my post, if it's helpful.
kelli217
Posts: 531
Joined: Sun Jul 05, 2020 11:27 pm

Re: ISO mode

Post by kelli217 »

DragWx wrote: Tue Dec 19, 2023 7:59 pm Just for fun, I came up with a hybrid ISO character set which is like a combination of the symbols and arrows from IBM Code Page 437 and some of the box drawing and block/shading characters from PETSCII, where the PETSCII bitmaps are used where possible, and then I filled in some gaps.

The idea here was to observe what a Turbo Vision GUI tends to look like, and to provide enough of the characters to do something similar.

Anyway, the point is, if you delete the reverse characters, there's tons of space to put characters for UI elements, which is what X16 applications can do, provided the character set doesn't change locations in VRAM again in future Kernal revisions.
The halftone/checkerboard characters need a full complement like the block graphics... PETSCII doesn't have them but IMHO they're needed, or else don't bother. (Also, if you want to use the built-in ISO mode, you need to have $9F as a reverse-space because that's what the screen editor uses for the cursor character in that mode.)
DragWx
Posts: 340
Joined: Tue Mar 07, 2023 9:07 pm

Re: ISO mode

Post by DragWx »

kelli217 wrote: Fri Dec 22, 2023 4:06 am The halftone/checkerboard characters need a full complement like the block graphics... PETSCII doesn't have them but IMHO they're needed, or else don't bother.
I put the halftone/checkerboard in because Turbo Vision uses those for scrollbar tracks and many DOS text-mode GUIs like using it as a backdrop for the windows to float on top of, though it's entirely possible that using the checkerboard pattern instead of the halftone looks ugly in practice, I haven't actually checked. I originally was going to put the 25%, 50%, and 75% dither blocks from 437, so that might be more useful.
(Also, if you want to use the built-in ISO mode, you need to have $9F as a reverse-space because that's what the screen editor uses for the cursor character in that mode.)
Good catch, I completely overlooked that.
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Re: ISO mode

Post by TomXP411 »

The simple way to solve the inverted character cursor issue is to change the way the cursor works.

Instead of swapping bit 7 in the character cell, the editor could swap the foreground and background colors in the color cell. This would have the same effect as inverting the pixels, but it would allow for proper 256 character character sets.

In practice, this means bypassing all of the KERNAL screen printing routines and handling screen I/O yourself. The upside is you get full control over the character set; the downside is you have to write a few extra pages of code to mange the screen.
DragWx
Posts: 340
Joined: Tue Mar 07, 2023 9:07 pm

Re: ISO mode

Post by DragWx »

x16-turbovision.png
x16-turbovision.png (21.14 KiB) Viewed 19513 times
This is with the character set I posted, but with the checker replaced with a wide halftone. This seems like it's enough for GUIs in ISO mode.
User avatar
AndyMt
Posts: 326
Joined: Sun Jun 21, 2020 3:02 pm
Location: Switzerland

Re: ISO mode

Post by AndyMt »

Looks really good! And your example dialog makes my hungry :D .
Post Reply