10

The VIC-II in the C64 outputs 320x200 pixels inside the borders. What is the full visible resolution including the borders?

To clarify, I am interested in the full screen size in units of normal pixels, i.e. my question has nothing to do with whether you could possibly change just a single pixel in the border area.

  • 1
    You might find more information that's interesting to you over on my question about VIC-II timings retrocomputing.stackexchange.com/questions/3208/… – Wilson Jul 30 '18 at 8:25
  • 1
    Don't see why this would be down voted, while the question is based on an incomplete understanding of the video output, there are some great answers below clarifying that, that would likely be helpful for others as well. – Retrograde Jul 30 '18 at 11:18
  • 1
    @Cumbayah My guess is it's because it doesn't show research effort ? Or possibly because the words "pixel" and "resolution" don't quite fit what's being asked about. – Wilson Jul 30 '18 at 11:43
  • @Cumbayah Maybe because people feel that voting on a question is about the question, not the answers? – Raffzahn Jul 30 '18 at 11:43
  • Consider: If the computer legitimately drew something outside of the addressable area, then why not make that addressable? Even a few dozen extra addressable pixels horizontally and vertically would have made a big difference on that class of system, at a somewhat modest (not saying "cheap") memory cost. Since they weren't addressable, there is probably a good reason why not. – a CVn Jul 30 '18 at 15:51
19

It's unclear what you mean by "visible", since that's a feature of your monitor, not of the computer. That's because there's a fairly huge area which is not intended to be displayed, but could be. That's called the overscan area, and since that varies widely from TV to TV, that's why the home computers all had this border.

But the Commodore 64 has 63 to 65 machine cycles per scanline, depending on if it's PAL or NTSC; each of those cycles is 8 hires pixels or 4 lores pixels. 40 of those cycles are the 320 pixels inside the borders.

So 63 cycles would be 504 pixels, and 65 cycles would be 520 pixels. That's not quite the full story though, because the analog raster beam needs time to return to the left-hand side of the screen. That time is usually called HBLANK and takes around 101 pixels. So the total horizontal "resolution" is 403 pixels

As for the vertical resolution, something similar goes on. You've got 200 scanlines inside the border, as you noted. There's 312 scanlines from VSYNC to VSYNC, but some of that is spent in VBLANK, which is the time it takes for the analog beam to reach the top of the screen. VBLANK seems to be around 30 scanlines, so that the total vertical "resolution" is 284 pixels.

These numbers were mostly taken from this web-page which is specific to a PAL C64. For NTSC and others, the details are going to vary of course.

  • @Tommy: I think PAL machines all have 63 cycles/line, and all 63-cycle machines are PAL, but NTSC may be either 64 or 65, with the latter being significantly more common. – supercat Jul 30 '18 at 20:53
9

The VIC-II in the C64 outputs 320x200 pixels inside the borders. What is the full visible resolution including the borders?

There are no pixel outside the pixelated area. The border just fills the lines. And whats visible is - like always, defined by the adjustment of the monitor/TV.

To clarify, I am interested in the full screen size in units of normal pixels, i.e. my question has nothing to do with whether you could possibly change just a single pixel in the border area.

I believe your question is based on the idea to exactly reproduce a C64 output on a digital screen. Just TV never was digital, and even less an exact thing. There are no pixels and no pixel units. TV is defined by timing and assumption. And based around the fact that not two receivers will show the same portion of a transited picture. Therefore does every TV signal carry an overscan area. That's a the part of the picture that might be shown but doesn't have to be.

The whole thing starts with CRTs not being rectangular in the first place and includes many other effect that will make less than transmitted visible. Each show/movie is produced in a way that there is no relevant content in the direct border area - horizontal or vertical. For example the guideline for 'action safe' is that the action should happen at least 5% from each side. At the same time, 'title safe' is set at 10%. So no title, text element or logo should cover an area less than 5% away from the sides.

And even in the age of digital TV this is relevant, as console manufacturers also set standards in that region for their products: Nothing game relevant (like controls) within 5-10% of the sides. That's why there's often a rather thick border around gauges.

On a C64 (and effectively any other machine), a useful (pixelated) picture is produced within the line timing of a TV. Some keep the area outside of this at black shoulder level, others allow it to be filled with a single colour - sometimes even on a line by line base.

A whole TV line is defined (NTSC, PAL in braces) as 63,6(64) µs. Thereof 10.9 (12) µs are used for synchronisation purpose and 52,7 (52) µs are for a potential visible signal. How much of that is really visible depends on the individual TV set (*1)

Ofc, one could now argue that of that by subtracting the time for the 320 pixels displayed we get the overscan area and by dividing this again by pixeltiming we get some pixel number. That gets tricky, so lets try:

  • A NTSC C64 runs at 1.022727 MHz, with 8 Pixels displayed per clock cycle. That's 0.122 µs per pixel. Thus a 52.7 µs line content (*2) does equal 431.18 pixel length.

  • For PAL the numbers are 0.98524 MHz and 0,127 µs per pixel, resulting in 415,38 pixel times.

So one could state that the maximum C64 line is made of 431 (415) pixels, thus the border would be 431-320=111 pixel (415-320=95).

Just, that it doesn't tell how much of these 'pixeltimes' are visible or not. On monitors (and dedicated TV) users usually blew up the picture until the corners of the square (useful) picture reached the round ones of the screen, we get a maximum sized useful picture. Easy to see when comparing different pictures of C64.

Vertical is less complicated, as lines are already a quantized resource. The content carrying portion of the first field (and homecomputers usually just produce first fields) ranges from line 20 (24) to 262 (310) resulting in 242 (284) displayable lines, thus it's a maximum of 42 (84) border lines (*3).

Again, noone blows a TV pic up to the full extent. Especially not when home computer output is displayed.

Bottom line: What's called a border on the C64 is everything outside the pixelated display area (but within the line/frame) and what part thereof is shown or overscan does not depend on any definition but is how an individual TV set is adjusted.

If you're about to do some emulation or whatsoever, just pick a nice number, like 10 pixels/lines, for your border area, ignoring if it's a NTSC or PAL machine. This will give a nice and consistent user experience.


P.S.: There is a great page about real life VIC-II behaviour, even though his calculations are based on assumptions and a bit off, his notes about colour behaviour are quite interesting.


*1 - If you really want to dig into the TV's signal structure, maybe check this very good (and compact) clue sheet.

*2 - Many people often use the total line length here for calculation, not just the content part. While this is necessary when calculating C64 program timing, it's of no meaning about how much is displayable, as it includes all synchronizing parts.

*3 - As a result, with a 'standard adjusted' TV-screen pictures of European C64 output should show a wider top and bottom margin than US models. Except, many promo pictures of commodore, that clearly show a European models output (no photoshop back then), don't show such ... as if they cranked up the picture to get a better image. Eventually the ultimate proof how irrelevant that calculations are.

  • 1
    It is perhaps worth noting that the same concept of a safe area exists in publishing. Important elements, including any text, shouldn't be placed too close to the edge of a (paper) page, but anything extending toward the edge of the page should extend slightly outside of the intended printed page, because the cutting process isn't an exact science. That way, even if the cutter is off by a few millimeters, the result doesn't automatically look bad nor does something important get cut off. – a CVn Jul 30 '18 at 15:45
  • As for your *3, while Adobe Photoshop wasn't around, various kinds of trick photography definitely were. It did take a lot more effort, though, which probably made companies less inclined to doctor images and rather to either take new ones, or to reuse existing ones, where the existing images were good enough for the intended purpose. – a CVn Jul 30 '18 at 15:46
  • @MichaelKjörling For *3: That's why I mentioned it. Back then it was much cheaper to shoot new pictures - even include hireing actors - then adapting an existing one. At the same time, the spend more time to make it look as intended on the first try. Including blowing up the display area by adjusting the CRT specific to make pictures look screen filling. Not just in Europe, but also in the US. It's just easy to spot as the top/bottom border is much wider on European C64 without adjustment. – Raffzahn Jul 30 '18 at 15:52
  • 6
    The Commodore 64 is capable of displaying content in both horizontal and vertical overscan areas. I would expect that if one hooks each version of the VIC-II chip to a scope to look at the power-on default video signal with its light blue borders, one could measure exactly how far the overscan areas reach in each direction with each version of the chip. – supercat Jul 30 '18 at 17:32
7

http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt, section 3.4.:

          | Video  | # of  | Visible | Cycles/ |  Visible
   Type   | system | lines |  lines  |  line   | pixels/line
 ---------+--------+-------+---------+---------+------------
 6567R56A | NTSC-M |  262  |   234   |   64    |    411
  6567R8  | NTSC-M |  263  |   235   |   65    |    418
   6569   |  PAL-B |  312  |   284   |   63    |    403
  • 2
    Matches what my answer says, and also gives information about two other variants. – Wilson Jul 31 '18 at 11:05

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.