18

Are "tile pixels" the same size as "sprite pixels", and are they both square (ignoring the rule that multicolor sprites can only be colored in groups of two pixels)?

By "square" I mean that the pixels have a 1:1 aspect ratio.

If the answer depends on the display, then I am asking about the ubiquitous 1702 monitor.

EDIT: I am asking so that I can configure the graphics editor on my modern laptop for creating Commodore 64 artwork. In my case, I am using an NTSC system.

  • 2
    Using a 4:3 monitor the pixels (408x284 including the border) should have been nearly square. Please note that CRT monitors had a knob that allowed adjusting the aspect ratio of the image. The 1702 had this inside the case intended to be used by repair shops only. – Martin Rosenau Feb 20 at 22:11
  • @MartinRosenau that's assuming 50Hz timings? – Tommy Feb 20 at 22:30
  • 5
    Ugh. This is one of those questions where more context on what you hope to accomplish is needed to prevent the answer being rather complicated. For example, are you targeting PAL or NTSC C64? Are you exporting graphics created on a modern system (versus drawing graphics on a real C64)? Do you just want to know something really specific, like "How should I setup The Gimp for C64 artwork"? – Brian H Feb 20 at 22:34
  • @BrianH i actually am trying to set up my sprite editor for c64 artwork. – Woodrow Barlow Feb 21 at 15:10
  • I am wondering how the 'squareness' of pixels is defined in TV standards? For example, is there a pixel clock definition, such that pixels at that pixel clock must be square? Is there a requirement to tune vert. vs horiz. picture size (both easily adjustable at CRT TVs) in a specific way for the 'square' pixels to become actually square? – lvd Feb 22 at 10:36
23

The pixels are not exactly square, the actual aspect ratio depends on the TV system. For PAL-B, the pixel aspect ratio is 0.937:1, the pixels are a bit higher than they are wide. For NTSC, the ratio is 0.75:1. At this ratio it can be clearly seen that the cursor block is definitely higher than wide.C64 NTSC model rendered by VICE emulator

| improve this answer | |
  • so if i'm setting up my graphics editor for artwork on an NTSC c64 with the 1702, i should use 0.75:1 pixel aspect ratio. for PAL, i should use 1:1. thank you! – Woodrow Barlow Feb 21 at 15:15
  • 9
    VICE is an emulator so it might not be accurate :-/ – Thorbjørn Ravn Andersen Feb 21 at 15:39
16

In standard bitmap mode the C64 outputs 320 pixels in 40µs.

The visible portion of a line is ~52µs; in 60Hz regions ~240 lines are considered 'visible', but in PAL regions it's ~288 lines.

So if there were no borders, there'd be around 52/40*320 = 416 pixels across the visible portion of a line.

Given that each line is 4/3rds as wide as a hypothetical vertical scan, you can compute that 416 * 3/4 = 312, implying that so you would have square pixels in a hypothetical 312 line display.

A PAL screen has only 288 lines, so it's like taking that 312 line display and stretching out only 288 lines of it. Therefore the pixels will be very slightly taller than wide. Around 288/312 = ~92% as wide as tall.

An NTSC screen has only 240, so its pixels would be more like 240/312 = ~77% as wide as tall.

Heavy caveats apply: different screens are calibrated differently, to numbers usually near to those above but subject to being only as close as the engineer turning the dials could get.

A further nuance is that total line time may be 64µs or 65µs (depending on revision) in 60Hz world, but will be 63µs in 50Hz world. Your screen will have a PLL of some sort to bring itself into synchronisation with the horizontal sync period, but often that'll result in the line contents being slightly stretched or slightly compressed, further throwing off the arithmetic.

You therefore might as well say that PAL pixels are square, as 92% is within the margin of error given the effective approximations of all the other numbers. But NTSC pixels shouldn't be close.

| improve this answer | |
  • 6
    Yet another nuance is that some monitors have an easily-reachable vertical-height knob, and people in the US who play games written for PAL may very well adjust their monitors to show more of the overscan, shrinking the aspect ratio. – supercat Feb 21 at 15:36
  • 1
    I'm wondering what was the calibration on 1702 or 8833 monitors -- did they have C64 pixels square? Was it easy to adjust picture height and width of those monitors? – lvd Feb 24 at 22:43
3

As for the first part of your question, yes, for sprites as well as characters or bitmap images the same principle holds: either you can be in single colour/hi-res mode (320x200, 1 bit of foreground colour info per logical pixel) or multi colour mode (160x200, 2 bits of colour info per logical pixel).

In practice, for PAL, a single colour pixel that is rendered is very close (0.936:1) to being a square.

| improve this answer | |

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.