Colour Memory why does it move?

Basic and Machine Language

Moderator: Moderators

Post Reply
User avatar
freshlamb
Vic 20 Dabbler
Posts: 76
Joined: Sun Apr 04, 2004 5:38 pm
Website: http://www.rufnoiz.com
Location: Prince Albert SK Can

Colour Memory why does it move?

Post by freshlamb »

I looked to see if this was covered elsewhere but the search engine for the forum isn't the greatest.

So I understand why memory has to move when expansion memory (greater than 8K) is inserted (so BASIC has a contiguous space). But why does colour memory have to move?
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Colour Memory why does it move?

Post by Mike »

Hi, freshlamb,

I answered this question in another context: viewtopic.php?t=5572&hilit=changes+base ... s&start=21.

In short: the colour RAM is actually 1K nibbles in size. It is not really moved but its use is changed as it is addressed with the lower 10 bits of the corresponding text RAM address.

That 'extra' size also is what allows for overscan displays. Though with that use case it is advisible to put the screen RAM at an address divisible by 1024. Otherwise - when the screen RAM exceeds 512 bytes - you will have to put up with a wraparound of the colour RAM ($9600..$97FF -> $9400..).

Greetings,

Michael
User avatar
freshlamb
Vic 20 Dabbler
Posts: 76
Joined: Sun Apr 04, 2004 5:38 pm
Website: http://www.rufnoiz.com
Location: Prince Albert SK Can

Re: Colour Memory why does it move?

Post by freshlamb »

Thanks Mike, I knew you would have the answer!

By the way I just hooked up my VFLI vic yesterday, it turns out the 8K (16K) chips just needed to be re-seated. So it works fine. I will have to post video on YouTube when I have time!
malcontent
Vic 20 Hobbyist
Posts: 129
Joined: Sun Dec 26, 2010 1:51 pm

Re: Colour Memory why does it move?

Post by malcontent »

Mike wrote: Sat Nov 27, 2021 2:48 am Hi, freshlamb,

I answered this question in another context: viewtopic.php?t=5572&hilit=changes+base ... s&start=21.

In short: the colour RAM is actually 1K nibbles in size. It is not really moved but its use is changed as it is addressed with the lower 10 bits of the corresponding text RAM address.

That 'extra' size also is what allows for overscan displays. Though with that use case it is advisible to put the screen RAM at an address divisible by 1024. Otherwise - when the screen RAM exceeds 512 bytes - you will have to put up with a wraparound of the colour RAM ($9600..$97FF -> $9400..).

Greetings,

Michael
This sounds like it may be a memory/code saver somehow, unless I'm reading it wrong: Could you horizontally split a screen with a repeated color memory pattern?
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Colour Memory why does it move?

Post by Mike »

malcontent wrote:This sounds like it may be a memory/code saver somehow, [...]
Unlikely. If anything, I would categorize that behaviour as mildly annoying, but understandable due to hardware reasons and with an easy workaround - just do not put screen RAM at an odd half KB boundary with an overscan screen. After all, what is the use of an addressing irregularity mid-screen and quite likely, even mid-screenline?
Could you horizontally split a screen with a repeated color memory pattern?
I do not quite understand what you are up to, but you could always try for yourself.
Post Reply