Spiky Harold

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Spiky Harold
Titelbild des Spiels
Spiel Nr. 1125
Bewertung 5.00 Punkte bei 1 Stimmen
Entwickler Andrew Rogers, Simon Clarke
Verleger Firebird
Musiker Graham Marsh (BOGG)
HVSC-Datei /MUSICIANS/B/BOGG/Spiky_Harold.sid
Release 1986
Plattform(en) Amstrad CPC, Atari 400/800, C64, C16, ZX Spectrum
Genre Platformer
Spielmodi Einzelspieler
Steuerung Icon Port1.pngIcon joystick.png Icon tastatur.png
Medien Icon kassette.png Icon disk525.png
Sprache Sprache:englisch


Beschreibung[Bearbeiten | Quelltext bearbeiten]

Spiky Harold (zu deutsch: "Der stachlige Harold") ist ein Actionadventure, das sich über 57 Bildschirme erstreckt. Scrolling gibt es keines, die Bildschirme werden im Flick-Screen-Verfahren dargestellt. Der Spieler steuert den Igel Harold auf der Suche nach Nahrung durch ein Höhlenlabyrinth, wobei er zahlreichen Gegnern ausweichen muss. Hat er alles Futter und alle Extraleben innerhalb einer beschränkten Zeitspanne eingesammelt und zuletzt Harolds Bau erreicht, so ist die Mission des Spielers erfüllt und das Spiel erfolgreich abgeschlossen.


Die Geschichte

Igel Harold

Der Winter naht, und bereits für den nächsten Tag ist klirrender Frost angesagt. Der Igel Harold muss sich daher innerhalb eines Tages eine Fettschicht anfuttern, um anschließend die kalte Jahreszeit im Winterschlaf gut zu überdauern. Also macht sich Harold auf den Weg durch ein unterirdisches Höhlenlabyrinth, um das dort verstreute Futter einzusammeln und aufzufressen. Leider sind diese Höhlen von zahlreichen Gegnern bevölkert, die unseren Igel bei der kleinsten Berührung eines seiner anfangs 19 Leben kosten. Also heißt es, den Weg genau zu planen und bei jeder Bewegung auf den richtigen Zeitpunkt zu achten.

Gestaltung[Bearbeiten | Quelltext bearbeiten]

Das Labyrinth, in dem der Igel Harold sein Futter sucht, ist detailreich und — insbesondere an der Erdoberfläche — farbenfroh gestaltet. Er selbst und seine Gegner sind überwiegend schön animiert, wirken als einfarbig weiße Sprites aber dennoch etwas primitiv. Die Steuerung des Igels per Joystick oder Tastatur erfordert keine pixelgenaue Positionierung und ist daher unkompliziert und angenehm, allerdings erzwingen die zahlreichen Gegner an vielen Stellen ein exaktes Timing.


Schon die Kollision mit einer Mücke ist für den Igel tödlich
Mit leckeren Trauben im Magen
lässt sich der Winter ertragen...
Nach einem Sturz in eine tiefe Spalte ist Harold gefangen



Grafik[Bearbeiten | Quelltext bearbeiten]

Die grafische Darstellung findet im Monocolor-Bitmap-Modus statt, wobei nur ein Ausschnitt von 256x160 Pixeln Größe für die Szenen aus Harolds Lebensraum verwendet wird (Bitmap an Adresse $E000, zugehörige Farbinformation im Bildschirmspeicher ab Adresse $C400). Ein Wechsel von einem Screen zum nächsten nimmt teilweise fast 5 Sekunden in Anspruch, in dieser Zeit wird der Bildschirm schwarz. Zur Darstellung des Igels kommen insgesamt 4 Monocolor-Sprites zum Einsatz (Sprite 0-3), Sprite 4-6 dienen zur Anzeige je eines Gegners. Alle anderen Objekte auf dem Bildschirm werden in die Bitmap-Grafik eingearbeitet. Für die Erkennung, ob Harold mit einem Gegner in Berührung gekommen ist, verlässt sich das Spiel auf die Sprite-Sprite-Kollisionserkennung des VIC (Register an Adresse $D01E).

Sound[Bearbeiten | Quelltext bearbeiten]

Während der Darstellung des Titelbildschirms erklingt ein dreistimmiges Musikstück, das rockig anfängt und zum Ende hin eher experimentell wird.

Das Spiel selbst wird dauerhaft von einer Variante des Hummelflugs begleitet, einer einstimmigen, aus gleichlangen Noten zusammengesetzten Sequenz. Diese wirkt schon nach kurzer Zeit aufdringlich, lässt sich aber glücklicherweise abschalten.

Hinweise[Bearbeiten | Quelltext bearbeiten]

Ziel des Spiel ist es, insgesamt 57 Gegenstände von 8 verschiedenen Sorten — zumeist essbarer Art — einzusammeln, indem der Igel Harold unmittelbar rechts oder links davon platziert wird. Harold frisst seinen Fund daraufhin auf, ohne dass der Spieler diese Aktion gezielt auslösen muss; Harolds Bewegungen stoppen währenddessen für etwa eine halbe Sekunde.

Meist erhöht sich dabei einfach nur die Zahl der gesammelten Objekte und bringen dem Spieler seinem Ziel näher, mit insgesamt 57 Gegenständen bereit zu sein für den Winterschlaf. Eine zusätzliche Funktionalität haben nur das Extraleben (linkes Bild der nachfolgenden Galerie), das natürlich die Zahl von Harolds verbleibenden Leben erhöht, und das Weinglas (rechtes Bild), durch das kurzzeitig die Joystick-Steuerung spiegelverkehrt wird.


SpikeHarold Extraleben.gif

Extraleben
SpikeHarold Apfel.gif

Apfel
SpikyHarold Ei.gif

Ei
SpikyHarold Kirschen.gif

Kirschen
SpikyHarold Eichel.gif

Eichel
SpikyHarold Kartoffeln.gif

Kartoffel
SpikyHarold Trauben.gif

Trauben
SpikyHarold Weinglas.gif

Weinglas



Bedienung[Bearbeiten | Quelltext bearbeiten]

Über das Startmenü werden alle wichtigen Einstellungen getroffen

"Spiky Harold" wird wahlweise mit einem Joystick in Port 1 oder mit der Tastatur gesteuert. Sowohl die Auswahl zwischen diesen beiden Eingabegeräten, als auch ggf. die Redefinition der Tastaturbelegung können über ein Menü im Startbildschirm vorgenommen werden.

Starten lässt sich das Spiel aus diesem Menü heraus mit dem Menüpunkt "F1 START". Falls die Tastenbelegung nicht geändert wurde, so gilt anschließend die folgende Zuordnung:

  • Joystick nach links bzw. Z : Der Igel geht nach links
  • Joystick nach rechts bzw. X : Der Igel geht nach rechts
  • Feuerknopf drücken bzw. SPACE : Der Igel springt (senkrecht, oder in Kombination mit einer der obigen Steuerbefehle nach links oder rechts)
  • RETURN : Musik aus- und wieder einschalten
  • H : Pause (Spiel anhalten; Musik läuft weiter)
  • S : Spiel fortsetzen

Die Tastenkombination RUN/STOP RESTORE  bricht das aktuelle Spiel ab und bewirkt eine Rückkehr zum Startbildschirm.

Bildschirmaufbau[Bearbeiten | Quelltext bearbeiten]

Typische Szene aus dem Spiel

Gegner[Bearbeiten | Quelltext bearbeiten]

Jeder der insgesamt 57 Screens ist von je 3 Gegnern bewohnt, die Harold zwar nicht aktiv angreifen, sich ihm jedoch periodisch in teilweise sehr hinderlicher Weise in den Weg stellen. Weil die kleinste Berührung mit einem der Gegner Harold ein Leben kostet, muss er insbesondere den Zeitpunkt genau planen, zu dem er eine bestimmte Bewegung ausführt.

Da die Rundwege der einzelnen Gegner unterschiedliche Periodendauern haben, kann es sich auch lohnen, mehrere Zyklen abzuwarten, bevor man Harold durch einen gefährlichen Bereich steuert. So wiederholen die drei Gegner in der Animation, die Harold gefangen in einer Spalte zeigt (rechtes Bild der Galerie im Abschnitt "Gestaltung "), ihre Bewegungsmuster (von links nach rechts) alle 252, alle 204 und alle 402 Bildwiederholungen (bei einer Bildwiederholfrequenz von ca. 50 Hz für die Fernsehnorm PAL). Bis sich die aktuelle Position aller drei Gegner ganz exakt erneut ergibt, vergehen hier daher mehr als anderthalb Stunden (genau: 1 Stunde, 35 Minuten und 26,29 Sekunden bei einer Bildwiederholfrequenz von 50,124565 Hz).


SpikyHarold Gegner1.gif
SpikyHarold Gegner12.gif
SpikyHarold Gegner10.gif
SpikyHarold Gegner4.gif
SpikyHarold Gegner5.gif
SpikyHarold Gegner6.gif
SpikyHarold Gegner7.gif
SpikyHarold Gegner8.gif



SpikyHarold Gegner3.gif
SpikyHarold Gegner9.gif
SpikyHarold Gegner13.gif
SpikyHarold Gegner11.gif
SpikyHarold Gegner14.gif
SpikyHarold Gegner15.gif
SpikyHarold Gegner2.gif
SpikyHarold Gegner16.gif



Tipps[Bearbeiten | Quelltext bearbeiten]

  • Die Zeitbegrenzung auf einen Tag (24 Stunden) wird mit Hilfe der Echtzeituhr von CIA 1 überprüft, wobei aber angenommen wird, dass diese mit einer Frequenz von 60 Hz getaktet wird. Wird der C64 mit der in Deutschland üblichen Netzfrequenz von 50 Hz versorgt, so erhöht sich die maximale Spieldauer auf 28 Stunden und 48 Minuten.


Auf dem Grund eines unterirdischen Sees bewegt sich Harold wie ein Fisch im Wasser... sofern er nicht mit selbigem kollidiert
Die Durchquerung einer Vulkanlandschaft braucht ein exaktes Timing



Lösung[Bearbeiten | Quelltext bearbeiten]

"Spiky Harold" lässt sich nur lösen, indem man sich für jeden einzelnen Raum die Route des Igels und das zugehörige Timing ermittelt und einprägt, und die zugehörige Steuerung dann so lange übt, bis es (fast) immer auf Anhieb funktioniert. Beim Planen der Route kann ein Longplay hilfreich sein, beim anschließenden Üben ein Trainer — und anschließend, gut vorbereitet, auf zum Sprung in die Highscore!


Nur einer der vielen Äpfel ist essbar
Endlich zu Hause!
Noch ein Gläschen Wein, und dann endlich schlafen!



Karte[Bearbeiten | Quelltext bearbeiten]

Das nachfolgende Bild zeigt den Aufbau des Höhlensystems einschließlich aller einzusammelnden Objekte. Zu Spielbeginn macht sich Harold in der linken oberen Ecke auf den Weg; sein Bau, den er schließlich mit vollem Magen erreichen muss, befindet sich in der rechten oberen Ecke. Der Durchgang am rechten Ende der untersten Zeile führt zurück an den Startpunkt des Spiels.

SpikyHarold Map.png

Plan[Bearbeiten | Quelltext bearbeiten]

Die folgende Illustration zeigt schematisch den Aufbau des Labyrinths. Die Farbe codieren die in den einzelnen Räumen bereitliegenden Objekte (gelb: Extraleben, hellgrün: Apfel, türkis: Ei, rot: Kirschen, dunkelgrün: Eichel, beige: Kartoffel, violett: Trauben, weiß: Weinglas). Diese Gegenstände sind zu Beginn des Spiels immer gleich verteilt.


SpikyHarold Plan.gif

Schematische Darstellung des Labyrinths




Cheats[Bearbeiten | Quelltext bearbeiten]

In der CSDb gibt es mehrere Cracks mit einer Trainerfunktion. Wirklich empfehlenswert ist nur die Version von Hackersoft mit ihren vielfältigen Konfigurationsmöglichkeiten (linkes Bild der nachfolgenden Galerie). Die beiden anderen Versionen bieten dagegen keinerlei Auswahlmöglichkeiten: Beim Crack von "The Hobbit" (mittleres Bild) ist einfach die Sprite-Kollisionserkennung dauerhaft abgeschaltet, und bei der Variante des Fantasy Cracking Service (rechtes Bild) erhöht sich die Zahl der Leben mit jeder Kollision um 2, anstatt sich zu erniedrigen.


Crack von Hackersoft
Crack von The Hobbit
Crack von FCS (Fantasy Cracking Service)



Die Behandlung von Kollisionen mit Gegnern ist im Programmcode so einfach implementiert, dass auch die Entwicklung eigener Trainer unschwer möglich ist:

950D: LDA $D01E ; Sprite-Sprite-Kollisionsregister des VIC lesen
9510: AND $0F   ; Bits für Igel (Sprite 0...3) isolieren
9512: BEQ $9576 ; Sprung falls Igel an keiner Kollision beteiligt
9514: LDA #$02
9516: STA *$3B
9518: SED       ; Dezimal-Modus aktivieren
9519: SEC       ; Subtraktion vorbereiten
951A: LDA *$20  ; Anzahl Leben (gespeichert im BCD-Format) holen
951C: SBC #$01  ; 1 Leben subtrahieren
951E: STA *$20  ; und wieder abspeichern
9520: CLD       ; Dezimal-Modus wieder deaktivieren

Um die Kollisionserkennung zu deaktivieren, reicht es, die Bitmaske an Adresse $9511 von $0F auf $00 abzuändern. Alternativ kann Harold beliebig viele Leben bekommen, indem die Zahl der Leben, die er nach einer Kollision verliert, an Adresse $951D von $01 auf $00 geändert wird.

Da die verschiedenen Abschnitte des Programms erst nach dem Start an ihren endgültigen Speicherort umkopiert werden, und dies bei den einzelnen Cracks auf unterschiedliche Weise geschieht, unterscheiden sich die Zieladressen für die vor dem Programmstart einzugebenden POKE-Befehle geringfügig. Für die Version von BAM lauten sie beispielsweise:

POKE 22477,0 : REM KOLLISIONSERKENNUNG ABSCHALTEN
POKE 22489,0 : REM NACH KOLLISION KEIN LEBEN VERLIEREN

Interne Datenstrukturen[Bearbeiten | Quelltext bearbeiten]

Für die Entwicklung eigener Trainerfunktionen und für die Analyse oder Manipulation der vom Spiel genutzten Daten sind Kenntnisse der Speicherbelegung und der internen Arbeitsweise hilfreich. Die folgende Tabelle stellt daher eine Reihe von Informationen über "Spiky Harold" zusammen.

Adresse Inhalt Bemerkungen
$0002 Aktueller Raum Wertebereich $00...$38, X-Koordinate im Low-Nibble, Y-Koordinate im High-Nibble
$0010 Joystick-Modus $00=normal, $01=seitenverkehrt
$001F Anzahl gefundene Objekte BCD-Format, Wertebereich $00...$57
$0020 Anzahl Leben BCD-Format, Wertebereich $00...$23

Im Speicherbereich $A000-$A0E3 befindet sich eine 228 Byte lange Tabelle, die für jedes Objekt den Typ und den Ort innerhalb des Raums speichert und angibt, ob das Objekt bereits eingesammelt wurde. Jeder der je 4 Byte langen 57 Einträge in dieser Tabelle hat das folgende Format:

Offset Inhalt Bemerkungen
+$00 Eingesammelt? 0: schon eingesammelt, 1: noch nicht eingesammelt
+$01 Objekttyp Wertebereich 0..7, 0=SpikeHarold Extraleben.gif (Extraleben), 1=SpikeHarold Apfel.gif (Apfel), 2=SpikyHarold Ei.gif (Ei), 3=SpikyHarold Kirschen.gif (Kirschen), 4=SpikyHarold Eichel.gif (Eichel), 5=SpikyHarold Weinglas.gif (Weinglas), 6=SpikyHarold Kartoffeln.gif (Kartoffel), 7=SpikyHarold Trauben.gif (Trauben)
+$02 X-Koordinate X-Koordinate innerhalb des Raums, Wertebereich 0...30, 0=ganz linke Spalte
+$03 Y-Koordinate Y-Koordinate innerhalb des Raums, Wertebereich 0...18, 0=oberste Zeile

Bewertung[Bearbeiten | Quelltext bearbeiten]

Bewertung der C64-Wiki-Benutzer (10=die beste Note):
5.00 Punkte bei 1 Stimme.
Zur Stimmabgabe musst Du angemeldet sein.
ZZap! 64 48% (Presentation 76%, Graphics 47%, Sound 80%, Hookability 51%, Lastability 44%, Value For Money 55%) Issue 18 (October 1986)
Lemon64 4,83 2. Juni 2023 - 23 votes
Universal Videogame List 3.7/5 15. Juni 2023
Spectrum Computing 6,3 2. Juni 2023 - 4 votes
Computer and Video Games Graphics 9/10, Sound 7/10, Value 9/10, Playability 6/10 Issue 61 (November 1986)
Commodore User 4/10 (Graphics 5/10, Sound 2/10, Toughness 8/10, Endurance 4/10, Value 5/10)
6/10 (Graphics 6/10, Sound 2/10, Toughness 6/10, Endurance 5/10, Value 7/10)
Issue 37 (October 1986)
Issue 40 (January 1987)
Amstrad Action 66% (Graphics 59%, Sonics 56%, Grab Factor 63%, Staying Power 51%) Issue 10 (July 1986)
Amtix 80% (Presentation 79%, Graphics 80%, Sound 83%, Playability 77%, Addictive qualities 79%, Value for money 85%) Issue 10 (August 1986)
Crash 65% (Use of computer 59%, Graphics 62%, Playabilty 66%, Getting started 67%, Addictive qualities 64%, Value for money 70%) Issue 29 (June 1986)
Sinclair User 1/5 Issue 52 (July 1986)
Your Sinclair 8/10 (Graphics 7/10, Playability 6/10, Value for Money 9/10, Addictiveness 7/10) Issue 7 (July 1986)
Your Commodore Originality 4/10, Playability 5/10, Graphics 6/10, Vaöue 7/10 Issue 31 (April 1987)
ASM (Aktueller Software-Markt) Grafik 9/10, Sound 7/10, Spielidee 8/10, Spielmotivation 9/10 Ausgabe 6/1986
Computer Gamer Bright Star (Originality 2/5, Graphics 2/5, Use of Machine 3/5, Value for Money 3/5) Issue 19 (October 1986)
Your Computer 4/5 June 1986
ZX Computing GREAT July 1986

Kritik[Bearbeiten | Quelltext bearbeiten]

Stephan64: "Hübsch gestaltetes Labyrinth mit nett animierten Figuren, das aber aufgrund des simplen Spielprinzips, des regelmäßigen Neubeginns am immer gleichen Startpunkt und der exakt einzuhaltenden Bewegungsmuster schnell eintönig wird. Trotzdem 5 von 10 Punkten, denn 'damals' habe ich solche Spiele gespielt, bis das C64-Netzteil glühte."

Sonstiges[Bearbeiten | Quelltext bearbeiten]

Cover[Bearbeiten | Quelltext bearbeiten]

Cover der Kassette zum Spiel "Spiky Harold"


Inlay[Bearbeiten | Quelltext bearbeiten]

Außenseite des Inlay zum Spiel "Spiky Harold"
Innenseite des Inlay zum Spiel "Spiky Harold"


Kassette[Bearbeiten | Quelltext bearbeiten]

Kassette zum Spiel "Spiky Harold"


Manual[Bearbeiten | Quelltext bearbeiten]

Begleitblatt zum Spiel "Spiky Harold", Teil 1
Begleitblatt zum Spiel "Spiky Harold, Teil 2


Theme[Bearbeiten | Quelltext bearbeiten]

Sowohl der Titelbildschirm als auch das Spiel selbst werden musikalisch untermalt. Während die Titelmelodie ein dreistimmiges Musikstück von BOGG ist, besteht die Begleitmelodie zum Spiel aus einer einstimmigen Variante des Hummelflugs. Die Codierung der Frequenzparameter basiert auf den Angaben aus dem Datenblatt des SID, mithin also auf einer angenommenen Taktfrequenz von 1,000 MHz. Die nachfolgende Galerie zeigt jeweils die erste Seite beider Musikstücke in der üblichen Notenschreibweise. Für eine kreative Weiterverwendung der Melodien stehen die vollständigen Noten auch als PDF-Dokument (Datei:SpikyHarold Theme PDF.pdf) und in der ABC-Musiknotation (Datei:SpikyHarold Theme.abc.txt) zur Verfügung.


Titelmelodie (erste Seite), rekonstruiert durch Mitprotokollieren aller Schreibzugriffe auf den SID
Begleitmelodie zum Spiel (erste Seite)



Schnelllader[Bearbeiten | Quelltext bearbeiten]

Die Kassettenversion von Spiky Harold verwendet gleich zwei unabhängige, integrierte Software-Schnelllader, die beim Laden automatisch aktiviert werden, den Ladevorgang aber nur etwa um den Faktor 2,8 beschleunigen. Eine detaillierte Analyse der Laderoutinen offenbart den Grund für diese eher dürftige Performance: Zum einen enthält der erste geladene Programmteil gar nicht den Schnelllader, sondern nur eine kurze Befehlssequenz, die ihrerseits dann mit Hilfe des Kernals ein 512 Byte großes Modul mit dem ersten der beiden Lader einliest.

Zum anderen verwenden diese Laderoutinen dann zwar kürzere Codierungen für 0- und 1-Bits als der Kernal, sind aber ansonsten vor allem darauf optimiert, ihre eigene Arbeitsweise zu verschleiern und ein Rekonstruieren des Spiels durch Analyse der Banddaten zu verhindern. Hierzu gehört auch, dass der erste nachgeladene Programmabschnitt durch XOR-Verknüpfung mit dem Code des Schnellladers verschlüsselt ist; dadurch besteht er — anders als sonst üblich — zu fast als 50% aus 1-Bits, welche wiederum durch längere Impulse codiert werden.

Beide Schnelllade-Routinen lesen eine beliebig lange Folge von Blocks vom Band und platzieren diese — nicht notwendigerweise direkt aufeinanderfolgend — im Hauptspeicher des C64. Der erste Block ist dabei nur 64 Bytes lang und enthält einen zusätzlichen Schlüssel, der in den Adressbereich $0200...$023F übertragen und später zur Decodierung des Programmcode genutzt wird; alle weiteren Blocks sind 256 Bytes lang. Der erste Schnelllader nimmt zudem vor jedem Block eine erneute Synchronisierung des C64 mit dem Datenstrom vor und verschwendet dadurch viel Zeit und auch Platz auf der Kassette.

Die erste Schnelllade-Routine erwartet vor jedem Block einen 4 Byte langen Header, der das Synchronisationszeichen des Folgeblocks (1 Byte), die Blocknummer (1 Byte) und die Ladeadresse (2 Bytes im Little Endian-Format) enthalten. In Block Nummer 0 schließen sich an diesen Header 64 Datenbytes an, ansonsten 256 Datenbytes. Anstatt die Datenstruktur nun aber mit der Prüfsumme abzuschließen, kommt nun noch ein Byte, das angibt, wie viele zusätzliche Füllbytes (zwischen 1 und 31 Bytes) folgen, die lediglich überlesen und ignoriert werden. Allein schon dieser Ballast erhöht das Datenvolumen bei 196 Blocks und einer durchschnittlichen Anzahl von 16 Füllbytes (zzgl. Längenangabe) pro Block um insgesamt 3332 Bytes. Auf die sich anschließende Prüfsumme folgt noch eine Adresse, die nach dem Laden des Blocks angesprungen wird und stets auf den Schnelllader selbst zeigt; zudem sind in den Datenstrom insgesamt 12 Blocks eingestreut, mit denen sich der Schnelllader teilweise selbst überschreibt. Viele der hier beschriebenen Datenelemente sollen wohl nur dem Zweck dienen, eine Rekonstruktion der Programmdaten zu erschweren.

Die erste Schnelllade-Routine lädt einen Programmabschnitt an Adresse $0C00...$C1FF und einen Decodierer an $0800–$08FF, und übergibt dann die Kontrolle an den soeben geladenen Decodierer. Dieser entschlüsselt daraufhin zunächst sich selbst und dann den anfangs geladenen Programmabschnitt, bevor er zum darin enthaltenen, zweiten Schnellader an Adresse $C000 wechselt. Der zweite Lader wiederum erwartet vor jedem weiteren Datenblock auf Band einen 7 Byte langen Header, der die Blocknummer (1 Byte), die Ladeadresse, die Endadresse der gesamten Blocksequenz und die Einsprungadresse des enthaltenen Programmteils (alle Adressen jeweils 2 Bytes im Little Endian-Format, Einsprungadresse $0000 bedeutet "Programmteil nach dem Laden nicht anspringen") enthalten. Er lädt einen weiteren, unverschlüsselten Programmabschnitt in den Speicherbereich $E000...$F5FF. Der Sprungvektor wird allerdings nicht genutzt, sondern die eingeschobene Decodierroutine lädt die Startadresse des Spiels ($7000) nach und startet schließlich das Spiel durch einen indirekten Sprung dorthin.

Ebenfalls nicht genutzt wird die kuriose Funktionalität, dass der Schnelllader periodisch den Sprungvektor für die USR-Funktion prüft und mit dessen Defaultwert $B242 vergleicht. Ergibt sich dabei eine Abweichung, so wird die geänderte USR-Funktion über einen Unterprogrammaufruf angesprungen. Lässt man also beispielsweise den USR-Vektor durch Eingabe der folgenden Befehle auf die Kaltstart-Routine des C64 zeigen, so löst der Schnelllader nach wenigen Sekunden einen Reset des Rechners aus:

POKE 785,226 : POKE 786,252 

Der Schnelllader von "Spiky Harold" ist sehr ähnlich zu demjenigen von Willow Pattern. Seine genaue Funktionsweise ist aus dem kommentierten Assemblerlisting ersichtlich.

Videomitschnitt[Bearbeiten | Quelltext bearbeiten]


Vollständige Lösung, Titelmusik ins Spiel editiert

Trivia[Bearbeiten | Quelltext bearbeiten]

  • In einem Interview auf der Retro-Gaming-Seite "Remix64" wundert sich der Programmierer der Begleitmelodien von "Spiky Harold", Graham Marsh alias "The Mighty Bogg", warum er nach dieser Vertonung keine Folgeaufträge mehr erhalten hat. Es sei dem einzelnen Spieler und seinem Musikgeschmack überlassen, ob er sich mitwundern möchte.

Highscore[Bearbeiten | Quelltext bearbeiten]

Topscore von Stephan64
  1. Stephan64 - 15 (07.06.2023)
  2. Ivanpaduano - 7 (20.08.2023)
  3. Leer - 0 (tt.mm.jjjj)


2. Platz von Ivanpaduano 3. Platz von Leer
2. Platz von Ivanpaduano 3. Platz von Leer


Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Spiky Harold Sprache:english
Magazine


Artikel des Monats.gif Dieser Artikel wurde Artikel des Monats.