High Resolution

From C64-Wiki
(Redirected from HiRes)
Jump to: navigation, search
Another example of simple HiRes graphics

High Resolution (hi-res, or HiRes) is one of a few display resolutions available to the Commodore 64.


High Resolution is defined as the maximum pixel density which the VIC-II can produce in a given screen area. It has a theoretical Pixel Aspect Ratio (PAR) of 1:1 with 64 elements in an 8 x 8 pixel character location. In reality, CPU clock cycles prevent a 1:1 PAR accuracy but is a fair approximation for this description and helps to contrast against other resolutions on the C64. Table 1 shows a comparison of resolutions.

Table 1 - Resolution Comparisons
Relative Resolution PAR PAR Graphic Elements (in 8 x 8 pixels) Example Graphics Mode Image Example (Blood Vanilla by Louie64)
High 1:1 PAR High.png 64 (8h x 8v) Standard Bitmap Mode Blood Vanilla High.png
Medium 2:1 PAR Medium.png 32 (4h x 8v) Multicolor Bitmap Mode Blood Vanilla Medium.png
Low 1:1 PAR Low.png 4 (2h x 2v) Standard Character Mode Blood Vanilla Low.png

Notably, a High Resolution output is not necessarily limited by the maximum size of the background area (320 x 200 pixels); as there are techniques which allow composite images into the border area (384 x 272 pixels). Whereas High Resolution is the highest graphical standard that the VIC-II can produce, there are output display issues. On RF display devices (such as televisions), the vertical resolution can be hard to visually define, and a clearer image will be achievable on a composite display device (such as monitors).


HermIRES v1.26 illustrates the color limitation when drawing a bitmap.
Sprite Machine v2.0 illustrates the color limitation when drawing a sprite.

High Resolution images can be created statically from data in a program (such as for games or pictures), or created dynamically during program execution (such as for charts or mathematical effects). High Resolution can be applied to images made from characters, bitmaps and/or sprites.

Characters and Bitmaps[edit]

For characters and bitmaps (which are limited to the background area), a High Resolution image can be a maximum size of 320 (horizontal) x 200 (vertical) pixels. This is comparable, although not identical, to the Color Graphics Adapter (CGA) standard introduced by IBM in 1981. One limiting factor of High Resolution on a C64 is that of colour density. Although the palette of 16 colours can be used in a full screen image, for each 8 x 8 pixel character location, only 2 colors can be used; 1 for the background and 1 for the foreground. The color data for each 8 x 8 character location is taken from corresponding screen memory: the higher nibble controls the set pixel (foreground) color, and the lower nibble determines the cleared pixel (background) color.


For sprites (which are not limited to the main display area), a High Resolution image can be 24 (horizontal) x 21 (vertical) pixels; although aligned sprites can make a larger image. Again, color is a limiting factor and only 1 color can be used in a High Resolution sprite.