On Tue, 27 Jun 2000, COPLIN, Nicholas. wrote: > I recently had time to think about a colour RAM expansion for the C64 and > what prospects it could offer, but I'm not sure if I got the logic correct, > and also have very little info about the way the VIC grabs the colour RAM > data. As far as I know, the colour RAM data is only used for text and multi-colour graphics attributes. The data are read during bad lines, simultaneously with the text buffer data (the buffer that normally starts at $0400). As the colour RAM only has 1024 addresses and as the start address of the text buffer can be set in steps of 1024 addresses, the same address lines A0-A9 can be used for addressing both text and colour memory simultaneously. The data lines D8-D11 are not used outside bad lines, unless I'm mistaken. > My thinking was to create a mode where an 8k colour RAM buffer was possible, > hence a 4bit colour byte was available for each byte in the hires map (of > course only in MC hires would the colour RAM be of use). The only problem is that the VIC-II won't be reading the colour RAM outside bad lines. When you think about it more closely, you will notice that it has no chance to feed the addresses to the colour RAM. You could force a bad line on every raster line (as in FLI pictures) to circumvent this, but it would be very CPU intensive (depending on the height of the area you want to display in more colours). > Option 1a) would be if colour info was grabbed in parallel to reading the > Video RAM and then stored within the VIC for the next 8 reads of the Hires > RAM. This would mean an expansion is not possible I think this is the way it works. The VIC-II probably has a 40x12 bits buffer for the character line and the colours. The VIC-I (whose dot clock is only 4 times the bus clock) works like most PC graphics controllers I've seen: it reads both the text buffer and the character generator RAM on every raster line. > Anyone have any ideas? The C128 has a 2-kilobyte colour RAM, of which only 2048 nibbles are used. The colour RAM bank can be independently switched for the CPU and for the video chip by setting the LORAM and HIRAM bits (one of the bits 0-2 in $01; I think they are bits 0 and 1) in the C128 mode. You could have more colourful FLI pictures in the C128 mode if you flipped the colour RAM bank every 4 lines. For those who don't know: FLI, or Flexible Line Interpretation, is a trick some demo programmers found in the late 1980s or early 1990s. It works by forcing explicit DMA fetch by fiddling with the $d011 register. FLI is in multi-colour mode; when used in hi-res mode, this technique is usually called AFLI. It allows the text matrix address to be changed on every raster line. In that way, you get 2 fully independently selectable colours for every 8x1 pixel cell. In multi-colour mode, the colour RAM attribute is the same for a 8x8 pixel cell (on the C128 you could switch it e.g. for each 8x4 cell). The colour that comes from one of the $d02x registers (maybe $d021) is usually kept the same for the whole picture, usually black. Marko - This message was sent through the cbm-hackers mailing list. To unsubscribe: echo unsubscribe | mail firstname.lastname@example.org.
Archive generated by hypermail 2.1.1.