Posted By
Mozartkügel on 2019-01-30 04:15:55
| Having a hard time enabling multicolor mode
Hi guys! I did my first steps in c16 / plus 4 programming last night. I managed to draw up a screen of custom characters and apparently poke the correct stuff into FF12 and FF13, but I can't seem to find the correct values to poke into FF06 and FF07 'to save my life' even though I looked at the ultimate plus 4 map and the TED registers page here: TED Registers
I tried with both 00010000 ($10) and 00001000 ($08) in FF07 (If I would've had the bit numbers ordering flipped around) and 00011000 ($18) in FF06 (which is the same both ways). I tried a bunch of other values too, taking into account the default values named in the TED registers page, but no luck. Any help appriciated
|
|
Posted By
gerliczer on 2019-01-30 14:55:51
| Re: Having a hard time enabling multicolor mode
Multi-colour mode should be enabled on a character by character basis. Set the mode selector bit in $FF07 and set bit 3 to 1 in the luminance/colour matrix for those character places that you want to display multi-colour content. AFAIR. Check out the Ultimate Map.
|
|
Posted By
Luca on 2019-01-30 07:16:08
| Re: Having a hard time enabling multicolor mode
Briefly, that black gameplay background's color should be coloured as $08 instead of $00
|
|
Posted By
Mozartkügel on 2019-01-30 08:17:51
| Re: Having a hard time enabling multicolor mode
Ahaa, so it's like on the vic-20 that it's per character basis, I thought it was like on the C64 that you just enable multicolor and you get the wide pixels. That explains it. Thanks for the help gerliczer!
Luca I thought I saw something about that black color, but I can't find any info now. Why is it that $08 should be used instead of $00?
|
|
Posted By
Luca on 2019-01-30 08:48:51
| Re: Having a hard time enabling multicolor mode
Because gerliczer told it pretty fine to you: "...set bit 3 to 1 in the luminance/colour matrix for those character places that you want to display multi-colour content..."
|
|
Posted By
Mad on 2019-01-30 13:31:49
| Re: Having a hard time enabling multicolor mode
If you figured the stuff out.. An very important flag is $80 in $ff07.. You can get some headache if you don't set it propperly to $80.. (Apparently you know that there is a Bitmap Mode and a Charset Mode).. In Charset Mode you have to set the $08 bit in the colorram to get double sized pixels in a given character on screen, if not set you get single dot pixels and a thus a hires character.. Like Luca and gerlizcer already stated..
|
|
Posted By
gerliczer on 2019-01-30 15:03:26
| Re: Having a hard time enabling multicolor mode
> I thought it was like on the C64 that you just enable multicolor and you get the wide pixels.
Well, I think that is wrong. The VIC-II works exactly the same as TED in this regard. You have to turn that bit 3 on in the colour RAM where you want to use MC mode in text displays. I checked this right now in the first C64 programming manual I could find on the Internet.
|
|
Posted By
Mozartkügel on 2019-01-30 16:27:36
| Re: Having a hard time enabling multicolor mode
Hey, thanks for all the help guys! I will dig into this and report back when I get it to work.
"Because gerliczer told it pretty fine to you" Lol xD unfortunately I'm not terribly tech savvy so reading bits'n'bytes, programming guides, register maps etc. sink in pretty slow, but I'll plow forward. I really appreciate the help!
I realised now why I thought you just had to flip the bit on the C64, it was because I enabled the bit and added the color data from charpad into my code at the same time, so I was like "yay, it worked" and had no clue about it being set in every character. However now when I think about it is pretty obvious, because I have hi-res clouds in my background too and everything else is multicolor.
|
|
Posted By
SVS on 2019-01-31 08:44:36
| Re: Having a hard time enabling multicolor mode
A curiosity: the Programmer's Ref. Guide says:
"If the color associated with the cell is less than OR EQUAL to 8, then the cell is high resolution and its actual color is the color chosen".
But in the case of "8" as color, the bit 3 is set: then the cell is Multicolor, or am I wrong?
|
|
Posted By
Doug on 2019-01-31 11:25:26
| Re: Having a hard time enabling multicolor mode
SVS you are totally correct, and that's an error in the reference guide. 0x08 is definitely multi-colour black.
Bit 3 == multi-colour enable for this character. Bits 2:0 == foreground colour select (i.e. you are limited to just the 'lower eight' colours in the TED 'palette').
|
|
Posted By
Mozartkügel on 2019-01-31 16:01:46
| Re: Having a hard time enabling multicolor mode
Yay! I managed getting it working, now I have the first small steps towards a small Plus4 game Thanks again everyone for helping out.
@Doug, yeah I realised that you loose half the palette in multicolor mode too (like on the c64 and vic-20). Is it like on the c64 though, that the that the two shared colors can be chosen from the whole palette?
|
|
Posted By
Csabo on 2019-01-31 17:22:44
| Re: Having a hard time enabling multicolor mode
To answer your last question:
In hires, each character can have two colors in it. One defined by the color/luminance map, and one shared color, specified by $FF15.
In mutli, each character can have four colors in it. One defined by the color/luminance map, and three shared colors, defined by $FF15/$FF16/$FF17.
Hope this helps
|
|
Posted By
Doug on 2019-01-31 18:20:35
| Re: Having a hard time enabling multicolor mode
@Mozartkügel - "Is it like on the c64 though, that the that the two shared colors can be chosen from the whole palette?"
To add to Csabo's answer - yes, the shared colours can indeed each be any of the 16 available TED colours (at any luminence level too of course).
|
|
Posted By
Mozartkügel on 2019-02-01 01:48:28
| Re: Having a hard time enabling multicolor mode
@Csabo @Doug This helps, tanks so much for clarifying! ^^
|
|