Archiv der Kategorie: C128

4k Competition: letzter Monat!

Commodore128.org

Die Commodore 128 4k Game Coding Competition 2011 (siehe Ankündigung) läuft noch bis zum 1. April diesen Jahres. Und das Datum ist ernst gemeint. Wer noch mitmachen will, sollte eiligst seinen C128 entstauben und sich ein paar Tage oder auch Nächte mit Programmieren beschäftigen.

Bedauerlicherweise habe ich selber auch noch keine zwei Bytes zusammengestoppelt. Entweder scheiterten meine bisherigen Ideen an der 4k-Grenze oder an der Tatsache, dass die Programme auch in VICE lauffähig sein sollen, was bei der suboptimalen VDC-Emulation immer mal wieder zu unüberwindlichen Problemen führt. Und so langsam gehen mir nicht nur die (bisher unbrauchbaren) Ideen aus, sondern läuft mir auch noch die Zeit davon.

Veröffentlicht unter C128, Compo | Schreib einen Kommentar

C128 Handbuch: Kapitel 4

Vor ziemlich genau drei Jahren hatte ich damit begonnen, das C128-Handbuch in das HTML-Format zu überführen. Seit heute ist das komplette Kapitel 4: C128-Modus online. Wenn es in der Geschwindigkeit weitergeht, bin ich guter Hoffnung , mit diesem Projekt noch vor meiner Pensionierung fertig zu werden.
Wellenformen des SID-Bausteins
Neben einer Befehlsübersicht zum BASIC 7.0 bietet das Kapitel 4 eine Tabelle der Tastaturfunktionen, eine schöne Abhandlung über die Arbeit mit den VIC-Grafikbefehlen und eine Einführung zum Umgang mit Sound und Musik-Kommandos.

Veröffentlicht unter C128 | Schreib einen Kommentar

Konfetti 2.0

Nach 5 Jahren endlich ein Update, hier kommt: Konfetti 2.0! Noch immer gilt: Machen Sie sich Ihr eigenes elektronisches Konfetti. Werfen Sie Luftschlangen und lassen Sie die Welt ständig in einem neuen Licht erscheinen. Dieses Update bietet jetzt Konfetti in zwei Fallgeschwindigkeiten und mit Haufenbildung! So realitätsnah war elektronisches Konfetti noch nie!
Konfetti!

Das Programm auf dem D64-Image muss auf einem C64 mit LOAD“KONFETTI.BAS“,8 oder LOAD“*“,8 geladen werden (nicht mit „,8,1″), da C64 und C128 unterschiedliche Startadressen für Basicprogramme haben. Auf einem C128 (40-Zeichen-Modus) geht auch RUN“*“ oder DLOAD“*“. Mit [SPACE] wird der Farbwechsel des Hintergrunds aktiviert bzw. deaktiviert. Über die Taste [L] werden zusätzlich fliegende Luftschlangen aktiviert. Jede andere Taste stoppt die „Demo“. Helau!

Veröffentlicht unter C128, C64, Soft | Schreib einen Kommentar

C128 SID-Player (1)

Der C128 bietet zwar ein erweitertes BASIC 7.0 das (mit PLAY & SOUND) eine komfortable Programmierung des SID erlaubt, doch reicht das eben nur für einfache Melodien und Klänge. Richtige SID-Tunes abzuspielen, wie man sie von der High Voltage SID Collection (HVSC) kennt, ist jedoch nicht möglich, denn diese wurden ja auf einem C64 für den C64 erstellt und haben eine integrierte Abspielroutine.

Für mein derzeitiges Dauerprojekt hilft mir der übliche Hinweis: „willste SID-Musik, schalte einfach den C64-Modus an“ recht wenig. Ich brauche SID-Musik im C128-Modus! Bleibt die Option: selber machen! Damit ergeben sich gleich mehrere Probleme: Erstens gibt es kein geeginetes Tool um SID-Musik für den C128 zu erstellen; alles konzentriert sich auf den C64 (High Voltage Music Engine Collection) und der C128 Music Maker, falls er denn geeignet wäre, läßt sich im Web nicht aufspüren. Zweitens habe ich kein Talent als Komponist oder Musiker. Drittens keine Zeit, um mich da einzuarbeiten.

Diese Erkenntnisse vor Augen konnte es nur heißen: Alles zurück auf Start, die Situation neu analysieren! Ein SID-Tune liegt in der Regel (mit vielen Ausnahmen) ab $1000 im Speicher eines C64. Das ist bei einem Commodore 128 ein ziemlich blöder Platz, liegen hier doch nicht ganz unwichtige Systemvariable, die Daten der Funktionstastenbelegung und der DOS-Kommandopuffer. Frei verfügbar ist das RAM erst ab $1300.

In mein Programm bot sich der freie Bereich ab $2000 an und ein Programm von $1000 nach $2000 zu verschieben, erschien mir als ein lösbares Problem. Für die praktische Umsetzung suchte ich mir ein geeignetes SID-File entfernte den SID-Header änderte die Startadresse auf $2000 und korrigierte im Monitor alle Sprünge und Adressen von $1XXX zu $2XXX. Es gab dann noch ein paar Tabellen für indirekte Adressierungen, die ebenfalls angepasst werden mussten. Das ganze dauerte etwa zwei Stunden.

Als nächstes benötigte ich eine kleine Initialisierungsroutine für den im SID-File integrierten Player. Dazu modifizierte ich ein passendes Code-Beispiel von C64 Codebase. Neben den neuen Einsprungadressen musste ich dem C128 mitteilen, dass sein BASIC-IRQ, mit dem er neben PLAY und SOUND auch diverse SPRITE- und GRAPHIC-Befehle steuert, nun unerwünscht sei. Dies erledigte folgendes Code-Schnipsel:

lda #$ff
sta $d8 ; deaktiviert BASIC IRQ
lda #$c0
sta $0a04 ; deaktiviert VIC Updates

Die Stunde der Wahrheit rückte näher. Der modifizierte SID-File wurde nach $2000 geladen und die spezielle Initialisierungsroutine gestartet. Das Ergebnis war: Nix! Irgendwo in den Tiefen der Play-Routine mussten mir ein paar umzustellende Adressen entgangen sein. Die Vermutung, dass das Tabellen betraf, lag nahe. An dieser Stelle wurde mir klar, dass der Aufwand für die Umstellung eines SID-Tunes erheblich war und eine vollständige Code-Analyse erforderte. Sowas kann man einmal machen, aber da es jede Menge unterschiedlicher Play-Routinen in SID-Files gibt, würde diese Aufgabe für jedes File aufs Neue erforderlich sein und somit ein ziemlich mühseliges Unterfangen darstellen.

An dieser Stelle wurde klar: Es ist dringend geboten eine bessere, allgemeingültige Lösung anzustreben. Die könnte in einem universellen Code-Relocator (ich höre schon die Leser lachen) oder einem grundsätzlich anderen Problemlösungsansatz bestehen. Doch dazu später mehr.

Veröffentlicht unter C128, Music | Schreib einen Kommentar

Ein TFT am C128

Vor einiger Zeit hatte ich versucht das RGB-Signal meines C128 (80-Zeichen-Modus) in ein VGA-Signal zu wandeln, um ein TFT als Bildschirm nutzen zu können. Mein 1901-Monitor funktioniert zwar noch (und es gibt nichts besseres für den C128), aber er braucht leider mehr Platz, als auf meinem Computertisch verfügbar ist. Der von mir auf dem letzten Treffen der GIG-Süd gebastelte RGBI-zu-RGBA-Konverter erfüllte leider nicht die in ihn gesetzten Erwartungen und mein schöner RGB-VGA-Wandler zeigte kein Bild, nicht einmal ein paar verrauschte Pixel, auf dem angeschlossenen VGA-Bildschirm.

RGBI zu CGA - Umschlag

Doch vor einigen Tagen kam ein Päckchen aus Amerika (siehe oben) und nun bin ich glücklicher Besitzer eines schönen kleinen Stücks Hardware, dass dieses Problem beheben wird. Quell des Glücks war das Forum auf Commodore 128 Alive. Dort wird unter der Bezeichnung Commodore 128 Video DAC ein spezieller RGBI-CGA-Wandler angeboten, der die korrekte Pegelwandlung durchführt, um mit Hilfe des schon oben erwähnten RGB-VGA-Wandlers die Videosignale des VDC auf einen VGA-Monitor zur Anzeige zu bringen. Die lange Vorgeschichte bis zur Entstehung dieses von vielen herbeigesehnten Elektronikwunders kann man ebenfalls im Forum nachlesen.

RGBI zu CGA - Zwei Boards

Ein fertig aufgebautes Board kostet $56.00 und der Zoll genehmigt sich darauf noch 19% Mehrwertsteuer, doch das ist die Sache wert. Zwar hatte ich persönlich noch keine Gelegenheit zum Lötkolben zu greifen und den Anschluss zwischen diesem Adapter und dem VGA-Konverter herzustellen, doch Dirk Vroomen hat das Zusammenspiel von C128, Video DAC, CGA-VGA-Konverter und TFT-Monitor bereits getestet und auch ein schönes Bildschirmfoto gepostet, dass ich hier der Bequemlichkeit halber spiegele. Auch tokra zeigt sich begeistert und liefert gleich einen Link auf Fotos von seiner Projektorleinwand. Und ja, das was der Beamer da zeigt, sind alles vom VDC erzeugte Bilder!

Veröffentlicht unter C128, Hard | 7 Kommentare

C128 4k Game Coding Competition 2011!

Commodore128.org

Im Forum auf commodore128.org wurde die Commodore 128 4k Game Coding Competition 2011 ausgerufen. Die Ankündigung erfolgte bereits im Juli, die Compo startet jedoch offiziell erst am 29. Oktober 2011 und läuft bis zum 1. April 2012. Wer mitmachen will, sollte daher mal seinen C128 ausgraben oder VICE starten und bald in die Tasten hauen.

Ein paar Regeln gibt es auch: Natürlich dürfen die Programme nicht größer als 4096 Bytes (4kb) sein, sie müssen auf einem C128 und auf VICE lauffähig sein (wobei letzteres eine erhebliche Einschränkung darstellt, da die Emulation, speziell des VDCs, noch immer sehr zu wünschen übrig läßt), die Programme dürfen für den 40 oder 80-Zeichen Modus sein und alles läuft unter GPL, so dass auch der jeweilige Quellcode mitgeliefert werden muss. Akzeptiert werden Einsendungen in den Formaten: D81, D64 oder PRG (Übersendung als geZIPte-Dateien per e-Mail an: landover (at) tpg.com.au).

Auch diesmal gibt es wieder was zu gewinnen. Der erste Preis sind AU$ 100, der zweite AU$ 50 und der Drittplazierte kann immerhin noch AU$ 25 bekommen. Weitere Details können der Ankündigungsseite entnommen werden.

Veröffentlicht unter C128, Compo | Schreib einen Kommentar

RGB2VGA-Converter

Vor einigen Jahren hatte ich hier schon einmal über einen RGB zu VGA Konverter für den C128 berichtet. Nun habe ich mich entschlossen eigene Experimente durchzuführen und mir das „CGA/EGA/YUV to VGA Arcade HD-Converter PCB“ (Modell GBS-8220) bei JammaBoards (USA) besorgt. Bei derzeit nur $39,95 plus $8.57 Versand (ich habe die günstigste Variante ohne Versicherung genommen) kann man schon mal einen Fehlkauf riskieren. Nach zweieinhalb Wochen, am Freitag, ist das ersehnte Päckchen angekommen.

RGB2VGA-Konverter

Das Board kommt, wer hätte das gedacht, aus China und der Hersteller Gonbes bietet noch weitere Konvertertypen an. Das mitgelieferte Manual ist ziemlich chinesisch und der englische Teil ist nicht aussagekräftiger als die Website von JammaBoards.

Als erstes werde ich mir wohl einen RGBI zu RGBA-Konverter basteln müssen (da gab es ja mal eine Anleitung auf der Emuecke; leider ist dieser Text noch nicht wieder online). Tja, und sollten meine C128-Experimente mit dem Konverter scheitern, dann kann ich darüber ja immer noch meine Wii an einen VGA-Monitor anklemmen…

Veröffentlicht unter C128 | 10 Kommentare

NUN-Joy: Nunchuk als Joystick

Nachdem ich Ende letzten Jahres im Forum64 von einem käuflichen Adapter gelesen hatte, der es erlaubt einen Wii™ Nunchuk® als Joystick zu nutzen, konnte ich nicht umhin, diesen umgehend zu bestellen. Jeff Ledger hatte ein vergleichbares Interface bereits Anfang 2009 konstruiert [Blog-Link] und schon damals hatte mich die Vorstellung, ein C64-Spiel durch Herumgefuchtel in der Luft zu steuern, stark fasziniert. Seit heute nun sind zwei Adapterplatinen in meinem Besitz.

NUN-Joy Joystick-Adapter

Der als NUN-Joy bezeichnete Joystick-Adapter konvertiert die Signale eines Wii™ Nunchuk® -Controllers in die eines „normalen“ Joysticks für Homecomputer. Dabei kann er für die Richtungen entweder die Signale des Steuerknüppels verwenden oder alternativ die der Neigungssensoren. Der NUN-Joy ist mit solchen Joysticks für Konsolen und Rechnern kompatibel, die über einen neunpoligen SUB-D Stecker angeschlossen werden z.B. Atari , VC20 , C64 , C128 , Amiga , CPC usw.

Dieses Wunderwerk der Mikroelektronik ist für 30 Euro über die Internetseiten des ABBUC (ATARI Bit Byter User Club e.V.) beim HardwareDoc zu erhalten. Dort finden sich auch weitere Detailinformationen.

Veröffentlicht unter C128, C64, Hard | Ein Kommentar

CBM-Command 2.0 Beta 2 erschienen

Pünktlich zum Jahresanfang hat Payton Byrd ein Bugfix der ersten Beta-Version des Programms CBM-Command 2.0 ins Netz gestellt. CBM-Command ist, wie der Name schon nahe legt, ein dem klassischen Vorbild „Norton Commander“ nachempfundener Dateimanager für diverse CBM-Speichermedien (1541, 1571, 1581, CMD, uIEC/SD etc.) und verschiedene Commodore-Rechnertypen (VC20, C64, C128, Plus/4). Dateimanager bzw. -browser gibt es mehrere für den C64. Erwähnenswert sind hier DraCopy/DraBrowse (für verschiedene CBM-Systeme) und natürlich der elegante Fibr (nur für C64). Letzterer wird leider derzeit nicht weiterentwickelt. DraCopy und CBM-Command haben einen vergleichbaren Funktionsumfang und wurden beide mit CC65 entwickelt, was gewisse Einschränkungen bei der Geschwindigkeit (da lacht der SuperCPU-Besitzer) aber auch flexible Anpassung an diverse Computermodelle zur Folge hat.

CBM-Command - Titelbild am C64

Die Einschaltmeldung von CBM-Command beim C64

CBM-Command - Titelbild am C128 Die Einschaltmeldung von CBM-Command beim C128: Das Programm startet immer (und nur) im 80-Zeichen-Modus (die Abbildung zeigt nur die linke Bildschirmhälfte)

CBM-Command verfügt über die üblichen Funktionen zum Umbenennen und Löschen von Files sowie wie zum DOS-Kommandos senden. Beim Löschen des aktuellen Files wäre es hilfreich, wenn dessen Dateiname zur Sicherheit nochmal in der Sicherheitsabfrage auftauchen würde, doch das ist nicht der Fall. Immerhin gibt es eine Sicherheitsabfrage. Diese entfällt, wenn man mehrere markierte Dateien löscht – ups!

Dateimanager CBM-Command (C128-Version) CBM-Command auf dem C128: Das Programm zeigt die Dateien von zwei Laufwerken an. Das Löschen eines Files wird mit einer Sicherheitsabfrage verifiziert

CBM-Command kann mit allen drei klassischen Disk-Images (D64, D71, D81) umgehen, Textdateien anzeigen, in Unterverzeichnisse (Subdirectorys) und Images hineingehen und Dateien kopieren. Dabei werden jetzt auch REL-Dateien berücksichtigt.

Insgesamt ein nicht allzu fixes, schlichtes aber flexibles und erfreulich nützliches Tool. Aktuelle Entwicklungen können auf Commodore 128 & PET alive nachverfolgt werden.

Veröffentlicht unter C128, C64, Soft | Schreib einen Kommentar

Ein Osterei im Juni!

Dass auch der C128 über ein Osterei (Easter Egg) verfügt, ist eine altbekannte Tatsache [z.B. hier oder da nachzulesen] und ich hatte deshalb auch nie-nicht-niemals vor, die Sache mit dem

SYS 32800,123,45,6

hier im Blog auch nur am Rande zu erwähnen. Doch nun muss ich schon zum zweiten Mal mit diesem Grundsatz brechen (hier war es das erste Mal).

Wie LokalHorst im Forum auf Commodore 128 Alive! berichtet, ist es ihm gelungen, ein weiteres Easter Egg und seine Aktivierung zu entdecken. Das ist nach so vielen Jahren schon eine kleine Sensation.

Easter Egg in CP/M mode (Z80 Rom) [Bild: LokalHorst]

Das Osterei verbirgt sich im wenig beachteten Z80-ROM des C128 und Lokal Horst schreibt [Easter Egg in CP/M mode (Z80 Rom)]: „Während der Disassembling des Z80-ROMs fand ich etwas ähnliches {Anm.: etwas ähnliches wie das oben beschriebene Esaster Egg} auch im CP/M. Man kann es mit der folgenden Tastensequenz aktivieren:

<ESC>=88<ESC>e<RETURN>

Die Aktivierung ist in der ROM-BIOS-Funktion „Insert-Line“ versteckt.

Veröffentlicht unter C128 | Ein Kommentar