Draw on screen border in Commodore 64

前端 未结 9 2103
花落未央
花落未央 2021-01-30 16:12

I have this curiosity for 25 years and I would love to understand the trick.

In the Commodore 64 the border was not addressable by the 6569 VIC. All you could do was to

9条回答
  •  执念已碎
    2021-01-30 16:34

    Note that what Krestage 3 did (as mentioned in the question) is different.

    One level of the trick is to mess with the border when the bottom of the "paper" (work-area rectangle, the thing inside the border) is just being drawn. This lets you have sprites in the upper and lower border.

    A higher level is to mess with it at the right-hand edge of the paper, in every raster line, all as explained in JohnD's answer above. This lets you have sprites in the left and right border.

    None of this lets you have more than 8 sprites in one line. That's just Krest magic.

    By far the best resource (I know of) for the VIC chip is "The MOS 6567/6569 video controller (VIC-II) and its application in the Commodore 64" by Christian Bauer and a useful addendum is "The memory accesses of the MOS 6569 VIC-II and MOS 8566 VIC-IIe Video Interface Controller" by Marko Mäkelä.
    Caveat lector: these are somewhat technical, and you might find them easier to understand after you've programmed some VIC effects yourself.

    If the links ever die, just google up the articles by title, they're endlessly replicated.

提交回复
热议问题