Archiv der Kategorie: C128

Diamond Dungeon Japan-Font

Der für das Spiel Diamond Dungeon verwendeten Japan-Font, den ich aus verschiedenen Vorlagen unter Berücksichtigung der Möglichkeiten einer 8×8-Matrix zusammenkomponiert habe, kann hier als C64- und C128-DIN-Version heruntergeladen werden. Es werden nur Großbuchstaben (und einige grundlegende Sonderzeichen) unterstützt. Deshalb wird der Font als Großschrift/Grafik-Zeichensatz angeboten.

Japan-Font für den C64
Japan-Font für den C64 (bzw. als C128 ASC-Zeichensatz)

Japan-Font für den C128 (DIN)
Japan-Font für den C128 (DIN-Zeichensatz)

Veröffentlicht unter C128 | Schreib einen Kommentar

Diamond Dungeon

Auf der letzten HomeCon habe ich ein neues Projekt begonnen. Ein weiteres neben vielen, die fast allesamt unvollendet vor sich hin rotten. Insofern bin ich besser als Franz Schubert, der hatte ja nur eine einzige Unvollendete. Wie dem auch sei, ich hatte unlängst eine Inspiration durch das Spiel Labyrinth – Das Duell von Ravensburger. [Ein ganz, ganz entfernt ähnliches Labyrinthspiel hatte ich vor etwa 30 Jahren schon mal für meinen alten CBM-Rechner umsetzen wollen und ich würde mich nicht wundern, wenn in irgendeiner alten Krempelkiste noch ein paar Skizzen dazu herumlägen.]

Als erstes schwebte mir eine möglichst nahe Kopie des Labyrinth-Brettspiels vor, aber dazu hätte ich Hiresgrafiken benötigt und die dazu erforderlichen Datenmengen will ich aus einem guten Grund vermeiden. Zudem bin ich kein Pixelgenie und müsste diese Arbeiten „outsourcen“. Daher habe ich mir einen neuen „Handlungsrahmen“ ausgedacht und setz das ganze in einem japanischen Stil um. Manga liegt ja im Trend.

Diamond Dungeon Titel Girl (Draft)

Einen Arbeitstitel hat das ganze auch schon „Diamond Dungeon“. Wie der Zusatz zum Originalspiel „Das Duell“ schon vermuten läßt, handelt es sich um ein Spiel für 2-Spieler. Und genau hier kommt eine besondere Eigenschaft des C128 zum Tragen: Er kann zwei Bildschirme verwalten! Um den Duellanten ein ungestörtes Spiel zu ermöglichen, erhält jeder seinen eigenen Bildschirm. Im Grunde ist es wie ein 2-Personen-Netzwerkspiel auf einem Rechner. Ein Netzwerk wäre auch die einzige Möglichkeit, das Spiel auf einem C64 umzusetzen.

Da ich beide Bildschirme benötige und die Ansteuerung des 80-Zeichenbildschirms über den VDC ein echter Flaschenhals ist, wäre Hiresgrafik vieleicht ein Problem. Ich werde also mit einem geänderten Zeichensatz arbeiten. Um das Erscheinungsbild auf beiden Bildschirmen einheitlich zu halten, wird der VDC dabei auf 40-Zeichen-Betrieb gestellt. Leider scheint die C128-Emulation in VICE ein Problem mit dieser Betriebsart zu haben. Wieder ein Grund mehr, unbedingt das Originalgerät einzuschalten.

Bisher gibt es einen ersten Entwurf zum Titelbild (es basiert auf einer nach HiRes konvertierten Grafik eines unbekannten Manga-Künstlers; s.o.), eine vage Vorstellung vom Spielkonzept, ein ebenso vages Spielfeld, eine ungeprüfte Routine zur Feststellung der korrekten Verknüpfung von Labyrinthein- und -ausgang und einenTeil des Zeichensatzes. Dabei handelt es sich um den im Spiel verwendeten Japan-Font, den ich aus verschiedenen Vorlagen zusammenkomponiert habe.

Als Entwicklungsdauer setze ich mal 1 Jahr an, was für meine Verhältnisse ziemlich schnell wäre. Ich hoffe, es gibt genügend HomeCons dieses Jahr, damit ich dort die erforderliche Ruhe finde, um bei diesem Projekt voranzukommen.

Veröffentlicht unter C128, Soft | Ein Kommentar

C128-Halloween-MiniDemo

Beim Stöbern auf meiner Festplatte, bin ich vor geraumer Zeit über die 128’er aktuell-Archive gestolpert. Den wenigen verfügbaren Informationen zufolge, handelte es sich dabei um eine deutsche PD-Reihe. Gleich im ersten Archiv sprang mit das Programm „c128-halloween“ ins Auge. Das Ergebnis sieht man hier:

Animierter Kürbis auf einem C128
Der (animierte) Kürbis rollt auf dem C128 mit die Augen (VIC-Graphic)

Die Ausgaben 1 bis 9 und 14 bis 18 der 128’er aktuell sind auf einem kanadischen Server zum Download verfügbar. Falls noch jemand die Originaldisks bzw. Diskimages hat, oder eine der fehlenden Ausgaben sein Eigen nennt, möge er sich bitte melden.

Veröffentlicht unter C128, Soft | Ein Kommentar

C128 als Filmstar?

Die Kurhaus Production aus Baden-Baden dreht ihren ersten Langspielfilm für den Südwestrundfunk (SWR) in Karlsruhe und sucht für die im Jahr 1986 angesiedelte Geschichte noch Produkte aus dieser Zeit. Benötigt wird unter anderem ein betriebstüchtiger Commodore 128 nebst Zubehör.

Wer also im Raum Karlsruhe wohnt und sein Schmuckstück als Filmrequisite (leider nicht als Filmstar) über den Bildschirm flimmern sehen möchte, sollte sich bei den Filmemachern melden. Weitere Informationen gibt es auf ka-news.de oder life PR. Der Titel des Films: „U.F.O“. Geplante Drehzeit ist im Mai 2010.

Veröffentlicht unter C128 | Ein Kommentar

4k BASIC Compo (Forum64)

Heute endet die Einreichungsfrist für die 4k BASIC Compo im Forum64. Die Regeln: C64, Floppy 1541, Joysticks und maximal 4096 Bytes BASIC-Programm. Das seltsame bei diesen Wettbewerben ist, dass man erst nicht weiß, was man programmieren soll. Dann erscheinen 4096 Bytes doch recht viel (das will erstmal eingetippt werden). Und kurze Zeit später sucht man verzweifelt im Programm herum, wo man die paar noch zusätzlich benötigten Bytes einsparen könnte. Mal ganz zu schweigen davon, das völlig ungeklärt bleibt wo man die Zeit für das Programmieren hernehmen soll.

Ich habe es mir daher etwas leichter gemacht und aus meiner „Schatzkiste“ uralter Programme etwas ausgebuddelt, was ich vor Urzeiten für meinen CBM 4008 programmiert hatte. Ein bißchen Farbe reingeklatscht, ein wenig Optimierung im Programmablauf, ein paar Fehler eliminiert und fertig war Distichon 2009, mein Beitrag zu 4k Compo. Warum ich das Spiel Distichon genannt habe, weiß ich heute leider auch nicht mehr. Genausowenig kann ich mich erinnern, wo ich die Spielidee abgekupfert habe. 25 Jahre sind halt eine lange Zeit…

Die Spielregeln sind einfach und werden im Programm angezeigt. Ein Stapel Plättchen muß ungleichmäßig geteilt werden. Stapel mit einem oder zwei Plättchen werden daher gelöscht. Zwei Spieler (einer davon kann der Computer sein), ziehen abwechselnd. Wer den letzten Zug macht, hat gewonnen. Das ist alles.

Distichon (Multiplattformspiel)

Da das Spiel die erlaubten 4096 Bytes nicht ausfüllte, habe ich eine kleine Computer-Erkennungsroutine eingebaut. Dadurch ist das Programm auf folgenden Systemen lauffähig: C64 (Abbildung links oben), C128 [40-Zeichen-Modus] (rechts oben), C16, C116, Plus4 (links unten), PET 2001, CBM 3001 Series, CBM 4001 Series (rechts unten) und CBM 510. Wenn man das Spiel auf einem CBM 8001 Series laufen lassen möchte, muß zuvor mit dem Programm „CBM4032 ANY HZ“ eine 40-Zeichen Darstellung aktiviert werden. Alles was keinen 40-Zeichen-Bildschirm hat (z.B. CBM 6×0, CBM 7×0, VC 20 und KIM 1) wird vom Programm weder korrekt erkannt noch unterstützt.

Auf farbfähigen Systemen stehen vier Farbschemata zur Verfügung, die durch „Zufall“ selektiert werden. Nur „Classic Green“ und „Blue Ocean“ sehen auf einem Emulator immer gut aus. „Grey Malve“ gibt eigentlich nur auf einem Plus4 ein hübsches Bild, da hier andere Farben als auf einem C64 verfügbar sind. Das vierte Farbschema, „Red Lemmon“, ist seinerseits stark von der Monitoreinstellung bzw. im Emulator von der verwendeten Farbpalette abhängig. Das Ergebnis schwankt dabei zwischen ganz nett und ziemlich gruselig.

Da die alten CBM-Rechner keinen Verschiebelader haben, wurde das Programm mit der Startadresse $0401 gespeichert. Auf einem C64 muss es also mit LOAD "dateiname",8 und nicht mit LOAD "dateiname",8,1 geladen werden. Als weitere Besonderheit ist der Killer-Poke, der die Textausgabe auf PET und CBM-Rechnern mit alten Boards beschleunigt, zu erwähnt. Dieser wird auf einem CBM-System (nur) dann aktiviert, wenn der Rechner nicht als CBM 4001 Series erkannt wird. Sollte also jemand auf einem neuen Board ein altes CBM-Betriebssystem laufen haben, könnte es mit dem Bildschirm Probleme geben. Dafür wird jede Haftung ausgeschlossen.

Nachtrag 01.04.2009:
Download des Programms via Forum64

Veröffentlicht unter C128, C64, CBM, Compo | Ein Kommentar

Basic 7.0 One Liner Competition

Die Commodore 128 Basic 7.0 One Liner Competition 2008, initiiert von Commodore 128 Alive!, wird bis Mitte April verlängert. Damit steht noch ein guter Monat Zeit zur Verfügung, um eine möglichst geniale Programmzeile zu erzeugen und den Hauptgewinn (50 Australische Dollar) einzuheimsen.

Commodore 128 Alive!

Die ursprünglichen Regeln wurden noch etwas erweitert und es ist jetzt auch zulässig Assemblercode in die eine erlaubte BASIC-Zeile zu integrieren (z.B. über den Monitor des C128). Alle Einsendungen sind an landover (at) tpg.com.au zu richten.

Veröffentlicht unter C128, Compo | Ein Kommentar

Anhang C: Monitor

Bei der Übertragen des Bedienungshandbuchs zum C128 in das HTML-Format gibt es wieder einen kleinen Fortschritt. Der Anhang C: Maschinensprache-Monitor ist seit ein paar Tagen online.

Bei der Überarbeitung wurde offensichtlich, dass die Probleme, die man sich heutzutage durch Cut & Paste einhandelt – nämlich die kritiklose Übernahme alter Daten – schon damals existierten. Und dabei verstand man 1985 unter der Begriff Windows nur (i.d.R. viereckige) mit Glasscheiben verschlossene Löcher in Gebäuden und keinesfalls ein bis heute nicht ordentlich funktionierendes Betriebssystem für Computer.

Bei der Erstellung des Anhangs C wurde von Commodore auf die Beschreibungstexte eines Vorgängers des C128-Maschinensprache-Monitors zurückgegriffen, auf den Terminal Interface Monitor (TIM) der alten CBM-Rechner. Sowas ist ansich nicht verwerflich, doch bei den Anpassungen der Texte an die neue Version fehlte es dann an der erforderlichen Sorgfalt.

Belegt wird das durch diverse Artefakte (die in der Überarbeitung jetzt ausgemerzt wurden). Besonders deutlich wird es, wenn im Handbuch in den Beispielen ein Punkt (.) vor die Befehle und die Ausgabetexte des Monitors gesetzt wird. Der Punkt war das Prompt-Symbol des TIM. Der Monitor im C128 kennt jedoch gar kein Prompt und der Punkt wurde zum Assemblerbefehl. Ein weiteres Indiz ist die nahezu durchgängige Forderung, dass nur Hexadezimalzahlen eingegeben werden dürfen. Das stimmte für den TIM, der C128 kennt jedoch vier Präfixe für Zahlensysteme ($,+,&,%) und erlaubt die Zahlenangabe in jedem dieser Systeme.

CBM Monitor Registerinhalte

C128 Monitor Registerinhalte Bild oben: Hardcopy zum R-Befehl im Monitor (TIM) eines CBM 4032 (mit Angabe des IRQ)

Bild links: Hardcopy zum R-Befehl im Maschinensprache-Monitor des C128

Besonders lustig wird es beim R-Befehl, der die Registerinhalte anzeigt. Im original Beschreibungstext des C128-Handbuchs steht, dass auch der IRQ-Vektor angezeigt wird. Das stimmt für den TIM, ist für den C128-Monitor aber schlichtweg falsch (wie die Abbildungen oben belegen). Das wusste wohl auch derjenige, der das passende Beispiel zum R-Befehl hinzufügte. Hier findet sich – richtigerweise – keine Angabe zum IRQ-Vektor. Stattdessen wurde wieder ein (hier nicht hingehörender) Punkt vor den R-Befehl und die Ausgabedaten gesetzt. Ein wirklich korrektes Beispiel war wohl zuviel verlangt.

Wen wundert es da, dass im Handbuch die Möglichkeit der Umwandlung von Zahlen aus einem in ein anderes der vier unterstützten Zahlensysteme ganz unterschlagen wurde?

All das beweist uns: kritikloses Abtippen kann Cut & Paste perfekt ersetzen.

Veröffentlicht unter C128 | Ein Kommentar

C128 DIN-Tastatur

Bekanntlich kann man beim (deutschen) C128 mit der [ASCII/DIN]-Taste den Zeichensatz umstellen und statt des klobigen C64-Zeichensatzes erhält man dann einen filigraneren Zeichensatz (der an die alten CBM-Rechner erinnert) mit allen Umlauten und weiteren länderspezifischen Zeichen. Ein bekannter (und eher unerwünschter) Nebeneffekt ist z.B. der Ersatz des Klammeraffens (@) durch das eher nutzlose Paragraphenzeichen (§).

Neben den Zeichen ändert sich beim Umschalten auch die Tastaturbelegung, was unter anderem dazu führt, dass Y und Z dann wie bei einer deutschen Schreibmaschine angeordnet sind. Diese Mehrfachbelegung der Tasten in verschiedenen Modi wird durch bis zu 5 unterschiedliche Symbole unterstützt, die auf der Oberfläche und vorderen Seitenfläche der Tasten angebracht sind.

Die Symbole müssen folgende Kombinationen abdecken: Die normale Tastaturbelegung sowie Belegung mit [SHIFT], [CONTROL] oder [CBM] jeweils in Kombination mit Groß/Grafik- bzw. Klein/Groß-Schriftmodus und der speziellen ASCII/DIN-Umschaltung.

Anders als im „normalen“ (ASCII) Tastaturmodus, helfen im DIN-Modus die auf der Tastatur aufgedruckten Symbole nicht mehr weiter, wenn man die Belegung im Zusammenspiel mit der Commodore-Taste [CBM] benötigt. Hier war einfach kein Platz mehr frei.

C128 DIN-Tastatur

Deshalb gibt es im Bedienungshandbuch zum C128 einen Anhang D , der die speziellen Sonderzeichen und Funktionen, die über die Commodore-Taste im DIN-Modus erreichbar sind, abbildet. Wie nicht anders zu erwarten, enthält diese Abbildung im Handbuch Fehler und ist zudem unvollständig. Eine überarbeitete Version gibt es jetzt hier.

Veröffentlicht unter C128 | Ein Kommentar

ON ERROR GOTO …

Beim Übertragen der BASIC 7.0-Befehle aus dem Bedienungshandbuch zum C128 in ein HTML-Format, bin ich mal wieder auf all‘ die Fehler gestoßen, die sich bei Commodore eingeschlichen hatten. Nachfolgend habe ich mal die „schönsten“ zusammengestellt:

  • Zum Befehl DVERIFY gibt es folgendes (falsches) Beispiel:
    DVERIFY "MULT",D1,1
  • Die original Syntaxbeschreibung zum RENAME-Befehl liefert immer einen SYNTAX ERROR, wenn man versucht ein Laufwerk zu spezifizieren:
    RENAME Altname TO Neuname[,DLaufwerk][,UGerät]
  • Und im Text zur PRINT USING-Anweisung wurde behauptet, man könne die Parameter nicht nur mit einem Komma sondern auch mit einem Semicolon oder Leerzeichen trennen. Wer’s versucht, wird eines besseren belehrt.

Kleinere Ungenauigkeiten wie beim KEY-Befehl, um nur ein Beispiel von vielen zu nennen, sind zu verschmerzen. Die fehlende Erwähnung von relativen Koordinaten und Länge/Winkel-Angaben für die DRAW-Anweisung ist da schon ärgerlicher. Richtig gemein ist jedoch, das sowohl beim SYS-Befehl auf BASIC 2.0 verwiesen wird (obwohl der Befehl neue Parameter erhalten hatte und damit inkompatibel wurde) als auch bei der MID$-Funktion. Und so erfährt man im Handbuch leider auch nichts über die neue Möglichkeit, MID$ als Befehl nutzen zu können, um Teile einer Zeichenkette zu manipulieren.

Nachtrag 02.03.2009:  Eine korrekte Beschreibung des SYS-Befehls unter BASIC 7.0 wurde erstellt.

Veröffentlicht unter C128 | Ein Kommentar

C128 Handbuch

Das Bedienungshandbuch zum C128 ist eine durchaus brauchbare Quelle, um sich mit diesem Computer vertraut zu machen. Das gilt sowohl für die Erklärungen zu den BASIC-Befehlen, als auch bezüglich der internen Rechnerarchitektur. Auch der umfangreiche Anhang ist ein kleiner Schatz.

Da Papier weniger haltbar ist als Hardware (speziell wenn es sich um Handbücher handelt) und ein Emulator wie Vice nunmal ohne Handbücher bereitgestellt wird, benötigt der geneigte (neue) User andere Quellen, um sich die Geheimnisse seines Rechners zu erschließen. Im Netz bietet z.B. das Projekt iDOC= eine eText-Version des Handbuchs an.

Ich habe nun angefangen, erste Bruchstücke dieses Handbuchs in ein HTML-Format zu quetschen. Damit soll ein leichterer und besser lesbarer Zugang ermöglicht werden. Seit heute sind alle im Abschnitt 4.2 des Handbuchs aufgeführten Befehle des BASIC 7.0 online verfügbar. Auf weitere Informationen aus dem Bedienungshandbuch zum C128 und aus anderen Quellen kann über eine (bisher nur spärlich ausgebaute) zentrale Seite auf C128.Net zugegriffen werden.

Bedienungshandbuch zum C128 (zwei Versionen)

Das Handbuch existiert in mindestens zwei Versionen (links die ältere)

Veröffentlicht unter C128 | 3 Kommentare