spotlessmind1975 / ugbasic

An isomorphic BASIC language compiler for retrocomputers
Apache License 2.0
85 stars 13 forks source link

Add support for keyword CSET (SB+TSB only) #825

Closed spotlessmind1975 closed 1 month ago

spotlessmind1975 commented 1 month ago

CSET choose one of the COMMODORE 64 character sets or display the last graphic screen. The CSET command can perform three functions, depending on the parameter. CSET 0 allows you to choose the Uppercase/Graphic character set. CSET 1 sets the Uppercase/Lowercase set and CSET 2 redisplays the last graphic screen that had appeared.

Unlike in Simons' Basic, CSET in TSB also works after the MEM command has been used (in Simons' Basic, the interpreter "forgets" the changes made by the MEM command when using CSET). If no parameter is entered, the error message SYNTAX ERROR appears; an incorrect value (greater than 2) works like CSET 2. Values ​​outside the byte range produce an ILLEGAL QUANTITY ERROR.

NOTE When you call up a multicolor graphics screen, you must always follow CSET 2 with the MULTI command (paragraph 6.5.4) with the same parameters originally used with this command.

godot64 commented 1 month ago

In TSB the MULTI command can also have ON or OFF as a parameter which enters multicolor mode (regardless of graphics mode or text mode) without changing the color settings.

Arndt

spotlessmind1975 commented 1 month ago

Hi @godot64 , and thank you for the comment!

Yes, I will support the MULTI command as you described.