Last modified on 30 August 2010, at 15:36

Games

Revision as of 15:36, 30 August 2010 by Ritchardo mkII (Talk | contribs) (Software Houses)

This page covers important facts concerning the Amstrad CPC/Plus games.

With a list of Software houses, and the various and notable technics used in well known games.

For a more complete list of games or game related topics, check the "category:games" at the bottom of this page.


All-time top games

Article moved here

Software Houses

Copy Protection

Loading music

Cassette

Loading from cassette effectively uses all the CPU's time because you have to keep checking the cassette signal to see if it has changed, and you use a CPU timing loop to calculate length of signal.

So to do music and other things during loading requires precise timing. The C64 effectively had interrupt driven loading music and the serial chip handled clocking in of the data bits and signalled an interrupt when the byte of data was ready.


I think only Firebird games had loading music on cassette. The music was composed by Melvyn Wright (www.melright.com). The music data was embeded into the data on cassette. The data was read as a group of 3 bits and 8 data bits. The 3 bits determined if the 8 data bits were for data or for music.


This list is not complete, please add more. Will upload YM of the loading music soon.


Game Loading music
Booty
Comet Game (The) Media:Comet_game_(the)-loader.ym
Harvey Headbanger Media:Harvey_headbanger-loader.ym‎
Thrust Media:Thrust.ym
Spiky Harold Media:Spiky_harold-loader.ym

Disc

The disc system on the Amstrad is "polled" which means the CPU has to keep checking if the FDC (NEC765) has more data to read/write. On the C64 the disc system is interrupt driven.

So to do music while loading requires careful timing and often the use of very small sectors (128bytes).


ZapTBalls

The Demo

5KB Demo 3

Midline Process

Orion Prime



Games Which use hardware tricks (on old generation cpcs)

Useful if you want to dissect games to work out how they did it.

Please move to somewhere more appropiate


Page Flipping

Most good CPC games use the page-flipping technique in order to display sprites and/or scroll the playing area smoothly. In particular, two memory areas (instead of one) are reserved for the screen ram. In each frame, one of the two screens is displayed in turn, by using the hardware (exactly by changing the screen-offset, Reg 12 and 13 of the CRTC). At the same time, the next frame is being drawn in the non-visible screen until the next frame fly back signal. Then, the same cycle is repeated for each following frame.

The big advantage of this technique is that we can use a whole frame's machine-time for our code (with no animation problems that arise when we alter screen ram at the same time the electron beam displays it on the monitor). On the other hand, page flipping eats up a lot of memory area (which is crucial especially for 64Kb machines). This explains why a lot of games have very small game-areas !

Hardware Scrolling

This list is not exhaustive.

  • R3 used to make an approximate byte lenght horizontal scroll (not really smooth)
  • R5 used to make smoother vertical scroll (1 line)
Title Year Vertical Horizontal R3 R5 Confirmed
Action Force 1988 No Yes No No Yes
Anarchy 1988 No Yes No No
Axys 1991 Yes No No Yes Yes
Bob Morane Science Fiction 1987 Yes Yes No No
Builderland 1991 No Yes No No
FlySpy 1986 Yes Yes No No
Fusion 2 1988 No Yes No No
Gothic 1988 Yes Yes No Yes
Ghosts 'n' Goblins 1986 No Yes No No
Jinks 1988 No Yes Yes No Yes
Killer Cobra 1987 No Yes Yes No Yes
Led Storm 1988 Yes No No Yes Yes
Legend of Kage 1986 Yes Yes Yes Yes
Leviathan 1987 Diagonal scroll! No No Yes
Le 5eme Axe 1985 Yes Yes No No
Mission Genocide 1987 Yes No No Yes Yes
Monty Python's Flying Circus 1990 Yes Yes No No Yes
Octoplex 1989 Yes Yes No Yes(?) Yes
Out Of This World 1987 No Yes Yes No Yes
Paraplane 1992 Yes Yes No No
Prehistorik 2 1992 Yes Yes Yes Yes Yes
Prohibition 1987 Yes Yes No No
Rick Dangerous 2 1990 No Yes No No
Roland On the Ropes 1984 Yes Yes No No
Sentinel (The) 1987 Yes Yes No No Yes
Skate Ball 1989 No Yes No No Yes
Skateboard Kidz 1988 Yes No No Yes Yes
Skate Rock 1987 No Yes No No Yes
Skate Wars 1990 No Yes No Yes Yes
Star Avenger 1984 No Yes No No
Stryker In The Crypt Of Trogan 1992 Yes Yes No No
Super Cauldron 1992 Yes Yes Yes Yes Yes
Titan 1988 Yes Yes No No
Ultima Ratio 1987 Yes No No Yes Yes
Warhawk 1987 Yes No No Yes Yes

Rupture (or splitscreen)

A technique to split the screen into more than one block vertically. (independant videoram offset) Used to hardware scroll one part of the screen while another is static. This list is not exhaustive.

Title Year Confirmed
Action Force 1988 Yes
Axys 1991 Yes
Dynamic Duo
Enlightenment: Druid 2
Grell and Falla
Mission Genocide 1987 Yes
Octoplex 1989 Yes
Prehistorik 2 1992 Yes
Skate Ball 1989 Yes
Skatewars 1989
Skateboard Kidz 1988 Yes
Snowstrike
Super Cauldron 1992 Yes
Turrican 1990 Yes
Ultima Ratio 1987 Yes
Usagi Yojimbo
Xyphoes Fantasy
Sol Negro(opera)
Twin World (Ubi Soft) 1990 Yes
Warhawk 1987 Yes

Firmware

The following games are known to use firmware functions. This probably explains why they are poor. If the programmer had used the hardware directly they would have lots more cycles free which they could have used to make the game better.

This list is not exhaustive.

  • Xevious


Shame amongst shames