Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Commodore 64
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Text modes === The standard text mode features 40 columns, like most [[Commodore PET]] models; the built-in character encoding is not standard [[ASCII]] but [[PETSCII]], an extended form of ASCII-1963. The KERNAL ROM sets the VIC-II to a dark-blue background on power-up, with a light-blue border and text. Unlike the PET and VIC-20, the C64 uses double-width text; some early VIC-IIs had poor video quality which resulted in a fuzzy picture. Most screenshots show borders around the screen, a feature of the VIC-II chip. By utilizing interrupts to reset hardware registers with precise timing, it was possible to place graphics within the borders and use the full screen.<ref name="Ojala">{{cite web| url=http://www.antimon.org/dl/c64/code/opening.txt|title=Opening the Borders|last=Ojala|first=Pasi| access-date=September 13, 2008}}</ref> [[File:Fonts-C64.png|thumb|alt=Two character sets, both light blue against a darker background|The C64's two PETSCII character sets]] The C64 has a resolution of 320Γ200 pixels, consisting of a 40Γ25 grid of 8Γ8 character blocks. It has 255 predefined character blocks, known as PETSCII. The character set can be copied into RAM and modified by a programmer. There are two color modes: high resolution, with two colours available per character block (one foreground and one background), and multicolour (four colors per character block{{snd}}three foreground and one background). In multicolor mode, attributes are shared between pixel pairs so the effective visible resolution is 160Γ200 pixels; only 16 KB of memory is available for the VIC-II video processor. Since the C64 has a bitmapped screen, it is possible (but slow) to draw each pixel individually. Most programmers used techniques developed for earlier, non-bitmapped systems like the Commodore PET and TRS-80. A programmer redraws the character set, and the video processor fills the screen block by block from the top left corner to the bottom right corner. Two types of animation are used: character block animation and hardware sprites. ====Character block animation==== The user draws a series of characters of a person walking, possibly two in the middle of the block and another two walking in and out of the block. Then the user sequences them so the character walks into the block and out again. Drawing a series of these gets a person walking across the screen. By timing the redraw to occur when the television screen blanks out to restart drawing the screen, there will be no flicker. For this to happen, a user programs the VIC-II that it generates a [[raster interrupt]] when [[flyback transformer#History|video flyback]] occurs. This technique is used in the ''[[Space Invaders]]'' arcade game. Horizontal and vertical pixel scrolling of up to one character block is supported by two hardware scroll registers. Depending on timing, hardware scrolling affects the entire screen or selected lines of character blocks. On a non-emulated C64, scrolling is glass-like and blur-free. ====Hardware sprites==== [[File:Gesteuerter Sprite lΓ€uft nach oben (Spittis Search Game Commodore 64).jpg|thumb|alt=Screenshot of a video game|Sprites on screen in a C64 game]] A sprite is a character which moves over an area of the screen, draws over the background, and redraws it after it moves. This differs from character block animation, where the user flips character blocks. On the C64, the VIC-II video controller handles most sprite emulation; the programmer defines the sprite and where it goes. The C64 has two types of sprites, respecting their color-mode limitations. Hi-res sprites have one color (one background and one foreground), and multi-color sprites have three (one background and three foreground). Color modes can be split or windowed on a single screen. Sprites can be doubled in size vertically and horizontally up to four times their size, but the pixel attributes are the same β the pixels become "fatter". There are eight sprites, and all eight can be shown in each horizontal line concurrently. Sprites can move with glassy smoothness in front of, and behind, screen characters and other sprites. The hardware sprites of a C64 can be displayed on a bitmapped (high-resolution) screen or a text-mode screen in conjunction with fast and smooth character block animation. Software-emulated sprites on systems without support for hardware sprites, such as the [[Apple II]] and [[ZX Spectrum]], required a bitmapped screen. Sprite-sprite and sprite-background collisions are detected in hardware, and the VIC-II can be programmed to trigger an interrupt accordingly.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Commodore 64
(section)
Add topic