Mike wrote:At some time in the raster VIC-I needs to reload/latch the number of columns for a down-counter ("number of columns left for display") - preferably shortly before the border colour could be displayed.
At roughly the same time, it is also necessary to decide whether the next raster forms a new text row (8 or 16 rasters have been displayed from the old text row), in which case the current 10 bit offset into the text register is left as is and latched as new value. Otherwise (old text row) the offset is reloaded from the previously latched value.
I.e. you can expect to find a 10 bit register (current character offset 'under' beam) and latch (start of current text row). And a fast adder which combines screen base and offset for the text screen and colour RAM fetch. And another fast adder, which takes the fetched character code (multiplied by 8 or 16), the Y-offset and the current character base to access either character ROM or internal RAM.
I will certainly keep an eye out for all of that. I don't have as good an understanding of the timing and behaviour of the 6560/6561 as many of the programmers on Denial, but hopefully I'll learn a bit as I go along, and who knows, maybe I'll try my hand at writing a VIC 20 game at some point. I do have a few game ideas.
I'm expecting to see in the die shot most of what is in the block diagram:
But I'm also expecting there to be more that this. Already, looking at the above block diagram, I'm not seeing much of the X and Y decoder in this block diagram. The SYNC DECODE seems to be the box for it I guess. To me the name sync decode is a nice description for the combination of the bits related to the vertical sync and horizontal sync that we've discovered so far, but there's obviously a lot more that the X and Y decoders do, such as the blanking and colour burst, and since the above is for a 6560, also the interlaced mode. So the block diagram is obviously, and understandably, simplified. I'm hoping to produce a block diagram that has a bit more detail within some of the above boxes.
Last year I think I did a reasonable job of looking at what is in the COLOR DECODE box. What I'm wondering, and it is part of the curiosity, is whether I'll find each of the counters that it mentions. I'm assuming that I probably will, but perhaps a few others. I'm also wondering what each of those lines with the arrow heads really means. Take the line leading down from the SYNC DECODE to the COLOR DECODE. This turns out to be not a single line but at least four that I've discovered so far (a combined V/H sync, the colour burst, horizontal blanking, and vertical blanking).