[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compare Apple II's and Commodore 64's Video
Marcus,
Thank you for explaining. Let say for example. Apple II uses only $400
through $7FF to display black and white text. How can C64 display color
text? It looks like that $400 through $7FF is for text's pixel and $800
through $BFF is for text's color. C64 reads $800 to select 4 bits color for
foreground and background while it reads $400 to display colored pixel to
the screen. (I can't say if C64 uses $400 through $BFF, but it is only an
example.) Is it like that C64 uses double memory space which one is for
text's charactor space and one is for text's color space? Is it the same as
hires to use double memory space?
Bryan Parkoff
<heuser.marcus@freenet.de> wrote in message
1122142466.705797.287000@g44g2000cwa.googlegroups.com">news:1122142466.705797.287000@g44g2000cwa.googlegroups.com...
> The C64 has only 64K and its unfair to compare a 128K
> double-hires-capable Apple IIe/c/gs with it. So for the sake of
> fairness we compare the standard Apple hires mode with the C64.
>
> The Apple can only display 6 true colors (artefacts on certain
> positions and under certain circumstances not counted) in 280 x 192.
> The 2 other colors you mentioned are White2 and Black2 which are
> practically identical to White1 and Black1.
> There are certain wicked rules, however: You cannot, for example,
> display two colors from different color groups in a single byte
> (because of the color bit), two pixels together are always white and so
> on. Finally, the "real" color resolution is only 140 x 192.
>
> The C64 is a completely different beast, though the video memory is
> nearly the same size.
> The keyword here is the word "nearly"! Actually the C64 has two memory
> areas for the display hardware:
>
> One is the normal frame buffer. It is either 1KB (text modes) or 8 KB
> (graphics modes). There are basically only two graphics modes: 320 x
> 200 with 1 bit (= 2 colors) per pixel and 160 x 200 with 2 bits per
> pixel (= 4 colors). In the text modes you always have a 40 x 25 matrix
> and 8 x 8 or 4 x 8 pixel characters (the latter is multicolored text
> like in the old Ataris).
>
> But how does the C64 achieve its 16 colors simultaneously?
>
> Of course you can change color registers on scan lines to change colors
> in certain vertical areas (like the old Ataris for example) but that is
> not the trick.
> The trick isn't its sprite capabilities either (though it had the most
> advanced sprite hardware of its time: 24 x 21 pixels large with 1 bit
> per pixel - but 2 sprites combineable giving 4 colors).
>
> This trick is a second, 1KB large area of memory: The so-called
> "Color-RAM".
>
> You may have noticed that the C64 is capable of colored text (unlike
> the Apple II and the 8-bit Ataris). I assume that the Color RAM was
> integrated to give the C64 this color text capability but its also
> active in the "normal" hires modes - a brilliant move (though probably
> very simple to construct).
>
> For each cursor cell in the 40 x 25 matrix (= 8 x 8 hires pixels each -
> either in graphics mode or as a single character in text mode) you have
> a byte which controls the background (4 bits = 16 colors) and the
> foreground color (also 4 bits = 16 colors).
>
> The video chip "mixes" the bit-data it fetches from the frame buffer
> with this color-data from this specialized RAM (don't ask me for
> details ;-)
>
> This means, that you can display all 16 colors even in its highest
> resolution of 320 x 200 in a single line - without complicated
> interrupts and timings. If you use this capability intelligently you
> can achieve great results.
>
> All this with only a single additional kilobyte... ;-)
>
> In the first revisions of the C64 this Color-RAM was integrated with
> two 2114 (1k x 4Bit) static RAM chips but in later revisions it was
> integrated directly into one of the custom chips (interestingly *not*
> into the video chip!). Hence its not visible any more on schematics of
> newer revisions.
>
> By the way: Schematics of the C64 motherboard and information on the
> function and addresses are freely available on the net if you want to
> study this.
>
> bye
> Marcus
>