amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
12.Mai 2020
a1k.org (Webseite)


Unvollendetes Hardware-Projekt: Der 10-Joystick-Adapter
Vor 25 Jahren haben die Amiga-Szener 'Chrille' (Hardware, Code), 'Mr.Return' (Code) und 'Merlin' (Grafik) mit der Entwicklung eines Amiga-Spiels namens "Gladiators" begonnen, das dank einer ebenfalls selbst entwickelten Hardware bis zu 10 Joysticks gleichzeitig unterstützt. Der Hardware-Entwickler des als "The 7th Sign" fungierenden Teams schildert ein Vierteljahrhundert später die Entstehung des Projekts und wie weit die Arbeiten gediehen waren:

Chrille schreibt: Der Adapter wird an den Parallel-Port des Amigas angeschlossen und bietet acht zusätzliche Joystick-Ports, die über zwei CIA-Register angesprochen werden: In das eine Register schreibt man die Nummer des abzufragenden Joysticks, im anderen kann dann der aktuelle Status des betreffenden Joysticks ausgelesen werden. Die einseitige Platine ist im Februar dieses Jahres repariert worden (die auf den Bildern gezeigten kaputten Widerstandsnetzwerke wurden ersetzt) und hat erst bei dieser Gelegenheit ein Gehäuse verpasst bekommen,was den teils arg ramponierten Zustand der Hardware erklärt. Als Bauteile wurden verwendet: 1 x 74HC42, 8 x 74HC245, 8 x Widerstandsnetzwerke (mit 8x4K7 Ohm) und die passenden Stecker und Sockel.


Eigentlich ist es die einzige Platine die ich je komplett gebaut habe. In der Schule habe ich ja sowas gelernt. Die Platine habe ich über einen Bekannten ätzen lassen. Früher war es AFAIK manchmal kompliziert 2-seitige Platinen ätzen zu lassen, so dass die Löcher auf beiden Seiten genau übereinander passen. D.h. ich ich habe damals auch die Löcher gebohrt und das Zeug zusammen gelötet mit etwas Unterstützung beim Design des Logos und beim Löten. Außerdem habe ich gelernt warum man Pull-Up Widerstände braucht - Die wurden nachträglich aufgelötet. Wenn ich mich richtig erinnere, war das damals in den Oster-Ferien. Die Brücken bei den Joystick Ports musste ich machen, da ich ein Fehler im Layout hatte. Die hatte ich dummerweise spiegelverkehrt belegt. Die anderen Brücken brauchte ich, da die Platine nicht ganz perfekt geätzt worden ist.

Für C64 wäre es sicherlich auch möglich, statt des Anschluss über Parallel-Port, den Anschluss auf die Joystick Ports oder User Port umzubauen. Aber für C64 gibt es ja auch schon seit einigen Jahren den Atari 8 Spieler Adapter. Der ist ja über Dioden realisiert worden. Geplant wäre auch eine Anpassung für CD32 gewesen, die über die beiden Joystick-Ports funktioniert hätte. Da ja viele CD32 leider über keinen parallelen Port verfügen, ich hatte damals neben A500 und A1200 auch ein SX-1 für mein CD32 (Ich besitze natürlich noch alle Amigas nur mein SX-1 funktioniert zur Zeit leider nicht). Vielleicht wären sogar mit ein paar wenigen Änderungen der Platine die Abfrage von CD32-Pads (alle Knöpfe) und (S)NES-Pads mit entsprechenden Adaptern bzw. Anschlüssen möglich. Da Design der Platine nur noch eine zusätzliche Leitung bräuchte, um die 74245 von Eingang auf Ausgang zu schalten. IMHO sind aber Joysticks sowieso präziser als Joypads.

Das Layout wurde natürlich auch auf dem Amiga erstellt. IMHO war das Programm auch viel besser als das über 10K DM teure Schul-Platinen-Layout Programm. Das Amiga Programm war sehr schnell und hatte ruckelfreies Scrolling. Das einzige was am PC-Programm besser war, dass es eine große Bauteil-Bibliothek und Auto-Routing hatte. Das PC-Programm war auf einem 16Mhz 286er schnarchlangsam. Und auch auf schnelleren x86ern war es trotzdem noch lahm. Damals hatte der Amiga noch einen riesigen Vorsprung zu MS-DOS und anderen Systemen.

Software gab es natürlich nachher auch ;) Ein Programm lief mit 6 Spielern und das andere selbst programmierte Programm namens Gladiators lief in einer Alpha-Version mit 10 Spielern auf AGA-Amigas. Theoretisch war auch geplant, dass es auf einem Amiga 500 lauffähig sein sollte - aber dann wohl meist nicht mehr in 50 FPS - während auf AGA Amiga sogar eine höhere Auflösung von 640*264 drin war bei 50FPS. Zuerst war eigentlich ein eigener Bildschirm-Modus mit mehr als 512 Zeilen geplant, dann hätte man sich die Auflösung aussuchen können. Ich wurde, dann aber überredet statt nur 6 Bitplanes lieber 8 Planes zu nehmen. Mit 8 Planes und niedriger Auflösung (also niedrig = 640*264) konnten wir noch ein paar nette Effekte realisieren, die das Programm schneller gemacht haben.


Außerdem ist Gladiators leider nur eine frühe Alpha-Version. Man kann es spielen, aber wichtige Sachen fehlen. Leider sind nur 3 Spieler fertig geworden mit allen Animationen. Es waren 10 verschieden Spieler geplant. Im folgenden Screenshot sieht man: Ritter (grau), Roboter (blau) und Zauberer (lila). Oben ist auch noch die Debug-Grafik ("1") zu erkennen, die anzeigt welche Animationsstufe gerade dargestellt wird.

Und perfekt sieht es vor allem auf echten Amigas aus. Da kann man die flüssigen Animationen bewundern, z.B. auch die ausbreitenden transparenten(!) Explosionen. Der Transparenz-Effekt sieht cool aus und spart noch Rechenzeit :D Das Spiel hatte eine variable Framerate. Außerdem konnte der gesamte Bildschirm voller Explosionen sein, das sind 320 Felder bei 50 FPS auf einem A1200 mit FastRam. Mit nur Chip-Ram konnte vielleicht 2/3 des Bildschirms bei 50 FPS explodieren.

Was das Programmieren anging, war der Amiga perfekt. Das Programm dazu (hatte mehr als 10K Zeilen und einiges an Grafik-Includes) wurde in weniger als 2 Sekunden mit FastCache assembliert. Ich hatte einen Source-Level-Debugger. Das Spiel lief wahlweise in einem System Screen, das war über ToolTypes einstellbar. Ich hatte mir auch damals eigene IFF2Raw Konverter gebaut, die ich komfortabel in DOpus eingebunden hatte. Das einzige was ich mir früher gewünscht hätte, wäre ein Tool wie Valgrind unter Linux gewesen. Aber naja Enforcer war auch okay.

Ja, die Sourcen und Grafiken habe ich natürlich noch. Wir haben übrigens DPaintV, PPaint und Brilliance genutzt. Außerdem muß man sich teilweise etwas einschränken bzgl. der Grafiken. Sonst hätten wir das niemals in 256 Farben hinbekommen. Ich denke die fehlende Grafiken wenigstens von den Spielern kann Merlin noch machen, wenn er (und ich) mit unserem aktuellen C64 Projekt fertig sind. 8 oder 9 verschiedene Spieler sind schon fertig, aber ohne alle Animationsphasen (außer die 3 vom Screenshot). So was meinte er letztens als er mit mir gesprochen hat - Nur das kann noch etwas dauern.

Tatsächlich ist Gladiators noch ein wenig anders als Dynablasters oder Bomberman - man hat zum Beispiel Energie, siehe im Screenshot die Balken oben und unten. Ein paar Bugs sind noch drin und es fehlen noch einige Teile des Programms (z.B. die Statistik wer wie oft gewonnen hat und noch ein paar Spielelemente. Außerdem wäre es gut, wenn es noch eine zusätzliche Anzeige für ein Spielelement gäbe. Aber grundsätzlich wäre ich für Hilfe dankbar, nur hat eben unser C64-Projekt erst mal Vorrang. (cg)

[Meldung: 12. Mai 2020, 23:56] [Kommentare: 19 - 24. Mai 2020, 22:41]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1997-2019 by amiga-news.de - alle Rechte vorbehalten.
.