- Account
- Join for Free
- Sign In
- Help & Info
- Privacy Notice
- DMCA
- Contact Us
- Terms Of Use
...Description...... more. less.
mentsof xedwidthandheightthatmaybepositionedindependently ofthemainscreenandwereprovidedfortheimplementationofmov- ingcharactersingames.SeeSection3.3.2formoredetail. Figure2:TheAtariPlayerMissile(PM)graphics.<br><br> 3.1TheAtari-800 TheAtari(seethePlanetAtariwebsite[3]formore information)hadthemostpowerfulgraphicssystem whichisnotsurprisinggiventhemachine 9slineage. TheGTIAchip(George 9sTelevisionInterfaceAdaptor) providedhardwaresupportforsprites(called Player MissileGraphics orsimplyPMgraphics),alargenum- berofvideomodesandadisplaylistprocessor,the ANTIC,allowingmodechangesperrasterlineforad- vanceddisplayeffects.Bothchipsarememorymapped andhavealargenumberofregisterscontrollingtheir operation. 3.1.1PMGraphics Five8-pixelwidecolumnscanbedisplayedatvary- inghorizontalpositions(seeFigure2).Thesecolumns spannedtheentireheightofthedisplay(i.e.192pix- els).Tomoveaplayer 9sgraphichorizontally,thehori- zontalpositionregisteroftheplayerwasupdated.For verticalmovement,thebitmapdataassociatedwiththe playerwasshiftedinmemory.The fthplayersprite maybeoptionallysplitinto42-pixelwidespriteseach withindependenthorizontalcontrol.Thesewerede- signedfordisplayingmissiles.Thisarrangementwas ideallysuitedtocertaintypesofgames(particularlythe SpaceInvader genreagoodexampleofwhichis Galax- ians showninFigure1(c)).<br><br> Inter-spriteandsprite-backgroundprioritycouldbe speci edandtheGTIAchipwoulddetectallcollisions betweenspritesandbackgroundandlatchtheseinreg- isters,indicatingthespriteswhichhadbeeninvolved inthecollision.Theimplementationwasmore ex- iblethanthatoftheCommodore64inwhichasin- glebitregisteredsprite-spritecollisionsandanother aggedsprite-backgroundcollisions,requiringfurther testingofextentoverlapstodeterminewhichspritehad 2 Figure1:ClassicAtarititles:(a) Miner2049er ,(b) Defender and(c) Galaxians . beeninvolved.Thisisanalogoustothe broad and nar- row collisiondetectionphasesinuseinmostphysically basedanimationsystems[4]. 3.1.2DisplayLists TheANTICchipwasresponsibleforinterpretingthe displaybufferfortheGTIAchip.ItwastheAN- TICchipthatdeterminedtheresolutionandnumberof coloursavailableonthedisplayanditdidsobyse- lectingoneofalargenumberofbothtextbasedand bitmapgraphicsmodes.UniquetotheAtari,however, wasthe displaylist ,whichlaterbecameanintegralpart oftheCommodoreAmiga 9sgraphicsarchitecture(the CopperchipoftheAmigaprovidedfunctionalitysimi- lartoAtari 9sANTICchip).Thedisplaylistwasalist ofcommandsinterpretedbytheANTICchipandac- cessedviaDMA(duringwhichtimeitassertscontrol overtheaddressbusbyissuingaHALTsignaltothe 6502CPU).Eachcommandofthedisplaylistwasca- pableofselectingoneofthe16displaymodes(which determinestheresolution,numberofcoloursandthe interpretationofthedisplaybuffer).Thedisplaylist haditsown owcontrolimplementedusing jump com- mandssoeffectivelytheANTICchipwasaprocessor operatinginparallelwiththe6502.Potentially,each lineofthedisplaycouldhaveitsownentryinthedis- playlist,thusallowingselectivecontrolovereachraster line.Thusmanymodescouldexistonthescreenatthe sametime(called screensplitting ).<br><br> Hardwaresupportforscrollingwasprovidedthrough XandY scrollregisters ,allowingtheentiredisplayto beshiftedinthehorizontalorverticaldirectionbyup to15pixelpositions.Forlargerscrolls,thedisplay datawasshiftedinmemory.Eachdisplaylistcom- mandcouldenable/disablescrollingforitsassociated line,thusallowingsplitscreenscrolling.Finally,each displaylistentrywascapableof agginganinterruptre- quest,thuscontrolmaybepassedtotheCPUwhenthe rasterscanreachesacertainpointinthedisplay,facil- itatingsynchronisationofthedisplayandthesoftware. ThesetechniqueswerealsoincommonuseontheCom- modore64,butsigni cantlylesssupportwasprovided anddisplaylistfunctionalitycouldonlybeemulatedin software.SeeSection5formoredetails. Dependingonthemode,anumberofcolourscould bedisplayedonthescreenselectedfromapalatteof16 hues.Uniquely,thebrightnessofthesecolourscould alsobespeci ed(therewere8luminancesettings)giv- ingatotalpalatteof128colours.<br><br> 3.2TheSinclairSpectrum TheSpectrum(originallyknownintheU.S.andCanada astheTimex/Sinclair)distinguisheditselfbyhaving nohardwaresupportforspriteswhichbecameamajor stumblingblockforgraphicsprogrammersdeveloping forthemachine.Infact,theSpectrumwasamarvelof minimalistengineering,lackingevenadedicatedvideo chip.AllvideoI/OisperformedviaanULAwhich controlsthelower16KofRAM,ofwhich6912bytes areusedforthedisplaybuffer.Theismadeupofa bitplanewitha0representingapixeltobe colouredwiththebackgroundcolouranda1indicat- ingtheuseoftheforegroundcolour(asisthecasewith manyoftheother8-bitmachines,includingtheAtari andtheCommodoreincertainmodes).However,an ATTRbufferof768bytesencodesuniqueforeground andbackgroundcoloursforeach pixelsquare (andalsoselectsbetween2brightessvaluesandtog- gles ashing).Thusfromthe16availablecolours,2 wereselectedintoeachblock. Asaresultitisverydif culttoavoid colourbleed- ing artifacts(andunlikeinradiositysolutions,theseare tobeavoided).Whenananimatingcharacter(imple- mentedusuallyasarraysof pixelblocks)moved 3 Figure3:Problemsarisingfromthe2colourperblock limitontheSpectrum(using Karnov asanexample): (a)colourbleedingfromthebirdcharacters,(b)large surroundaroundthemaincharacter. smoothlyacrossabackground,ifthecharacterwasa differentcolourtothebackground,itwasoftenimpos- sibletoservethecolourrequirementsofbothcharacter andbackgroundgraphicswithinsingleblocks,thususu- allythecharactercolourwasusedbothforforeground andbackgroundgraphicsandsothecharactercolour appearedtohavebledintothebackground(seeFigure 3).Tominimisethis,manygameseithera)avoided colouraltogether,b)con nedanimationstepstomul- tiplesof8pixelsinanydirectionorc)createdathick bordersurroundingthecharactertominimisetheeffect ofbleeding.<br><br> Aswiththe64andAtari,itwaspossibletosynchro- nisethesoftwarewiththedisplayusinginterrupthan- dlersinvokedinresponsetoULAinterruptstoprevent icker(seeSection5.1).Formoredetailsseethe Planet spectrum website[5]. 3.3TheCommodore64 The64 9sgraphiccapabilitieswereprovidedbyMOS Technologies6567/6569VICIIchip(VideoInterface Controller).Thesedeviceswereoriginallydesigned forcabinetbasedgamesandgraphicsworkstationsand hadexcellentgraphicscapabilities,surpassedonlyby theAtari 9sGTIA/ANTICdevices.TheVICdevice supported3characterbaseddisplaymodes,2bitmap modes,8hardwaresprites,hardwareassistedscrolling, apaletteof16colours(noluminancecontrol)andlight- Figure6:BusarbitrationontheCommodore64.Nor- mallythe6510andtheVICaccessedthebusonalter- nateclockphases,buttheVICcouldtakeoverthebus forcertainperiods(byassertingpin BA ),lockingout theCPU.Therewasashortdelaybetweenthechange intheBAlineandtheVICactuallyassertingcontrolto allowtheCPUto nishanypendingwritestoRAM. pensupport.AswiththeAtari,thedevicewasmem- orymappedandaddressed16KofDRAM.Ithada12- bitdatabustoallowsimultaneousconnectiontomain memory(8-bits)and4-bitstaticRAMwhichcontained thecolourinformationforthescreen.<br><br> SincethelaunchoftheCommodore64,theVICchip hasbeenreverseengineeredtothepointwhereprob- ablyeverynuanceofitsoperationisnowunderstood. Thishasallowedprogrammerstotakeadvantageof somequirksofthedesignwhichfacilitatecertaingraph- icaleffectsthatwouldbeimpossibletoachievethrough softwarealone.We 9llexaminesomeoftheseinSection 5.4.ForgeneralinformationregardingCommodore productsandsoftwarevisitJimBrain 9s CaBoom web- site.Formoredetailsabouttheinnerworkingsofthe Commodore64visittheCBMDocumentPage)[6]and foranexcellentreviewoftheVICchipfunctionality readChristianBauer 9stechnicalarticle[7].Christianis thedesignerof Frodo anexcellentCommodore64em- ulator. 3.3.1VideoMemory TheVICaddressesatotalof16Kwhichwascomposed ofanumberofregisters,characterRAManddisplay RAM.TheVICalwayshadaccesstocolourRAMvia thehardwiredconnectiontotheupper4-bitsofit 9sdata bus.The6510processorandtheVICbothrequired accesstomemoryandsothe64implementedasim- plebusarbitrationscheme:theysharedsuccessivebus phases.TheCPUhadcontrolofthebusduringpositive 4 Figure4:ClassicSpectrumtitles:(a) Sabrewulf ,(b) KnightLore and(c) ManicMiner .<br><br> Figure5:ClassicCommodore64titles:(a) Ghosts 9nGoblins ,(b) ImpossibleMission and(c) Paradroid . clockphasesandtheVIChadcontrolduringnegative clockphases(seeFigure6).Atcertaintimes,theVIC neededtoaccessRAMforlongerthanonehalfclock periodandsoitassertedfullcontroloverthebus,effec- tivelylockingouttheCPU.Itisthislockingoutthatcan causesynchronisationproblemsduringtimingcritical operations(e.g.diskaccessing)andsoforcertainoper- ationstheVICdevicewasdisabled(thusdisablingthe display).Unusually,the6510 always accessedmemory duringpositiveclockphasesevenifexecutinginstruc- tionswhichdonotrequireaccesstothebus,andsoit wasnotpossibletousetheCPUwhentheVICasserted controloverthebus. Whenina character-basedmode ,1000bytesof screenmemorywereusedtospecifythecharactersym- boltouseineachofthe characterpositions.<br><br> Eachcharacterwasitselfablockof pixels.The defaultcharactersetwasavailableinROM,buttheVIC couldbepointedatRAMtoallowthecreationofuser de nedcharacters.TheVICcouldgenerateanddisplay 256suchcharacters.Theforegroundcolourforeach characterpositionwassuppliedbythecolourRAM mentionedearlier. In bitmapmode afull8000byteswasusedtoaddress the pixelsofthedisplay.Tofacilitatecheaper implementationviatheVICsmemoryscanningarchi- tecture,thebitmapdatawasarrangedratherunusually Figure7:Displaymemorylayoutinbitmapmode.Dis- playbyteswereorderedasthewouldbeincharacter modetosimplifytheimplementationofthescanning hardwareintheVICchip. asshowninFigure7.Ascanbeseen,thisarrangement wassimilartothememoryscanningsequencetheVIC wouldadoptforcharacterbasedmodes.<br><br> 3.3.2Sprites The64had8independentsprites,eachbeingablock of pixels(i.e.63bytesofgraphicsdataper sprite).UnliketheAtari,the64 9sspriteswerefreeto movebothhorizontallyandvertically.TheVICre- solvedcollisionsbetweenspritesandbetweensprites andscreendataandlatchedthisinformationinregisters 5 tobereadbythesoftware(orwouldraiseaninterrupt ifenabled).Sprites,liketheAtari 9sPMgraphics,could bestretchedverticallyandhorizontallybyafactorof2. Displayprioritywas xedbetweensprites,withsprite 0alwaysinfrontandsprite7totheback,butprior- itywiththescreendatacouldbespeci edbytheuser, allowingforbasicdeptheffectsexploitedinmany3D games(seeSection4.1formoredetails).Unlikethe Spectrum,spritecoloursweremanagedindependently ofthebackgroundgraphicsandsotherewerenocolour bleedingartifacts. 3.3.3Scrolling Hardwarescrollingallowedtheentirescreenimageto beoffsetbyupto7pixelsineitherthehorizontalorver- ticaldirection.Forscrollslargerthanthis,thesoftware wasresponsibleforshiftingthedisplaymemoryappro- priatelywhenthehardwarescrolllimitwasreached.To achieveindependentlyscrollingregionswithinthesame screen,theprogrammerhadtoimplementmorecompli- catedrastermethods(seeSection5formoredetails).<br><br> 3.3.4Colour The64hada xedpaletteof16colours.Borderand backgroundcolourswerespeci edusingtheappropri- ateVICregister.Foregroundcolourscouldbespeci- edforindividualcharacterpositionsusingthecolour RAM(inbothcharacterbasedandbitmapmodes).The VICchipalsosupportedamulti-colourversionofeach mode(andmulti-coloursprites).Inallcases,when multi-colourmodewasselected,pairsofbitsindisplay memorywereusedtospecifythecolour(background, multicolour1,multicolour2andforeground).Whereas theforegroundcolourcouldvaryfromcharacterposi- tiontocharacterposition,theremaining3colourswere xedfortheentiredisplay.Aconsequenceofmulti- colourmodewasahalvingofthedisplayresolutionand thusitwasfrequentlydubbed fatpixelmode .Figure8 illustratesbothnormalandmulticoloursprites. 43DGameGraphics Itsfairtosaythataround1985(whenthegamesin- dustrywasinfullswing)computergraphicsusedin gameswerequiteprimitivewhencomparedtothestate oftheartingraphicsresearch.Atthetimewhenthe HemicubemethodforRadiosityanddistributionray Figure8:Aspriteina)normalmodeandb)inmulti- colourmode. tracingwerebeingdevelopedthepinnacleofgraphi- calachievementinthegamesscenewassomeclever visibilitydeterminationintheseminal KnightLore (see Figure9(h))fromUltimatePlayTheGame(nowcalled Rare).Thetechnique,named lmation (whichI 9veal- waysassociatedwithSuperMarionation,StingRayand GerryAnderson!),wasremarkableatthetimethough andrepresentedthe rstrealattemptatdetailed3Diso- metricgraphics.Theuseof3Dingamesdatesright backtotheearliestdays:Atari 9s Battlezone (theorigi- nal rst-personperspectivegame)wasaclassic3Dtank simulation(rumourhasitthatthegamewasadoptedby theU.S.D.O.D.fortrainingprospectivetankdrivers) andthe StarWars coin-operatedgamefeaturedthefa- mousDeathstartunnelstra ngsequence.Figure9 showssome dimportant dgames(intermsofadvancing thegraphicalstandardsemployedincomputergames).<br><br> 4.1DepthPriority Alargenumberoftechniqueswereusedtoconveythe impressionofdepth.Thesimplestinvolvedtheuseof sprite-backgroundorsprite-spriteprioritytoachievea degreeofhiddensurfaceremoval. Nebulus usedthis effecttoachievetheappearanceofrotationarounda centraltower,ascanbeseeninFigure10.Insuchcir- cumstances,usuallythegraphicsweretailoredtoavoid anyambiguity(i.e.aspriteshouldneverneedtobeboth infrontofonepieceoftheforegroundandbehindan- other). 4.2CharacterGraphicsAnimation ThismethodwasusedtocreatesomeoftheleastCPU intensive3Deffects.Itisanalagoustocolourlookup tableanimation;ifasingle pixelcharacterisre- peatedoveranarea,thenacheapscrolleffectcanbe achievedbysimplyrotating(orshifting)thebitsrepre- sentingthecharacter.Allthecharacterblocksdisplayed 6 Figure9:De nitive8-bitcomputergames:a) Encounter ,b) TornadoLowLevel ,c) Elite ,d) LordsofMidnight ,e) StuntCarRacer ,f) TheHobbit ,g) AntAttack ,h) KnightLore andi) HeadoverHeels .<br><br> Figure10:Usingspritebackgroundpriorityfor3D deptheffects.In(a)thespritehaslowerpriorityand appearsbehindthewall,whereasin(b)itspriorityhas beenraisedandsoitappearsinfrontofthewall(thus itappearsasiftheballhastravelledaroundthecorner ofthetower).Thispriorityswitchwasdonethrough software. withthischaracterwillscrollaccordinglygivingtheim- pressionofamovingarea.Thetechniquecomesintoits ownwhencombinedwithhardwarescrolling.Forex- ample,ifthehardwarescrollisshiftingthedisplay4 pixelstothelefteachframe,andassumingwe 9vedraw dbackground dcharactersusingthecharacterwewillan- imate,thenanimatethecharactersbyrotatingtheirbit patterns3bitstotheright.Theneteffectisthatthe backgroundcharactersappeartoscrollleftatarateof 1pixelperframe,whereastherestoftheimagescrolls at4pixelsperframe.Wehavecreatedaparallaxscroll (seeFigure11).Thistechniquehasbeenusedincount- lessgames,mostnotably Parallax (Iwonderhowthey cameupwiththatname), Bounder and Uridium (a nal explosionsequenceusedthetechniquetosimulate re spreadingintheoppositedirectiontoafastscroll). 4.3IsometricGraphics Isometricgraphics(originallyappearinginSega 9s Za- xxon arcadegame,areprobablybestrepresentedby 7 Figure11:Theparallaxscrolleffectinvolvesshift- ingthedatamakingupbackgroundcharactersbyan amountnotequaltothehardwarescrollamount.In thisexamplethedisplayisshiftedleftby8pixelseach frameandthecharacterdataisshiftedrightby2pixels, andthusappearstomove4timesmoreslowlythanthe foreground(unshifted)characterdata.<br><br> Figure12:Bydrawingelementsoftheimageindepth order,a3Dimagewascreatedwithconsistentvisibility. theUltimatePlayTheGame 9s lmationgamesseries whichbeganwith Knightlore in1984.Sincethenthere havebeenalargenumberofgamesemployingthetech- nique(notably Spindizzy , HeadoverHeels , Batman ) whichwasachievedusingdepthordereddrawing.In almostallcases,thedatatobedrawnwasalignedto agridandviewedfrom xedorientations(usuallyper- mittingrotationoftheviewthrough90degrees)thus simplifyingthedepthordering.Figure12demonstrates theresultofthistechnique.Arguablythetechniquewas anoldone. AntAttack ,releasedin1983,employed theSoftSolid3Dtechniquetoachievebelievably3D worlds(seeFigure9(g)).Usingasimilarmethod,the famous LordsofMignight gamecomposited atbit- planesinadepthorderedmannertoputtogetherland- scapevistasasyoutravelledthroughavastworld(see Figure9(d)).<br><br> Figure13:Thevisibilitydeterminationalgorithmem- ployedby Elite resolvedlocalvisibilityonlyviaback- faceculling.Notetheincorrectvisibilityindicatedby thearrow. 4.4Wireframe3D Oneoftheearliestofthewireframebasedgameswas DavidBrabenandIanBell 9s Elite ,originallyreleased ontheBBCMicroandwhichremainedthebestselling gameforalongtime.Itscombinationofspacetrading, vastplayingareaandatmospheremorethanmadeup fortherathersluggishframerates(whichoftendropped aslowas1asecondifanumberofshipswerebeingdis- playedsimultaneously). Elite implementedback-face cullingperobjectbutnoglobalvisibilitytestingwas performed(seeFigure13).Oneofthemajorinnova- tionswasthesuperlative3Dradarcontrolwhichre- mainsoneofthemostintuitive3Dnavigationcontrol Ihavecomeacrossandwaspatentedbytheauthors.<br><br> Othernoteworthyexamplesinclude Mercenary whichde nedthestandardforCommodore64wire- framegraphicswithupdatespeedssigni cantlyfaster thanthoseof Elite andwhichallowedyoutodiscover thejoysof yingapieceofcheese! StuntCarRacer , showninFigure9(e),showedwhatcouldbedonewith lledpolygons,andthoughslowtoupdateitmanaged to(ironically)conveyaconvincingsenseofspeedand momentum. 4.5Bas-Relief AspecialmentionmustgotoAndrewBraybrookwho possiblystillisthemostfamousofCommodore64pro- grammers.Imyselfwasenthralledbythe dGameDi- aries dthathepublishedinpopularmagazinesofthe timechronicallingthedevelopmentofboth Paradroid and Morpheus .Andrewwasundoubtedlyresponsible forthehughinterestintheuseofbas-reliefforim- partingasenseof3Dtoagame(yougetthesameef- 8 fectbypassinganimagewithgoodcontrastthroughan embossing lter),anditbecameafavouritemethodof minewhendesigning64graphics.SeeFigure14for someexamples.Gamesmakinguseofthistechnique included Paradroid (ofcourse), Uridium , Sanxion and Parallax .<br><br> 5RasterEffects WhereastheAtarihasitsANTICchipandtheasso- ciateddisplaylist,toachievesimilarresultsonthe64 ortheSpectrumyouwererequiredtoimplementyour owninterrupthandlerscalledatkeymomentsduring ascreenrefresh.Manyofthemoreesotericeffects possiblewiththeVICchipreliedonprecisemanipu- lationofVICregistersduringeachrefresh.However, rasterinterruptswereanecessityifyourequiredsmooth scrolling, icker-freescreenupdatesorsplitscreendis- playmodes. 5.1FlickerFreeAnimation Everyoneknowsthatinordertoeliminate icker,you mustsynchronisetheupdateofthedisplaywiththe framerefresh(inparticularavoiddrawingintoanarea ofthescreenthatiscurrentlyundertherasterbeam). Currentvideohardwareusuallyimplementsthisviaa doublebufferswitchwhichissynchronisedinthisman- ner.Onthe64thenormalmethodwastoenableVIC rasterinterrupts andrequestaninterruptonalinejust beyondthebottomofthevisibledisplay(duringthe ver- ticalblank ).Theinterrupthandlerwasthenresponsible forupdatingthedisplaybeforetherasterreturnstore- freshthenextframe.Figure15showstherasterphases forascreeninnormalmode.<br><br> 5.2SplittingtheScreen Atrivialimplementationofasplitscreenmodeinvolved simplyrequestingarasterinterruptatthelinewewish thesplittooccurat.Theinterrupthandlerthensimply switchedmodesasrequiredandreinitialisedtheraster interrupttooccursometimeduringthe verticalblank period toallowthemodetobe ippedbackintime forthenextrasterrefresh.Thisworksquitewellfor staticscreensandhorizontalscrolling,butwhenverti- calscrollingisrequiredwithinasplitwindowandwhen spritesareallowedtocrossthesplitboundarythetim- ingofthesplitbecomemorecritical.Weneedtoex- Figure15:Thegeometryoftherasterscreen. aminebrie ythetimingofasinglerasterlinetounder- standthetechniquesrequiredtoachievearock-steady split.Whereinliestheproblem?RecallthattheVIC wascapableoflockingouttheCPUwhenitrequires thebusforgraphicsdataaccesses.Ifthishappensat asplitpointtheresultcouldbeanasty ickeringline aroundthesplitpointrepresentingthedelayintroduced asaresultoftheCPUhalt. NormallytheCPUhasaccesstothebuseachpositive phaseoftheclockcycle.Thereare2reasonwhythis mightbeinterrupted: SpriteDataAccess: ifanyofthe8spriteslayacross thecurrentrasterline,theVICreadsanextra3 bytesfrommemoryforthegraphicdataforeach sprite.Ifall8spriteswereactiveontheline,the CPUwouldbehaltedforatotalof24clockphases.<br><br> BadLines: every8lines,theVICloadedthechar- acterdatarequiredforthenext8linesofdisplay fromRAM.Thisrequiredanadditional40cycles andthustheCPUwouldbelockedoutunderthese conditionsalso. Thepositionofthebad-linesisaffectedbythecur- rentverticalscrollposition(whichisindependentofthe spriteverticalpositions),andthusitwasalittletrickyto keeptrackoftheseevents.AtworsttheCPUwillonly havebusaccessrightsfor6phasesofalineasshown inFigure16.Thisisthesourceofthe icker.Thepro- cessordidn 9thavetimeto ipmodesbeforetheraster beamhitthevisibleportionofthescreenandsothe splitpointwouldjumpbackandforthacrossthelineas spritescrosseditandasthescrollpositionvaried.To 9 Figure14:Thebas-reliefeffectwasagreatwaytosimulateraisedsurfaces:(a) Herobotix ,(b) Sanxion and(c) Parallax . Figure16:Thetimingofeachlinewas xedandthesequenceofbusaccesseswasfullydeterministicanddepends onthelineposition,thescrollposition,thenumberofspritesactiveonthelineandthedisplaymodecurrently active.The Sn blocksindicateareadofsprite dataandthecharacterdataisreadonlyduring badlines .<br><br> accountforthisyouhadtotakecarefulstepstoensure thisisminimisedbyintroducingvariablelengthdelays (usuallyachievedusing nop (nooperation)instructions andaliberaldoesofselfmodifyingcode). 5.3HordesofSprites Toincreasethenumberofspritesbeingdisplayed simultaneouslyyousimplyneededtochangeeach sprite 9sverticalpositiononcetherasterhadcompletely displayedit.TheVICdidnotkeeptrackofthenumber oftimesaspritewasdisplayed;itsimplyexaminedthe contentsofthespritey-positionregistersandateach rasterlinedisplayedthosespritesthatlayonthecur- rentline.Spritescouldthereforebereusedasmany timesasrequiredwiththeprovisothataspritecould notoccupyasinglerasterlinemorethanonce(thiswas knownas spritemultiplexing ).Thiscreatedsomedif - cultiesindeterminingtheoptimumrasterinterruptline afterwhichspriteswerebere-positioned.Considerthe scenariosdepictedinFigure17forexample.Ifweused thesimplestmethodandalwayspositionedtheinterrupt requestatthelastlineofthelowestspritethenwecould potentiallygetspritesplittingartifactswherespritedata breaksupduetoaspritebeingrepositionedbeforeits displayhadcompleted.Whatwasrequiredwasanop- Figure17:(a)demonstratesthesuccessfulapplication ofspritemultiplexing.Aninterruptissettooccurat thelinecorrespondingtothelastlineofthe8thlowest sprite.Atthispointthespritesarere-positionedverti- callytoassumethepositionsofthenext8sprites.In (b)however,thissimpleschemefails,assprites1and2 havenotbeenrepositionedintimetodisplaythelines abovethesplitpoint. timisationstepwhichminimisedspritesplitting;there wouldnotalwaysbeasolution(i.e.ifthesoftwarere- quiredmorethan8spritesonarasterline,thensome- thinghadtogive),butthroughcleverschedulingitwas possibletominimisetheproblems.Somegamessuf- feredterriblyfromspritebreak-up,thebestexampleof whichwas Commando .<br><br> 10 5.4Quirks ThereweresomanyquirkstotheVICchipthatpro- grammersfrequentlyexploitedtointroduceinteresting effectstoagameorsimplytoshowthattheycould!I 9ll mentionone:turningoffthetopandbottomborders. Thesebordersarethereforareason;tohidedataduring verticalscrollingandtoallowabufferzoneunderwhich spritescoulddisappeargracefully.Gettingridofthe borderallowedyoutodisplayspritesinthesenormally hiddenareasandthusyoucouldachievelargerscreen displays(sometimesknownas hyperscreen thoughit wasn 9texactlyOmnimax).Theenablinganddisabling oftheborderwasperformedatpre-determindedscan- linesandthecurrentborderstatewasrecordedbythe border ip- ip .Theborderwasnormallyenabledatline 251anddisabledagainatline51.Forsmoothvertical scrollingitwasnecessarytoshrinktheverticalextents ofthevisibleregion(i.e.thebordergrewby4pixelsat thetopandbottom)tocoverinvalidlines.Insuchcases theborderwasenabledatline247anddisabledagainat 55. Tokilltheborderyouinitallyselectedanormalbor- der(ONat51 3OFFat251),waituntiltherasterhad reachedline248.Nowyouswitchedtoanexpanded border(ONat55 3OFFat247).InthismodetheVIC onlytoggledtheborderstateonline247,butwewere nowonline248,andsotheVIC dforgot dtoenablethe border.Afterline251simplyyouresetthebordertoits normalstatesoasnottoconfusetheVICwhenitcame todisabletheborderonthenextframe.<br><br> 6HowFarHaveWeCome... TheCommodore64 9sreignendedintheearlynineties. Thismarkedtheendofthe8-bitcomputer(the64was probablythelastofthepopular8-bitcomputers)and suddenlythe16-biterawasuponuswiththeCom- modoreAmigaandtheAtariST,andnowinthelate ninetiesthesemachineshavebeensurpassedbythe PCwhichcurrentlyholdsthehomecomputercrown.<br><br> Gamestodayarerarelyevertheresultofasinglepro- grammerandinvolveteamsofprogrammers,graph- icsartists,musicians,directors,actors,scriptwriters (andI 9msurethereareprobablygripsandFoleyartists andhairdressers).Inthegolden8-biteratheprogram- mersweretheheros.Everyonewaitedforthenext releasefromtheaforementionedMr.Braybrook,or JeffMinter,TonyCrowther,PaulNoakes,GoeffCram- mond,DavidBraben,SteveTurner,JohnPhillipsand somanyothers.Usuallytheprogrammerwasalsore- sponsibleforthegraphics(thoughnotalways)butof- tensomebodyelsewouldprovidethemusic.Thefa- mousmusiciansofthetimewereRobHubbard,Martin Galway,BenDalglishandtheManiacsofNoiseamong others.TheCommodore64 9sSIDchip(soundinter- facedevice)wasanexcellent3-oscillatorsoundgener- atorwithresonant lteringthatwaspushedtothelimits bytheseguys.Withmultiplexedchords,patternbased sequencingandsampleddrumsoundssomeofthemu- siccreatedwasquiteamazing.Themusicfor Parallax (about20minutesworth)byGalwayand Mastersof Magic byHubbardwereamongtheverybest. Isupposetheattractionbackthenwastheaccessibil- ity;youfeltthatyoutoocouldpartakeintheprogram- mer 9squestfortheultimategame,whereastodaythe industryhasgrownupandwegotoCollege,getour degreesandthengetadayjobwithagamescompany. Current3Dtechnology(withDirect3D,OpenGLand theplethoraof3Daccelerationcards)and16or32bit multi-channelsoundandgeneticalgorithmsforcreature intelligenceandCDROMswithgigabytesofleveldata havecertainlychangedthefaceofthecomputergame.<br><br> Itsnowaninteractiveimmersiveenvironmentwithen- titiesandgoalsandstrategies.Sohavethingsreally changed?Whatmetricmightweusetojudgethis;ifI weretoapplythemetricoflevelofexcitementgener- ated,orthefear,orthesenseofachievementathaving completedagoal,thenwehaven 9tmovedatall.Icon- sider Paradroid and MissionImpossible tohavebeen thebestofthe8-bitcrop.Iwouldnowconsider Quake II tobethebestofthecurrentcrop.Igetequallyas muchenjoymentoutofeach.AllIcanreallyconclude isthatthetechnologyandtheindustryhasgrownup, butIhaven 9t. References [1] I.C.When website, http://www.l4software.com/icwhen/ [2] Videotopia website, http://www.videotopia.com/ [3] PlanetAtari website, http://www.geocities.com/SiliconValley/Vista/3015/atari.ht [4]Hubbard,Philip.Collisiondetectionforinteractive graphicsapplications. IEEETransactionson VisualizationandComputerGraphics ,1(3):218 3230, 1995.<br><br> 11 [5] PlanetSpectrum website, http://www.nvg.unit.no/sinclair/planet/index.html [6] CBMDocumentPage website, http://www.hut.fi/Misc/cbm/docs/index.html [7]Bauer,Christian.TheMOD6567/6569Video Controller(VIC-II)anditsApplicationsinthe Commodore64,1996.Availableonthewebat http://www.uni-mainz.de/bauec002/FRMain.html 12