How to poke the color table in screen 1?

By Pineapple

Rookie (17)

Pineapple's picture

19-04-2020, 06:03

Hello everyone, I am a new MSX user who's having fun playing around in basic on my Sanno SPC Super.

I know that it's possible to poke the color table in screen 1 to get more than 2 colors on screen, but I can't seem to find any examples or reference material that explains how to do so at my level of understanding.

From what I've read, I can poke base(6) somehow to do this, but I think I just need a really good example in basic to show me how this is done. For example, how would I do something like setting character "A" to be drawn with foreground 13, background 5?

Thank you for your help.
I always wanted to learn to program as a kid, but when my parents got a 386 pc back in the day I went to the library and got some books on basic programming, but got frustrated when I was reading them because the first example used REM and never explained anywhere in the book what REM was. LOL.

Login or register to post comments

By wolf_

Ambassador_ (9826)

wolf_'s picture

19-04-2020, 09:35

10 color,0,0:Screen1
20 vpoke base(6)+8,&hd5
30 print"<=>?@ABCDEFGHIJKLMNOP"
40 a$=input$(1)
50 screen 0

Note that in screen 1, you'll set colours for eight characters.

10 color,0,0:Screen1
20 vpoke base(6)+8,&hd5
30 for y=0 to 7
40 vpoke base(7)+65*8+y,255-rnd(1)*40
50 ' ^ 65 = A, 8 = "8 rows per char"
60 next y
70 print"<=>?@ABCDEFGHIJKLMNOP"
80 a$=input$(1)
90 screen 0

Now with changed pattern.

By Pineapple

Rookie (17)

Pineapple's picture

19-04-2020, 15:29

Thank You!

I think I understand your example, but correct me if I'm wrong.

The color setting happens on line 20.
The "&hd5" is hex for colors 13 and 5.
The "+8" is how you address the group of 8 characters: in this example "A" belongs to group 8 in the character set.

I will have more questions in the future.
Thanks for helping us n00bz!

By Dolphin101546015

Champion (281)

Dolphin101546015's picture

19-04-2020, 15:34

Get V9938 Applications manual Wink