Initiation à l’assembleur #6 (ACPC n°8)
Comme disait Lanico Starcrav, ce n’est pas l’homme qui doit être l’esclave de l’assembleur, mais l’inverse de l’opposé du contraire. Moulinex, ébahi par les mots du sage programmeur, répondait sans attendre : ouais, même que ouais ! Septh ne bronchait pas, et moi, je buvais ces paroles comme les mots d’un guide de référence. Poursuivons donc nos investigations au cœur du Z80.
Avant de passer aux choses sérieuses, nous allons faire un bref récapitulatif des instructions déjà abordées. Elles sont relativement peu nombreuses puisque au nombre de cinq : LD, INC, DEC, EX, et EXX. Nous allons maintenant voir des instructions très utiles mais dont il est possible de se passer. Ces mnémoniques ont le seul avantage d’être simples et faciles d’emploi.
LES CALLS INFINIS
Qu’est-ce qu’un Call ? Bon nombre de livres disent simplement de cette instruction qu’elle est l’équivalent de la fonction Basic Gosub. C’est en effet le même genre d’instruction. Lorsque le microprocesseur rencontre un Call, il dépose sur la pile l’adresse suivant ce Call. puis met dans le PC (Program counter) l’adresse de la routine à exécuter. Le fait d’avoir sauvegardé l’endroit d’où a été appelé la routine permet, lors d’un RET, de revenir poursuivre le cycle d’instructions suivantes, cela sans perturbations.
La syntaxe de ces instructions est simple, et en voici un exemple d’utilisation dans un programme.
… ; Début du programme.
…
CALL IBRI ; Appel de la routine.
Al …
CALL IBRI ; Second appel.
A2 …
RET ; Retour au Basic.
IBRI … ; Routine quelconque.
… ; Quel style de programmation !
RET ; Fin et retour à l’appelant.
Dans l’exemple ci-dessus, il est facile de voir que la sous-routine est appelée deux fois. La première fois, l’adresse Al est sauvée sur la pile et la routine IBRI est exécutée. Lors du retour, le programme reprend à l’adresse A1 préalablement sauvée. Lors du deuxième appel, tout se passe de la même manière, mais avec l’adresse A2. Ce genre de programmation est à utiliser lorsque des parties de programme se répètent souvent dans le listing.
Au lieu de répéter les mêmes sequences d’instructions, il est simple de les remplacer par un Call Adresse-de-la-routine. et de loger cette routine en fin de programme, par exemple.
L’avantage est le gain de place certain. Les inconvénients sont nombreux ; lisibilité moindre, lenteur d’exécution accrue, code engendré non relogeable. Tout cela fait qu’il ne faut pas abuser de ces bonnes choses et n’utiliser ces instructions que si elles sont vraiment utiles.
Pour en finir avec les sous-programmes, un Call peut être conditionnel. Cela signifie qu’il est possible de fixer une condition décidant de la validité du Call. CALL Z,Adresse ne se branchera à la sous-routine Adresse que si la dernière opération a forcé le drapeau Z à 1.
Dans le cas contraire, l’instruction sera simplement ignorée. Les instructions de Call conditionnelles sont au nombre de huit :
CALL Z,AD
CALL NZ.AD
CALL C,AD
CALL NC,AD
CALL PO,AD
CALL PE,AD
CALL P,AD
CALL M,AD
Où AD est l’adresse de la sous-routine. Pour les quatre premiers exemples, pas de problème. La condition porte sur les drapeaux Z et C, selon qu’ils sont positionnés ou non. PO et PE portent sur le drapeau de parité, qui est aussi celui de débordement du bit 6 sur le bit 7 (le drapeau V utilisé lors des travaux sur les nombres signés). Il faut simplement savoir que si le mode signé est utilisé, PO vaut V et PE représente NV. Pour les deux derniers exemples cités, P forcera l’exécution du saut si le dernier calcul a provoqué un résultat positif ; M fera de même dans le cas contraire.
L’instruction RET peut aussi être conditionnée. Comme par hasard (content Rosco ?). le jeu d’instructions conditionnelles est le même que pour les Calls. Il n’est donc pas nécessaire de revenir sur les drapeaux capables de décider de l’exécution de l’instruction.
POP TOUT PUSH
Les deux instructions POP et PUSH vont de pair avec les deux instructions CALL et RET. En effet, un RET n’est ni plus ni moins qu’un POP PC. Ces deux nouvelles instructions, PUSH et POP, servent respectivement à sauvegarder provisoirement et à récupérer sur la pile des valeurs importantes. Si vous avez par exemple besoin de l’accumulateur pour faire un calcul, mais qu’il contient un paramètre important pour la suite du programme, il vous suffit de Pusher le double registre AF, de faire le calcul, et de Poper le même registre AF.
Cette méthode peut aussi permettre de transférer le contenu d’un registre double dans un autre. Ainsi PUSH BC suivi de POP DE charge DE avec le contenu de BC.
Mais ces instructions nécessitent une attention toute particulière. En effet, vous avez pu vous apercevoir qu’un retour au Basic se fait par l’intermédiaire de l’instruction RET, qui n’est autre qu’un POP PC. Imaginez donc que vous n’ayez pas retiré de la pile toutes les valeurs que vous y avez mises.
Lorsque le Z80 tombera sur le RET, il dépilera PC et se branchera, non pas à l’adresse de retour au Basic, mais à l’adresse contenue par le dernier registre empilé. Il faut donc faire très attention à bien restituer la pile lors de la fin de la routine machine, et faire de même dans chaque sous-programme appelé. Les registres empilables sont : AF, BC , DE , HL , IX et IY. Voilà, vous savez tout sur ces petites instructions à connaître.
SAUTS PAS SI SOTS
Ça c’est sûr. que les sauts sont pas sots si les sauts sont sensés. Dur à dire mais direct. Bon ! Cessons ces songes pour saisir le sens de ceci. Qu’est-ce qu’une instruction de branchement ? C’est une mnémonique qui permet de stopper l’exécution linéaire d’un programme pour la faire se poursuivre à un endroit donné. Il est ainsi possible de sauter des instructions ou des données. Cela équivaut approximativement à un GOTO du Basic.
En Basic, un GOTO ne peut s’effectuer que vers un numéro de ligne donné et non modifiable. En machine, il est parfois possible de choisir parfaitement l’adresse de saut. Il existe aussi des instructions de branchement relatives à la position courante du PC. Elles sont appelées instructions de sauts relatifs, et permettent un déplacement de 129 octets vers l’avant, et de 126 vers l’arrière. Il est possible, avec ces instructions, de créer de petites boucles totalement relogeables, puisque relatives à l’adresse d’exécution. Les instructions de saut sont donc à séparer en deux classes différentes ; les instructions à adresse de saut fixe, de mnémonique JP. et les instructions relogeables, de mnémonique JR. Ces deux types de branchement peuvent être conditionnels.
Voici la liste de toutes ces instructions :
JR DEP
JR Z,DEP
JR NZ,DEP
JR C,DEP
JR NC,DEP
JP AD
JP Cond,AD
JP (HL)
JP (DC)
JP (IY)
Pour les sauts relatifs, il suffit de donner une étiquette à l’assembleur pour qu’il calcule automatiquement la valeur du déplacement. Ainsi, un listing pourrait s’écrire de la manière suivante :
…
TOTO …
…
JR TOTO
…
Les conditions données sont simples et ne portent que sur les drapeaux C et Z. Pour l’instruction JP, dans la ligne JP Cond,AD, les conditions sont les mêmes que pour les instructions Call conditionnelles. Comme vous pouvez le remarquer, il existe aussi trois instructions de branchement aux adresses pointées par des registres.
La forme de programmation qui permet d’utiliser ce genre d’instruction est assez complexe et demande une bonne connaissance du langage machine. Nous reparlerons plus tard de ces puissantes mnémoniques de sauts, lorsque l’assembleur sera plus pour vous qu’un fond de poche (c’est bien connu). Pour finir cette initiation dédiée aux sauts, nous parlerons de l’instruction la plus intéressante : DJNZ.
Ce charabia infâme cache une puissante fonction que tous les programmeurs de Z80 connaissent et utilisent couramment. Le travail exécuté par DJNZ est le suivant :
décrémenter le registre B et sauter à l’adresse relative donnée si B est différent de zéro. Comme vous pouvez le voir, cela est très intéressant pour toutes les boucles nécessitant un nombre de passes connu. Sa forme d’utilisation est la suivante :
LD B,Nombre
LOOP …
…
DJNZ LOOP
…
La boucle entre LOOP et DJNZ sera exécutée « Nombre » fois. Le déplacement est relatif, ce qui implique qu’il n’est pas possible de faire de grandes routines avec cette instruction.
SUITE LE MOIS PROCHAIN
C’est encore et toujours la même chose. Chaque fois que l’on parle de choses intéressantes, la place manque. Je peux vous assurer que, dans le cas contraire, il y a toujours trop de place. Eh bien, je vous laisse et vous souhaite de passer de belles nuits blanches.
Sined le Barbare
Actus
- E.x.i.t.
- Edd The Duck
- Eden Blues
- Elektra Glide
- Elevator Action
- Eliminator
- Elite
- Elite Supertrux
- Energy Warrior
- Enigme a Oxford (F) – Audio Tape – Side A
- Enigme a Oxford (F) – Audio Tape – Side B
- Equinox
- Escape From Singe’s Castle
- Escape From The Planet Of The Robot Monsters
- Everyone’s a Wally
- Evil Donjon
- Exolon
- Extreme
- Fanz y Meeting Demo
- Fast Food Dizzy
- Fer & Flamme
- Fernandez Must Die
- Feud
- File 66 Demo
- Fire !
- Flash_Gordon
- Flimbo s Quest
- Flying Shark
- Footballer Of The Year 2 – Description
- Frankie Goes to Hollywood (E) – Audio Tape – Relax
- Freddy Hardest
- Friday the 13th (E) – Audio Tape
- Fugitif
- Future Knight
- Galactic Conqueror
- Galvan – Cosmo Police
- Game Over II
- Gary Lineker’s Hot-Shot !
- Gauntlet
- Gauntlet II
- Gauntlet III
- Gazza 2 (Theme 1)
- Gazza 2 (Theme 2)
- Gemini Wing
- Ghostbusters II
- Ghosts’N Goblins
- Ghouls ‘N Ghosts
- Ghouls n Ghosts (Theme 3)
- GI Hero
- Gilbert Escape from Drill (Theme 1)
- Gilbert Escape from Drill (Theme 2)
- Glider Rider
- Golden Axe
- GPA CPC Plus First Demo
- Grand Prix Simulator 2
- Grand Prix Simulator 1
- Grange Hill
- Green Beret
- Groops
- Gryzor
- Guerilla War (Theme 1)
- Guerrilla War
- Gunfright
- Han D’Islande (F) – Radio Broadcast – Side B
- Han D’Islande (F) – Radio Broadcast – Side A
- Hard Drivin
- Harricana
- Hate – Hostile All Terrain Encounter
- Hawk Storm
- Head Over Heels
- Heartland
- Helter Skelter
- Hercules Slayer Of The Damned
- Herobotix
- Heroes Freeware (Theme A)
- Heroes Freeware (Theme B)
- Hero Quest
- Heroquest (Theme A)
- Heroquest (Theme C)
- HKM – Human Killing Machine
- Hold-Up
- Hopper Copper
- Hostages – Description
- Hotshot
- Hurlements
- Hyperbowl
- Hyperbowl
- I-Ball
- I, Ball II
- Ice Breaker
- Ikari Warriors
- Imperial Demo Photographik
- Impossaball
- Impossamole
- Indiana Jones And The Fate Of Atlantis
- Indiana Jones And The Last Crusade
- infernal house
- Infernal Runner
- Insector Hecti in Interchange
- International 3D Tennis
- International Karate
- International Karate Plus
- International Rugby Simulator
- International Speedway
- Iron Lord
- Ishido
- Italian Supercar
- Iznogoud
- Jack The Nipper II In Coconut Capers
- Jahangir Khan World Championship Squash
- Jail Break
- Jet Set Willy
- Joe Blade
- Joe Blade 3
- Jubilee Joy Mega Demo (Part 1)
- Jubilee Joy Mega Demo (Part 2)
- Jubilee Joy Mega Demo (Part 3 Theme A)
- Jubilee Joy Mega Demo (Part 3 Theme B)
- Jubilee Joy Mega Demo (Part 4)
- Jubilee Joy Mega Demo (Part 5)
- Jump Mania
- Jungle Warfare
- Kangaroo MusiQue The Neverwrit
- Kangaroo MusiQue The NewOne
- Kangaroo MusiQue Tolkin
- Killerball
- Killer Ring
- Knight Rider
- Knight Tyme
- Kong Strikes Back
- Krakout
- Kwik Snax Dizzy
- La Chose De Grotemburg
- La Espada Sagrada
- L’Affaire Santa Fe
- L’Aigle D’Or
- L’Ange De Cristal
- L’Arche Du Captain BLOOD
- L’Armure Sacree D’Antiriad
- Lawn Tennis
- Lazer Tag
- LCR_Intro
- Le 5eme Axe
- Le Maitre Absolu
- Le Maitre Des Ames
- Le Manoir De Mortvielle
- Lemmings
- Le Pacte
- Les Aventures de Jack BURTON
- Les Aventures De Moktar
- Les Aventures De Pepito Au Mexique
- Les Passagers Du Vent
- Les Passagers Du Vent 2
- Les Tuniques Bleues
- Leviathan
- Licence To Kill
- L’Ile
- Line Of Fire
- Live And Let Die
- Loopz
- Lop Ears
- Los Buggos Party Demo (Theme 2 Prehistorik 2 Remix)
- Lotus Esprit Turbo Challenge
- Lotus Esprit Turbo Challenge (Theme B)
- Lotus Esprit Turbo Challenge (Theme C)
- Macadam Bumper
- Mach 3
- Madballs
- Mad Mix Game
- Madness Demo (Unused theme A)
- Madness Demo (Unused theme B)
- Mag Max
- Mag Max Robo Centurion
- Mange Cailloux
- Manhattan 95
- Manic Miner
- Marauder (In Game music)
- Mask
- Mask II
- Masque
- Masters Of The Universe
- Mata Hari
- Max Headroom (Theme A)
- Max Headroom (Theme B)
- Max Headroom (Theme C)
- Maze Mania
- Mazemania__(Unused_theme)
- Mega Apocalypse
- Megablasters_Freeware_version
- Meganova
- Megaparty Demo 92
- Megaparty Demo 92 (Face Hugger part)
- Megaparty Demo 92 Fantasy part
- Megaparty Demo 92 GWM Kangaroo
- Megaparty Demo 92 Menu part
- Mega Phoenix
- Megatwins
- Meltdown
- Mermaid Madness
- Metaplex
- Metro Cross
- Metropolis
- Meurtre a Grande Vitesse
- MGT – Magnetik Tank
- Micro Mouse Goes De-Bugging
- Midnight Resistance
- Mig 29 Soviet Fighter
- Mig Busters
- Milk Race 1987
- Mission Omega
- Monaco GP
- Monty on the Run
- Moon Blaster
- Moontorc
- Moonwalker
- MOPS Megademo Ablaze s ball part
- MOPS Megademo Amiga sucks part
- Moving Target
- Mr Heli
- Mr Pingo
- Mutants
- My Boy 3
- Mystical
- Narc
- Navy Moves
- Nebulus
- Nemesis
- Nemesis The Warlock
- Netherworld
- New_Zealand_Story
- Nexus
- Nightbreed – The Action Game
- Ninja Scooter Simulator
- North and South (Theme A)
- North Star
- Obliterator
- Octoplex
- Olli and Lissa 3
- One
- One Man And His Droid
- Operation Gunship
- Operation Hanoi
- Operation_Thunderbolt
- Operation Wolf
- Orion Prime
- Orion Prime (F) – Audio Logs
- Orphee – Voyage Aux Enfers
- Outlaw
- Title
- Out Run
- Oxphar
- Pacific
- Panic Dizzy
- Paperboy
- Paperboy 2
- Phantomas Saga Infinity
- Phoenix Demo
- Phortem
- Pick’N Pile
- Platoon
- Platoon (E) – Audio Tape
- Platoon Theme 2
- Pogostick Olympics
- Postman Pat II
- Prehistorik II
- Prodatron Megademo (Constellation part)
- Prodatron Megademo (Copy part)
- Prodatron Megademo (Matchwood part)
- Prohibition
- Pro Mountain Bike Simulator
- Psycho Hopper
- Pulsoid
- Purple Saturn Day
- Puzznic
- Pyjamarama
- Quadrel
- Rad Ramp Racer
- Radzone
- Rainbow Islands
- Rally II
- Rambo – First Blood Part II
- Rambo III
- Ramparts
- Ranarama (ST Conversion)
- Rastan
- Rasterscan
- RBI 2 Baseball
- RC-Quest
- Relentless
- Relentless Teaser
- Renaud – Marche A L’ombre
- Renegade
- Renegade 3 (Theme 1)
- Renegade 3 (Theme 5)
- Renegade 3 (Theme 6)
- Rescate Atlantida
- Return Of The Jedi
- Revolog
- Rick Dangerous 2 (Theme 6)
- Rick Dangerous II
- Ricochet
- Road Blasters
- Robbbot
- Robin Hood
- Robocop
- Robocop_1 level 1
- Rod-Land
- Roland In The Caves
- Roland In Time
- Run The Gauntlet
- Rygar
- Stun_Runner
- Saboteur 2
- Saint Dragon
- Sapiens
- SAS Combat Simulator
- Sas Strike Force
- Sauvez Yurk
- Savage – Description
- Savage (Level 2)
- Scoopxtreme 4
- Scoopxtreme 5
- Scramble Spirit
- Sdaw
- Secret Agent
- Sergeant Seymour Robotcop
- Shackled
- Shadow Dancer
- Shadow Of The Beast
- Shadow of the Beast (Theme B)
- Shadow of the Beast (Theme C)
- Shadow Skimmer
- Sharkey’s Moll
- Shinobi
- Shockway Rider
- Short Circuit
- Shufflepuck Cafe
- Side Arms
- Side Arms (E) – Soundtrack
- Sigma Seven
- Silents Demo (Theme 1)
- Silents Demo (Theme 2)
- Silents Demo (Theme 3)
- Silkworm
- Skate Crazy
- Skull And Crossbones
- Skweek
- Slap Fight
- Slayer
- Slightly Magic
- Sly Spy Secret Agent
- Smash TV
- Solar Invasion
- Solomon’s Key
- Solomon s Key (Theme D)
- Sorcery
- Space Racer
- Space Harrier II
- Space Harrier (Theme A)
- Space Harrier (Theme D)
- Space Racer
- Spellbound
- Sphaira
- Spike In Transylvania
- Spitting Image
- Spy Vs Spy II
- SRAM
- SRAM 2
- Starstrike II
- Star Wars
- Star Wars Droids
- Steel Eagle
- Still Rising Vanity
- Stormlord
- Stormlord (Unused theme)
- Street Cred Boxing
- Slayer
- Stryfe – The Everlasting Battle
- S.T.U.N. Runner
- Subbuteo
- Subway Vigilante
- Super Cars (Theme A)
- Super Cars
- Super Cauldron
- Super Monaco Gp
- Super Scramble Simulator
- Super Space Invaders
- Supersports (Theme A)
- Super Stunt Man
- Super Tank Simulator
- Super Trux
- Super Wonderboy In Monster Land
- Survivre
- SWAB Meeting (Part 1)
- Switchblade
- Tean Years of CPC Schadel Part
- Techno-Cop
- Teenage Mutant Hero Turtles
- Teenage Mutant Hero Turtles 2 Unused Themes)
- Teenage Queen
- Tempest
- Tensions
- Terminator 2 Judgement Day
- Terres & Conquerants
- Tetris
- Thanatos
- The 39Kb shock intro (Rebels)
- The Addams Family
- The Blue Crystal
- The Blues Brothers
- The Boxer
- The Challenge of the Gobots
- The Goonies
- The Last V8
- The Legend Of Kage
- The Light Corridor
- The Light Corridor (Theme 6)
- The Living Daylights
- The Masters Of Space
- The Munsters
- The Ninja Warriors
- The Race
- The Real Ghostbusters
- The Real Stunt Experts
- The Sacred Armour of Antiriad
- The Silva theme 1
- The Simpsons Bart Vs
- The TGS Undemo
- The Tiny Skweeks
- The Trans-Atlantic Balloon
- The Untouchables
- The Untounchables (Level 2 theme)
- The Untounchables (Level 3 theme)
- The Untounchables (Level 4 theme)
- The Vindicator
- The Vindicator (Theme B+C)
- Thing Bounces Back
- Thing On A Spring
- Thunderbids (E) – Audio Tape
- Thundercats
- Thunderjaws
- Thunder Jaws
- Tie Break
- Tiger Road
- Times Of Lore
- Tintin Sur La Lune
- Titanic
- Top Gun
- Total Recall
- Toyota Celica GT Rally
- Trailblazer
- The Trans-Atlantic Balloon
- Transfert ST by Fefesse Music 1
- Transfert ST by Fefesse Music 2
- Transfert ST by Fefesse Music 3
- Trans Muter
- Trantor The Last Stormtrooper
- Tribal Mag 3 (Turn_Disk)
- Title
- Tubaruba
- Turbo Boat Simulator
- Turlogh Le Rodeur
- Turrican 2
- Twin Turbo V8
- Typhoon
- U.N. Squadron
- Ulises
- Uridium
- Usagi YoJimbo
- Vector Ball
- Venom Strikes Back
- Viaje Al Centro De La Tierra
- Victory Road – The Pathway To Fear
- Visa pour Hyde Park (F) – Side B
- Visa pour Hyde Park (F) – Side B
- Vixen
- Voyage 93 Oh no part
- Voyage 93-Pixelized Vectors part
- Voyage 93-Revolution of Salamander part
- Voyage 93-Twist n shout part 1
- Title
- Voyage 93-Twist n shout part 3
- Warhawk
- Wec Le Mans
- Werewolves Of London
- Werewolves of London
- West Bank
- Wild Streets
- Wild West Seymour
- Winter Games
- Wizard’s Lair
- Wizard Willy
- World Class Rugby
- Wrestling Superstars
- WWF Wrestlemania
- Xenon
- Xenophobe (E) – Audio Tape
- Xtreme 2 Theme 1
- Xtreme 2 Theme 2
- Xtreme_2-Theme_3
- Xybots
- Title
- Xyphoes Fantasy-Theme 2
- Xyphoes Fantasy-Theme 3 Level 2
- Xyphoes Fantasy-Theme 4 Level 3
- Xyphoes Fantasy-Theme 5 Level 4
- Xyphoes Fantasy-Theme 6-Level 5
- Yet Another Plasma
- Yie Ar Kung-Fu
- Yogi Bear
- Zap T Balls
- Zap t Balls (Intro Theme)
- Zap t Balls (World 2)
- Zap t Balls (World 1)
- Zap t Balls (World 3)
- Zeta 2 Slideshow Part
- Zombi
- Zona 0
- Zone Trooper
- Zub
- Zynaps
- 1943
- 6AM Eternal Demo-French Part
- 720°
- 3D Fight
- 1942
- 20000 Avant J.C.
- Générique JDG
- Sapien au piano par JB le Daron
- 1942 • Miguel F Ettema – Orchestral
- 1942 • Paul Nelsen – Medley Grand-Piano
- ARKANOID • Kaktus
- ARKANOID • M.o.t.N. – Classic
- ARKANOID • Pirx – Highscore
- BARBARIAN • Carl Larsson
- BARBARIAN • Endrody Gabor – Orchestral
- BARBARIAN • Matthias Sachal – Orchestral
- BARBARIAN • Paul Nelsen – Ultimate Warrior Grand Piano
- BEYOND THE ICE PALACE • Ony Fluke – Live Performance
- BOULDER DASH • Rob Steptoe – Hippy 2001 Remix
- BUBBLE BOBBLE • Peter Clarke
- COMMANDO • 0supereg0 – Hi-Score – Campfire Cowboys
- COMMANDO • CZ-Tunes – High-Score Christmas Edit
- COMMANDO • Dr-Future – The-Guitar – Ballad
- COMMANDO • Jarle H. Olsen – High-Score
- COMMANDO • LaLa – Hi-Score Just Whistling
- COMMANDO • SoundLogic
- COMMANDO • Tony Fluke – High-Score Live Performance
- CYBERNOID 2 • 0supereg0 – You got your blank in my blank Mix
- CYBERNOID 2 • Da Phuture – Kemist
- CYBERNOID 2 • Omoroca – Supermassive Ableton Live 11 Remaster
- CYBERNOID 2 • Rubbish Remix
- CYBERNOID 2 • Tony Fluke 2 – Live-Performance
- DEFENDER OF THE CROWN • Paul Nelsen – Medley Grand Piano
- DEFENDER OF THE CROWN • SM Pedersen
- DEFLEKTOR • MRT – Softer Version
- DEFLEKTOR • Mutherpluckin B – Deflektions of My Life
- DEFLEKTOR • Seaweed – Symphonic
- DRAGON NINJA • CZ-Tunes – Title Remix
- GHOST’N GOBLINS • Nordischsound – Orchestra Cover
- GHOST’N GOBLINS • Tony Fluke – Live Performance
- GLIDER RIDER • AmiGamer
- GLIDER RIDER • Gol
- GRYZOR • Black Bozze – Garage Remake
- IK+ • Alpa Bergen – Boogie Remix
- IRON LORD • Jan Morgenstern
- IRON LORD • Red Devil
- KUNG-FU MASTER • Doron – Deutsch Rock Trio
- LES PASSAGERS DU VENT • Zac
- NEMESIS THE WARLOCK • Makke
- NEMESIS THE WARLOCK • Marcel Donne
- OUT RUN • Magical Sound Showe – Splash-Wave
- PACOTHON • Khomenor
- PLATOON • 711 – Level 2
- PLATOON • Biscon
- PLATOON • CZ-Tunes – Title Remix
- PLATOON • FeekZoid – The Tunnels Apocalyptic Mix
- PLATOON • Westerling – The Jungle
- RAMBO 3 • Pavel – Pok
- ROBOCOP • Ascorbius – Titles
- ROBOCOP • Tim Forsyth – Title Theme
- SABOTEUR 2 • Johan Andersson – Western Mix
- SABOTEUR 2 • Marcel Donne – Revisited
- SACRED ARMOUR OF ANTIRIAD • Glyn R Brown – Warhawk Myth
- SACRED ARMOUR OF ANTIRIAD • Gzilla
- SACRED ARMOUR OF ANTIRIAD • Headstone
- SACRED ARMOUR OF ANTIRIAD • MrSID – Deadly Chambers of Antiriad
- SPACE HARRIER • Peter Clarke
- SPACE HARRIER • Paul Nelsen – Medley Grand Piano
- SPACE HARRIER • Tony Fluke – Live Performance
- TARGET RENEGADE • CZ-Tunes – Title Remix
- TARGET RENEGADE • Dan Tootill
- TARGET RENEGADE • Ferrara – August 1999 Remix
- TARGET RENEGADE • Gammasutra – Big in Italy
- TARGET RENEGADE • Peters
- TARGET RENEGADE • Teo – Ambient Remix
- TARGET RENEGADE • Yoko – Pump It Up Mix
- THE LEGEND OF KAGE • Manganoid – Shadow Steps
- THUNDERCATS • Boz
- THUNDERCATS • Tags – Symphonic Metal Mix
Aucun résultat
La page demandée est introuvable. Essayez d'affiner votre recherche ou utilisez le panneau de navigation ci-dessus pour localiser l'article.



