Posted By
Haplo on 2022-08-05 22:01:58
| Question about the character map
I have n00b question. After having released two games on Plus/4 there is still so much I don't know about it; and documentation is a bit scarce compared to C64 (or I don't know where to look).
On C64 if I put the value 129 in the screen memory I get the 129th character of my custom character set. But on Plus/4 I get an inverted "A" because of (128 + 1). Is it possible to get the 129th character on Plus/4? Thanks.
|
|
Posted By
Csabo on 2022-08-05 22:52:56
| Re: Question about the character map
Yes, by default, what you described happens.
This is controlled by bit $80 of $FF07. $00 (default) = 128 characters + 128 inverted characters $80 = 256 characters (no inverted ones)
This can be found in the encyclopedia here (buried under $FF07), but it's not very obvious
The only one thing to note about $FF07 is that bit $40 controls the PAL/NTSC setting, therefore you don't want to overwrite that one bit. Sadly, overwriting that one bit directly causes a ton of programs not not be NTSC compatible :-/
So: LDA#$88 / STA$FF07 -> bad! LDA$FF07 ORA#$80 STA$FF07 -> good.
|
|
Posted By
Haplo on 2022-08-06 00:17:54
| Re: Question about the character map
Thank you thank you!
|
|
Posted By
SVS on 2022-08-06 08:02:10
| Re: Question about the character map
@Haplo: you could take advantage by using the "Screen codes calculator" available on tab "Graphic modes" inside the Ultimate Map
|
|
Posted By
javierglez on 2022-08-06 13:06:54
| Re: Question about the character map
Looking for sample code I usually checked a couple of books, Commodore_C16_Plus4_Reference_Book and Plus-4_Programmers_Reference_Guide, available here, https://commodore.bombjack.org/c16-plus4/books-c16-plus4.htm
But they're not that useful as "Compute's Guide to the memory map" are for VIC20/C64, so I agree with you.
|
|
|
Posted By
Haplo on 2022-08-06 22:26:54
| Re: Question about the character map
Thanks all. Downloaded all of them and will go through them.
|
|