Nicht ohne Grund wurde der C64 über vier
Millionen mal verkauft, denn der Rechner konnte noch weit mehr hergeben,
als sein Betriebssystem versprach! Das entdeckten dann auch Grafiker, Musiker
und Demoprogrammierer: Videochip, SID- und I/O-Register wurden zweckentfremdet,
um unglaubliche Grafikeffekte (bis zu 256 Farben), Floppyladezeiten (25mal
schneller als das Betriebssystem!!) und Samplemusik (10bit PCM, mehrstimmig)
hervorzuzaubern. Der dafür notwendige Assemblercode war dann nur noch
für Insider lesbar, und die Grafik- und Musikdaten breiteten sich
über den gesamten 64k-Speicher aus. So blieb den Programmierern am
Ende kaum noch ein Bit für ein Programm übrig, was die Sache
- in Hinblick auf den zu erwartenden Erfolg -
erst richtig reizvoll machte!
In Kontakt mit der "Demoszene" kam ich 1993, wo
ich der Demogruppe REFLEX als Programmierer
beitrat. Unsere Gruppe bestand mal aus mehr, mal aus weniger vielen Graphikern
(Felidae, PVT, Hogan), Musikern (PVCF, Praiser), Programmierern (Guru,
Quiss, Warp8, Adder,
Jim Jack, Zorc=ich) und Swappern (Happymaker)
- aus Deutschland (Dresden, München), Polen, Finnland, Dänemark.
Partyplace in Fredericia
Fanta, Earthquake, HLSP, Acidchild, Sebastian,
Syndrom, Iceman, Felidae
Demoprogrammierung ist eine echte Herausforderung, weil offen für jede Art der Kreativität - sei es programmtechnisch, grafisch, musikalisch oder präsentationsmäßig. Vergleichbar ist ein Demo mit einem Musikvideo, bei dem verschiedene Graphikeffekte zu passender Musik gezeigt werden.
Daß
sich viele Menschen einer solchen Herausforderung stellen wollten, sah
man z.B. bei den alljährlich stattfindenden Wettbewerben bei Computerparties
wie "THE PARTY" in Herning und Fredericia (Dänemark), immer zwischen
Weihnachten und Neujahr.
Unter
unserer Demogruppe REFLEX entstanden bis Ende 1997 zehn Demos. Vier davon
gewannen die Siegerprämie von einigen 100$, was natürlich Anreiz
war, diesem Hobby treu zu bleiben!
Preisvergabe Nine / Reflex
In
den letzten Jahren verdrängte dann nach und nach der PC-Markt die
Heimcomputer wie den C64. Als Kultobjekt durfte er natürlich auf keiner
guten Computerparty fehlen, geriet aber seitdem mehr und mehr in
Vergessenheit - was der Grund für die Auflösung unserer Demogruppe
war.
Nach Programmierung eines Texttafelprogramms für
einen Regionalfernsehsender - noch auf dem C64 - habe ich seit 1997 kleinere
Sachen wie ein Morphingprogramm (Informatikbeleg, links) und Graphikeffekte
programmiert. Nebenbei verdiene ich mir zur Zeit etwas mit der Programmierung
von Mikrocontrollern dazu - an der Uni und an zwei kleinen Dresdner Firmen.
Programmieren macht einem entweder Spaß oder nicht, im Informatikstudium
wäre mir aber sicher der Spaß daran vergangen.
Demoprogrammierung in der heutigen Zeit sieht etwas anders aus: Musik- und Graphikeffektprogrammierung werden durch Hochsprachen und Programminteraktionen sehr gut unterstützt. Wie heutzutage wer was wohin in den Speicher schreibt und wie ein Programm abgearbeitet wird, ist Sache des Betriebssystems. Laufzeitoptimierungen sind oft unnötig, Formeln können direkt aus dem Mathebuch im Hochsprachencompiler eingetippt werden. Komplexe Ideen lassen sich einfacher und schneller umsetzen, das Denken über Programmoptimierung wird heute oftmals von der rasanten Entwicklung immer schnellerer Prozessoren und einem scheinbar unendlichem Speicherplatz übernommen.
"Nachteil"
ist, daß der früher vorhandene Reiz fehlt, ein System bis an
seine bekannten Grenzen auszuschöpfen, weil sich diese heute ständig
ändern und immer schwerer abschätzbar sind. Viele Effekte, die
vor einigen Jahren flüssig liefen, ruckeln heute oftmals, obwohl die
Rechner immer schneller geworden sind. Grund dafür ist meiner Meinung
nach die lieblose Programmierung, weil fast jeder nur noch der besten,
schnellsten und komplexesten Hard- und Software hinterherjagt "muß",
anstatt sich mal Zeit für die Umsetzung eigener Ideen und die notwendige
Einarbeitung in ein Thema oder Programm zu nehmen. Bleibt also nur zu hoffen,
daß endlich mal ein Befehl der Marke "IN AX, IDEE" - Befehl erfunden
wird, oder ?
eigene Projekte
C64 (6510):
Basic: Druckerprogramme, Sprite-/Schriftsatzeditoren,
Spiele, etc. (1988-1992)
Assembler: Co-Design und Programmierung von sechs
Trackmo-Demos (1993-97),
zweistimmiger Sampletracker (1993-95), Packprogramme
(1996-97), IRQ-Floppybeschleuniger (1996), Texttafelprogramm für Regionalfernsehsender
(1998), ...
PC (486/K6):
C: Informatik-Beleg: Morphingprogramm (1997);
Felddarstellungsprogramm (1998)
Assembler+C: 2D/3D-Grafikeffekte (1997-1999)
Mikrocontroller (80C196KC, PIC16C76, PIC16F873/76,
8051/AN2131QC):
Assembler: Umsetzung einiger mikrocontrollergesteuerter
Regelungs- und Sensorikaufgaben sowie Programmierung von RS485-, RS232-
und USB-Schnittstellen (1998-2000)
[Listings+Downloads+Taktdiagramme]