8-bit computer graphics eighties

Click here to load reader

Post on 26-Oct-2014

24 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Computer Graphics during the 8-bit Computer Game EraSteven CollinsImage Synthesis Group Department of Computer Science Trinity College Dublin, Ireland.

1 IntroductionThe technologies being employed in current games have advanced to the point where computer game companies are now leaders in graphics research and indeed the requirement for realistic real-time graphics has arguably driven graphics research in areas such as image based rendering and visibility processing. This article will explore the early 8-bit computer industry (from about 1982 to 1990) and in particular the graphics architectures, algorithms and techniques being employed at that time in computer games. Rather than attempt a complete review of all the machines available at the time (including the coin operated cabinets, the dedicated home games consoles and the more general 8-bit home computers), Ill concentrate on what I know best, the Commodore 64, which was inarguably the most successful of the 8-bit machines but will also have a brief look at the Atari 400/800 and Sinclair Spectrum for comparison. In later sections, Ill outline the architecture of the 64s graphics sub-system (and compare it with some of its main rivals), list some of the graphical techniques used in different genres of games and will also explore some of the more esoteric effects that can be squeezed from the 64 by exploiting quirks of its video chip. First, though, well look at the birth of the industry which has surpassed even the movie industry in annual turnover.

on an oscillascope at Brookhaven National Laboratory in Upton, New York. The rst commercial computer game1 was Computer Space which appeared in November 1971. It never really sold, however, and by the time production ceased a total of only 3,000 machines had been made. An excellent chronological archive, I.C.When [1], is a great source for historical information regarding the computer industry with particular reference to computer games.

2.1 The Coin-Operated Arcade GameThe rst real commercial success was Pong, created by Nolan Bushnell in November of 1972 who, with fellow electrical engineer Ted Dabney, formed a company called Syzygy which later became Atari. Atari, now synonymous with the early game industry, had huge successes with Pong, Asteroids, Missile Command, (Breakout designed incidentally by Steves Jobs and Wozniak before they began Apple) and created the home game console market with the Atari 2600. Other manufacturers quickly followed suit including Bally/Midway and Taito (responsible for Space Invaders), and Williams (who released classics that included Eugene Jarvis Defender, Robotron: 2084 and Joust). For more information see the excellent Videotopia website [2].

2 A Brief History of Time

2.2 The Home Computer

The golden era of the 8-bit computer game began Most people would probably associate Pong with the around 1982 and continued until about 1990. Following rst computer game. In fact, as early as 1962 a game on from the success of hobbyist computer kits (like the called Spacewar was created at MIT on a PDP-1 and Altair and the Sinclair ZX-80) a number of computer there is some evidence of a Pong-like game which ran Email address: [email protected], web address: http://isg.cs.tcd.ie/scollins/1 This was an arcade game taking the now familiar form of an upright cabinet with dedicated computer hardware and black & white display.

1

MachineAtari 800 BBC Model B Commodore 64 Dragon 32 Jupiter Ace Lynx Oric 1 TI 99/4A VIC-20 ZX-81 ZX Spectrum

CPU6502 6502 6510 6809 Z80A Z80A 6502A 9900 6502 Z80 Z80

RAM48K 32K 64K 32K 3K 48K 48K 48K 5K 1K 48K

ROM8K 32K 20K 16K 8K 16K 16K 16K 16K 8K 16K

Resolution320 192 640 256 320 200 256 192 512 368 248 256 200 240 256 192 64 48 256 192

no hires mode

Figure 2: The Atari Player Missile (PM) graphics.

Table 1: A summary of a selection of the large range of 8-bit home computers that appeared on the market from 3.1 The Atari-800 1982. The Atari (see the Planet Atari website [3] for more information) had the most powerful graphics system companies simultaneously released a range of power- which is not surprising given the machines lineage. ful pre-assembled home computers, epitomised by the The GTIA chip (Georges Television Interface Adaptor) Commodore 64, the Sinclair Spectrum, and the Atari provided hardware support for sprites (called Player 400/800 (which I will simply refer to as the Atari 800 Missile Graphics or simply PM graphics), a large numor just Atari; the 400 has a smaller RAM specication ber of video modes and a display list processor, the and hat a at touch sensitive keyboard). In fact, there ANTIC, allowing mode changes per raster line for adwere many more contenders and a summary of these is vanced display effects. Both chips are memory mapped given in Table 1. and have a large number of registers controlling their The market leaders were the 64, the Spectrum and operation. the BBC (in Europe) and the Atari (in the U.S.). Only Amstrad were able to make a major impression capturing some of the market share in the mid-Eighties with 3.1.1 PM Graphics the CPC-464, but until the advent of the 16-bit machine (heralded by the Commodore Amiga and the Atari ST) Five 8-pixel wide columns can be displayed at varythe Commodore 64 was the most popular home com- ing horizontal positions (see Figure 2). These columns puter. Its popularity was almost certainly due to the spanned the entire height of the display (i.e. 192 pixgraphics and sound capabilities rather than O.S. (the els). To move a players graphic horizontally, the hori64s implementation of BASIC was notoriously bad) or zontal position register of the player was updated. For speed (the processor is clocked slower than most of its vertical movement, the bitmap data associated with the contemporaries). It was a simple matter to achieve ba- player was shifted in memory. The fth player sprite sic animation effects (the 64 has hardware support for may be optionally split into 4 2-pixel wide sprites each sprites2 and scrolling), and so it encouraged experimen- with independent horizontal control. These were detation and an entire generation of programmers became signed for displaying missiles. This arrangement was familiar with the architecture and began to push the ideally suited to certain types of games (particularly the Space Invader genre a good example of which is Galaxboundary of what was possible. ians shown in Figure 1(c)). Inter-sprite and sprite-background priority could be specied and the GTIA chip would detect all collisions 3 The Machines between sprites and background and latch these in regThe graphics sub-systems of the 3 main 8-bit computers isters, indicating the sprites which had been involved in the collision. The implementation was more exwere quite different: ible than that of the Commodore 64 in which a sin2 Sprites or MOBs (moveable object blocks) are small graphic elegle bit registered sprite-sprite collisions and another ments of xed width and height that may be positioned independently of the main screen and were provided for the implementation of mov- agged sprite-background collisions, requiring further ing characters in games. See Section 3.3.2 for more detail. testing of extent overlaps to determine which sprite had 2

Figure 1: Classic Atari titles: (a) Miner 2049er, (b) Defender and (c) Galaxians. been involved. This is analogous to the broad and nar- quest, thus control may be passed to the CPU when the row collision detection phases in use in most physically raster scan reaches a certain point in the display, facilbased animation systems [4]. itating synchronisation of the display and the software. These techniques were also in common use on the Commodore 64, but signicantly less support was provided 3.1.2 Display Lists and display list functionality could only be emulated in software. See Section 5 for more details. The ANTIC chip was responsible for interpreting the Depending on the mode, a number of colours could display buffer for the GTIA chip. It was the ANbe displayed on the screen selected from a palatte of 16 TIC chip that determined the resolution and number of colours available on the display and it did so by se- hues. Uniquely, the brightness of these colours could lecting one of a large number of both text based and also be specied (there were 8 luminance settings) givbitmap graphics modes. Unique to the Atari, however, ing a total palatte of 128 colours. was the display list, which later became an integral part of the Commodore Amigas graphics architecture (the Copper chip of the Amiga provided functionality similar to Ataris ANTIC chip). The display list was a list of commands interpreted by the ANTIC chip and accessed via DMA (during which time it asserts control over the address bus by issuing a HALT signal to the 6502 CPU). Each command of the display list was capable of selecting one of the 16 display modes (which determines the resolution, number of colours and the interpretation of the display buffer). The display list had its own ow control implemented using jump commands so effectively the ANTIC chip was a processor operating in parallel with the 6502. Potentially, each line of the display could have its own entry in the display list, thus allowing selective control over each raster line. Thus many modes could exist on the screen at the same time (called screen splitting). Hardware support for scrolling was provided through X and Y scroll registers, allowing the entire display to be shifted in the horizontal or vertical direction by up to 15 pixel positions. For larger scrolls, the display data was shifted in memory. Each display list command could enable/disable scrolling for its associated line, thus allowing split screen scrolling. Finally, each display list entry was capable of agging an interrupt re3

View more