Login
Back to forumReply to this topicGo to last reply

Posted By

SVS
on 2016-10-22
14:55:59
 New discoveries on graphic CHAR command

By debugging my current project, I met some issues on CHAR command, if executed in Multicolor screen.

In addition to the plain modes:
CHAR 1,x,y,"text" -----------> Standard text with COLOR 1 as foreground and COLOR 0 in background;
CHAR 1,x,y,"text",1 --------> Text with COLOR 0 as foreground and COLOR 1 in background;

there are further interesting colored results:
CHAR 0,x,y,"text" -----------> Text with COLOR 1 as foreground and COLOR 2 in background;
CHAR 0,x,y,"text",1 --------> Text with COLOR 1 as foreground and COLOR 3 in background;

Maybe someone did already know them?

Posted By

MMS
on 2016-10-23
06:40:37
 Re: New discoveries on graphic CHAR command

Aaah, nice finding! It looks like the developers had some ideas regarding multicolor mode in BASIC (usually characters are is just plan unreadible in multi mode)
Somehow this reminds me the extended background color mode, but that one is with hires charset.

Posted By

Litwr
on 2016-10-23
17:10:13
 Re: New discoveries on graphic CHAR command

I have mentioned this a month ago, it is a link in the subject about a Fibonacci Sunflower - here
It's a problem to use text in the multicolor mode.

Posted By

SVS
on 2016-10-24
12:30:00
 Re: New discoveries on graphic CHAR command

@Litwr: yes the characters in Multicolor mode are reduced to 4x8. This causes bad visualizations (particularly I, M, N). I'm used to substitute each "i" with "B" that outputs a sort of "|".

The issue I was discussing in the post was the background color feature, that (as MMS noted) remembers the Extended Background mode.

Posted By

MMS
on 2016-10-24
12:49:54
 Re: New discoveries on graphic CHAR command

Yepp, if anyone at Commodore TED team would seriously think about multicolor charset usage in BASIC (even with Graphic3 multicolor mode), they should have had implemented a SECOND standard commodore character set in multicolor mode in EPROM, you can easily use without the complete re-definition of the character set in BASIC. Need just one BASIC Command: CHARSET 1 (to 16) and the BASIC program could switch to hat speciafic memory location, and one fixed place could be the HUIRES, the other the MULTI (and the rest is up to the user)

There was an excuse in case of VIC20 and C64 (fixed place), but could not be the explanation in case of TED. C128 I am not sure, it uses a kind of VIC-II...

(charset redefintiion is damn slow in BASIC.
I know it, because I did it in the past once with DATA lines. Never ever again.
Except you store your special multi charset at an exact memory address and POKE the new charmap address for TED... But this is NOT pure BASIC any more, and will not work properly on C16 and Plus/4 in the same way, right? )

But because it requires more EPROM space, it costs money, so at Commodore may think: keep on with HIRES in BASIC happy

Posted By

SVS
on 2016-10-31
09:24:23
 Re: New discoveries on graphic CHAR command

Yes MMSZ I agree, but even to design a dedicated charset for Multicolor could not be a good solution, because with a 4*8 matrix there are definition problems. For example how to draw an "M" with only 4 horizontal pixels?

Another bad issue is the blocked charset #1 used on graphic modes. It should be easy to have set a RAM cell with the number of set to be used. And, since the HW reverse mode is not used, the characters from 128 to 255 are theoretical availables...

When I upgraded the PlusGraph, I met these problems, and bypassed them by copying the routine to the RAM in order to be free to set witch set to use (BTW O.S. can use both the sets in the same screen).

*EDIT*
I've found a way to use Charset #2 by CHAR command in graphic screen. Just set $02E4 = $D4.
...and the readability too is not so bad :)

Posted By

MMS
on 2016-10-31
19:52:43
 Re: New discoveries on graphic CHAR command

nice hint, thanks! I will try it out in few days.
Just stored in my notes made purely as tips and tricks for my PRGs happy

Posted By

SVS
on 2018-03-27
11:59:23
 Re: New discoveries on graphic CHAR command

I reopen this topic because I have analyzed and tested how CHAR command works in Multicolor mode.
Well I've discovered further special cases, when it sets the Color Table putting there some values that are not what are supposed be (I don't know if they are bugs or features). Anyway this table summarizes the results:



Posted By

MMS
on 2018-03-30
17:51:46
 Re: New discoveries on graphic CHAR command

Thanks for the investigations!
As I see, only CHAR0 behaves differently than expected.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon