mumpitz

Ein Fall für den Software-Restaurator

In der Gazette 1/2000 bot STRESSIE (Rolf Knabe, Friedrich-Ebert-Straße 3a, 41539 Dormagen) für 10 Mark eine CDR an, auf der die Public-Domain-Sammlung für den C64/128 von Matthias Matting (MasterMMsoft Dresden) in Form von D64-Diskettenabbildern gesammelt ist. Bei der Durchsicht dieser Scheibe stieß ich auf ein interessantes Programm aus dem Jahre 1997.
SIDPLAYER zum Abspielen der C64-Musikdateien gibt es für die meisten 16- und 32-Bit-Systeme, auch das MOD-Format des Amiga wird von Atari ST- oder PC-Programmen unterstützt. MOD-Dateien lassen sich aber auch auf dem C64 oder C128 abspielen. Leider wurden die Abbilder C208 und C209, die die Programme dafür enthalten, von vergurkten Disketten gefertigt.
Von diesen gibt es einen ganzen Haufen; ein Idiot hat da Dateien nach einem falschen Protokoll aus dem Netz gesaugt: Sie wurden mit Header, aber mit ursprünglicher Dateigröße abgespeichert, so dass der tatsächliche Dateibeginn mit jeder Datei weiter nach hinten wandert.

modplay128

   << STUDIO38.SFX >>
  

So sieht ein Datei-Vorspann mit dem Programmnamen aus. Im unteren Beispiel ist sogar noch der Server eingetragen, der die Dateien übermittelte.

   .UNI-LINZ.AC.AT
<< shados >>

Bei der letzten Datei auf einer Diskettenseite beißt sich die Katze in den Schwanz: Statt des richtigen Dateiendes findet man noch einmal die erste Datei; beim Einzel-Kopieren wird diese Datei stets länger als im Directory angegeben. Nur diese Datei mit dem (bzw. ohne) abgebissenen Schwanz ist verloren, alle anderen lassen sich retten, indem man sie aneinander klebt und die passenden Stücke wieder ausschneidet.

MP64

BAD_DISK Links: Das typische Directory einer unbrauchbaren Diskette im Star Commander. Die letzte Datei konnte nicht mehr geschlossen werden, da sie wegen ihrer Verknüpfung mit der großen ersten nicht mehr total auf die Diskette passte.

Mit einem Directory-Lister, der die Startadressen ausgibt, dem BLOAD-Befehl und dem Systemmonitor ließe sich dies auch auf dem C128 bewerkstelligen; da ich nicht vergnügungssüchtig bin, zog ich die Arbeit mit DEBUG auf dem PC vor, was auch noch Stunden dauerte.

treiber Den letzten C128-Treiber (8 bit pulse width modulation), der auf der Diskette fehlte, musste ich erst aus dem mitgelieferten Quelltext assemblieren lassen.

Glücklicherweise gibt es eine einfache und eine kompilierte Version des Basic-Hauptprogramms der 128er-Version, so dass die Unvollständigkeit der einfachen Version nicht ins Gewicht fiel. Die beschädigte Lautstärken-Tabelle PM.MONO USER.T ergänzte ich aus der Tabelle PM.MONO 8BIT.T, die sich nur in den ersten zwei Kilobyte unterschied.

Bei aufmerksamerer Lektüre des README hätte ich mir die Arbeit mit der C64-Version des Modplayers auf Abbild 2551 gespart. Diese benötigt nämlich zusätzlich zur REU eine Super-CPU. Dafür unterstützt sie auch einen Stereo-SID und ermöglicht Ausgabe-Raten um 42KHz, während die C128-Version zwischen 8KHz und 12 KHz arbeitet.

MP64MENU

killing Diesen Bildschirm zeigt Modplay 128 beim Abspielen eines Moduls. Leider haben nicht bei allen MODs die Samples Namen; viele Angeber bringen dort Greetinx oder Gelaber unter. Modplay verarbeitet nur Module mit vier Spuren, welche mit acht oder mehr habe ich nicht getestet. Man kann sich auch einzelne Samples ausgeben lassen.

Modplay fängt nur wenige Fehler ab: So überprüft es nicht, ob eine REU angeschlossen ist und spielt auch Daten aus einer nicht vorhandenen ab. Bei einem Lesefehler der Floppystation werden die Daten munter weiter in die Speicherweiterung geschaufelt.
Amiga-Module können recht umfangreich werden, wenn sie mit vielen Samples bestückt sind. Als Speichermedium ist daher eine 3,5"-Floppy wie die 1581 zu empfehlen, die außerdem schneller als die 5,25"-Laufwerke ist. Kopiert man mit dem Big Blue Reader 128 MODs, die größer als 64 KB sind, sollte man vorher eine Speichererweiterung entfernen !

Mit einer 1571 als Zwischenspeicher kann man maximal 319 KB große Dateien von DOS-formatierten Disketten ziehen. Mit dem Star Commander lässt sich aber auch direkt auf eine am PC angeschlossene 1581 speichern; das falsche Diskettenlabel irritiert nur.


Nun kommt's ganz hart

Ein Userport-Ausgabegerät für MODPLAY

Andere Leute schreiben sich Steuerpro- gramme ("Treiber"), um (neue) Geräte an einem bestimmten Rechner oder mit einem bestimmten Betriebssystem nutzen zu können. Ich bastele mir lieber die Geräte zu schon vorhandenen Treibern. Durch Analyse des Quelltexts für den DigiMAX-Treiber ermittelte ich das Funktionsprinzip dieses Geräts; es handelt sich um eine Kombination von vier 8Bit-Digital-Analog-Wandlern. Versuchshalber baute ich erst eine Sparversion, bei der jeweils zwei Spuren des Amiga-Moduls über einen Wandler ausgegeben werden. Mit gewissen Einschränkungen lässt sich auch damit eine passable Klangqualität erreichen; auf jeden Fall ist sie besser als bei der Ausgabe über den SID. Im Mono-Betrieb gibt es keinen Unterschied zu der Version mit vier D/A-Wandlern, da hier der Treiber die vier Spuren zu einer mischt.

Unten findet man den Schaltplan des Digital-Teils der Version mit zwei D/A-Wandlern. Diese bestehen aus einem 8Bit-Register mit Widerständen an den Ausgängen. Von Bit zu Bit verdoppelt sich der Wert des Widerstands; mangels passender Exemplare muss man die meisten aus zwei Bauteilen zusammensetzen. Über einen Entkopplungs-Kondensator gelangt die durch das Treiberprogramm mittels des Wandlers erzeugte Wechselspannung zum Operationsverstärker für den jeweiligen Kanal.

PA2 (Userport-Anschluss M) schaltet zwischen beiden Registern um; wenn PC2 (Anschluss 8) low wird,werden die über Port B der CIA ausgegebenen Spurdaten in das gerade angewählte Register übernommen. Indem PA2 doppelt invertiert auch an den Output-Enable-Anschluss beider Register gelegt wird, erreicht man eine ausgewogene Lautstärke der beiden Spuren pro Register. Legt man OE auf GND (wie bei der Vier-Wandler-Version erforderlich), ist die zweite Spur pro Kanal im Verhältnis zur ersten stets etwas zu laut.

Spur PA3 PA2
1 Links 1 0
2 Rechts 1 1
3 Rechts 0 0
4 Links 0 1

74259

Zur Auswahl der vier Wandler dienen die am Userport verfügbaren Anschlüsse von Port  der CIA, PA2 (M) und PA3 (9, wird sonst als SER. ATN IN benutzt). Bei Verwendung von nur zwei Registern muss man zwangsläufig eine rechte Spur mit einer linken mischen. Viele Tests zeigten, dass mit PA2 als Umschalter der Stereo-Effekt bei den meisten Stücken besser zur Geltung kommt.

Nur der Chip 74(LS)259 ermöglicht die Anwahl von vier Registern ohne zusätzliche Gatter. (Die Taktanschlüsse der Register übernehmen die Daten bei high-Pegel, die Ausgänge aller anderen Dekoder-Chips sind jedoch low-aktiv.) Beim 74259 lässt sich die Polarität des aktiven Ausgangs am D- Eingang einstellen.

DIGIMAX2

Vorseite: Der Analog-Teil zur Verstärkung der Wandler-Impulse. Diese werden auf die nichtinvertierenden Eingänge eines Zweifach-Operationsverstärkers geführt. Der 3,3nF-Kondensator soll das durch Hard- und Software erzeugte Rauschen wegfiltern; je größer seine Kapazität ist, umso mehr Höhen verschwinden. Durch die 100k+10k-Widerstände ergibt sich eine elffache Verstärkung. Die Ausgangsignale kann man über 47uF-Elkos an eine Stereo-Klinkenbuchse legen. Der benutzte Operationsverstärker kommt mit einer einfachen Spannungsversorgung aus. Die maximal zulässige Spannung von 32Volt baut eine Spannungsvervierfacher-Kaskade auf, die von der 9V-Wechselspannung am Userport gespeist wird. Als Dioden kann man den Standardtyp 1N4148 benutzen. Mit einer 20V-Z-Diode wird ein 12Volt-Festspannungsregler zum 32Volt-Regler umfunktioniert.

Der OP LM358 wird auch unter folgenden Typenbezeichnungen angeboten: CA 358, LT 1013, TA 75358. Ersatzweise läßt sich auch ein LM 392 benutzen.

Ähnliche Schaltungen gibt es auch für den Druckerport eines PCs. Die hier vorgeführte lässt sich leicht zur Verwendung an anderen Heimrechnern abwandeln. Die aufwendige Bastelei wird durch interessante Hörerlebnisse belohnt werden !

DIGIMONO


Demnächst auf dem Markt: Pokémon - die Missions-Edition

GEIST

Pokemon-Figuren haben "christliche Parallelen"

London (dpa) - Die anglikanische Kirche in Großbritannien hat eine biblische Botschaft in den Pokemon-Figuren entdeckt, den derzeit gefragtesten Helden im Kinderzimmer. Die japanischen Zeichentricktierchen streiten demnach gegen teuflische Kräfte, lieben einander, opfern sich für ihren Nächsten und erlösen sich von dem Bösen. Wo der Laie nur Action und Krieg zu erkennen vermag, sieht Dr. Anne Richards, Theologin der Missionsabteilung der Church of Engalnd, ein Ringen um fundamentale Fragen nach Sinn und Sein: "Was bin ich? Warum bin ich hier?" Richards hatte von der Kirche den Auftrag bekommen zu prüfen, ob die Pokemon-Geschichten bei der Missionsarbeit verwendet werden könnten. "Zuerst fand ich das sehr schwer", gab sie im Guardian zu. Doch dann hätten sich ihr "nahe liegende christliche Parallelen" erschlossen.
Aus: SZ vom 10./11./12. Juni 2000 (Pfingsten), S. 14

Mumpitz als Heft gibt es monatlich bei

Hans-Christof Tuchen
Lotzestraße 10
12205 Berlin

Zurück