XIZ.COM
.
(Hier mit dem Gegenstück XZI.COM
als XIZI-3.LBR
)
SOL-Computer |
---|
RST
-Anweisungen ersetzt.
Dies erschien mir die einfachste - wenn auch nicht optimalste - Lösung.
Originalanweisung | Substitution |
---|---|
LD A,(HL) | RST 08H |
LD A,(DE) | RST 10H |
LD (HL),A | RST 18H |
LD (HL),BYTE | RST 20H |
LD (DE),A | RST 28H |
RST 00H
ist gleichbedeutend mit dem CP/M Warmstart.RST 30H
ist der Breakpoint-Einsprung für den CP/M Debugger.RST 38H
ist der Interrupt-Einsprung für den im JOYCE verwendeten Interrupt Modus IM 1
.SOLVDM.LIB |
Eine Definitionsdatei für SOL.
Hier sind die Hexwerte für die SOL-Zeichen sowie die Macros für die RST -Befehle definiert.
Außerdem findet sich hier die Anweisung .request solcpm , die die nachfolgenden Routinen beim Linken automatisch lädt.
Diese Datei sollte mit include solvdm.lib in das zu assemblierende Spiel eingelesen werden.
| ||||||||||||
SOLCPM.MAC | Eine Sammlung von Routinen für | ||||||||||||
|
CHASE.MAC |
Dies ist ein klassisches Spiel.
Der Spieler steckt in einem Raum mit elektrischen Wänden und elektrischen Hürden.
Das Spiel wird noch durch Zombie-Roboter erschwert, die den Spieler fangen wollen.
Für jeden Zug des Spielers machen die Roboter ebenfalls einen Zug.
Ziel des Spiels ist, den Robotern zu entkommen, ohne selber in die elektrischen Hürden zu geraten.
Gleichzeitig muss versucht werden, die Roboter in den Hürden zu vernichten.
| |||
PONG.MAC |
Tennis - was sonst?
Es gibt drei Spielemodi:
| |||
TARGET.MAC |
In diesem Spiel steht der Spieler an einer festen Stelle am linken Bildschirmrand und versucht mittels einer beliebigen Taste, ein bewegliches Ziel am rechten Bildschirmrand abzuschießen.
Das Spiel ist ziemlich sinnlos.
| |||
PIRANHA.MAC |
Ein nettes kleines Spiel.
Kleine Piranhas (als Sternchen '*') schwimmen herum und wenn der Spieler sie berührt, stirbt er.
Je länger der Spieler überlebt, desto mehr Punkte gibt es.
Die Fische verhalten sich unterschiedlich:
manchmal treten sie als Schwarm auf, manchmal schwimmen sie nur vorbei.
Wird eine Kontrolltaste zweimal betätigt, erhöht sich die Geschwindigkeit. | |||
DEFLECT.MAC |
Deflect ist ein Spiel mit ein oder drei Zielen, in die ein Spielstein mittels Deflektoren (/ und \) gelenkt wird.
Es ist eine Spielzeit vorgegeben, innerhalb der der Stein vernichtet werden muss.
| |||
ROBOT.MAC |
Dies ist kein wirkliches Spiel, sondern lediglich die Demonstration für die Bewegung einer Figur innerhalb abgesteckter Grenzen.
| |||
GALAXY.MAC |
Sternenschießen - Ein logisches Puzzle, das aus der gegebenen Konstellation den Zielstand erreicht.
Das Spiel enthält eine kleine abrufbare Hilfe.
| |||
Die oben aufgeführten Programme liegen auf der SOL-20 Web Page als 8080-Quelldateien (.ASM),
die folgenden Programme als Binärdateien (.ENT1) vor.
Die Dateien sind aber keine „echten" Binärdateien sondern im ASCII-Format, ähnlich dem DUMP-Listing.
Z.B.:
ENTER 0000 0000: 00 00 00 00 C3 5A 06 19 D2 20 45 20 D6 20 45 20 .... .... 0DD0: 00 00/
0xCC00 und endet bei Adresse 0xCFFF .
Zur Berechnung der Koordinaten (Zeile und Spalte) aus der Video-Adresse habe ich ebenfalls ein kleines Programm geschrieben, hier als (MALLARD-)BASIC- und hier als (TURBO-)PASCAL-Version.
| ||||
SREVERSI.MAC (Disassembliertes Original) |
Ziel des Spiels ist es, die eigenen Steine so zu setzen, dass sie gegnerische Steine entlang einer geschlossenen Linie (horizontal, vertikal oder diagonal) einschließen.
Dadurch werden die Steine des Gegners in eigene Steine umgewandelt.
| |||
|