Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

M066
KLANG

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für Kleincomputer M066 KLANG

  • Seite 1 M066 KLANG...
  • Seite 2: Neuentwicklung Des Moduls

    Neuentwicklung des Moduls M066 KLANG für den KC85/2-5 Lassen Sie sich überraschen und gehen einmal zur hinteren Umschlagsinnenseite...
  • Seite 3: Beschreibung Zu M066 Klang

    Beschreibung zu M066 KLANG Rolf Weidlich / René Nitzsche Sven Haubold / Mario Leubner...
  • Seite 4 Herausgeber: René Nitzsche im Auftrag des KC-Clubs Autoren: Rolf Weidlich, René Nitzsche Gestaltung und Layout: René Nitzsche Fotos und Grafiken: Rolf Weidlich, René Nitzsche Der Vertrieb dieser Druckschrift erfolgt ausschließlich durch Herausgeber. Ohne Genehmigung des Herausgebers ist es nicht gestattet, das Buch oder Teile daraus nachzudrucken oder zu vervielfältigen.
  • Seite 5: Inhaltsverzeichnis

    M066 – KLANG – Inhaltsverzeichnis Vorwort ....................6 Hinweise zu dieser Dokumentation ..........6 Danksagungen ................7 Einleitung ....................8 Kurzübersicht ................8 Historie ..................8 Modulhandhabung ................10 Stecken und Entfernen des Moduls ..........10 Modulkennung und Betriebszustände ........11 3.2.1 Modulkennung ................
  • Seite 6 M066 – KLANG Entwicklung, Aufbau und Inbetriebnahme .......... 27 Modulentwicklung ............... 27 Aufbauhinweise ................30 Inbetriebnahme und Benutzung des M066 ......... 33 5.3.1 Software für das M066 ............33 5.3.1.1 Einzeltonprogrammierung ..........33 5.3.1.2 AY-3-8910-Sounddemo ..........35 5.3.1.3 Selbstabspielende Musik ..........37 5.3.2 Universaler AY-Player.............
  • Seite 7 M066 – KLANG – Anlage F – Quellenangaben und Links ..........67 13.1 Quellen ..................67 13.2 Links .................... 67 Anlage G – KC85/x-Systeme im Test ..........69 14.1 KC85/2 (CAOS 2.2, 16kB Grund-RAM) ........69 14.2 KC85/3 (CAOS 3.1, 16kB Grund-RAM) ........69 14.3 KC85/4 (CAOS 4.2) ..............
  • Seite 8: Vorwort

    Töne und Lieder erzeugen ließen - einen programmierbaren Klanggenerator (englische Abk. PSG). Dieser PSG wurde 1978 von der Firma General Instrument entwickelt. Mit der Neuentwicklung eines Moduls, des M066 KLANG, kann nun auch die KC85-Gemeinde diesen Klang genießen. Hinzu...
  • Seite 9: Danksagungen

    M066 – KLANG – Die Programmkodebeispiele in Assemblersprache entsprechen der ASide- Assembler-Syntax. Alle anderen Beispiele verwenden entweder die Basic- Syntax des KC85-Interpreters oder des Compilers des Emulators JKCEMU. Sämtliche Beispiele stammen unverändert von Rolf Weidlich. Die Bildschirmfotos entstanden größtenteils mit dem Emulator JKCEMU Querverweise in diesem Handbuch sind ebenso wie Internetlinks in blauer Schriftfarbe und unterstrichen dargestellt.
  • Seite 10: Einleitung

    Die Basis des Moduls bildet ein sogenannter "programmable sound generator", ein PSG z.B. des Typs AY-3-8910. Die Grundschaltung basiert auf dem Soundmodul 2 für den NDR-Kleincomputer (NKC). Im Laufe des Projektes wurde die Schaltung sehr stark modifiziert und erweitert und an die Bedürfnisse des KC85 angepaßt.
  • Seite 11 M066 – KLANG – Zitat/Anfang Für unseren KC bricht demnächst ein neues Zeitalter an, in dem es heißt: "Es werde Sound!". In unserer Gruppe wird mitlerweile kräftig an einem Soundmodul gebastelt. Das Grundkonzept steht, hardwaremäßig sind wir auch schon am Aufbau und die Software soll auch nicht mehr das Problem numero uno sein.
  • Seite 12: Modulhandhabung

    M066 – KLANG 3 Modulhandhabung 3.1 Stecken und Entfernen des Moduls Das M066 – KLANG kann prinzipiell in jedem Modulsteckplatz betrieben werden. Jedoch dabei Modulpriorität gewählten Systemkonfiguration berücksichtigen. sind weiterhin nachfolgenden Informationen unter Kapitel "4.2 Systemkonfiguration" aufgeführten Hinweise zu beachten. Die Modulprioritätskette muß...
  • Seite 13: Modulkennung Und Betriebszustände

    M066 – KLANG – Zum Entfernen des Moduls aus dem System sind folgende Schritte notwendig: a) Den Computer bzw. Aufsatz ausschalten. b) Den linken und rechten Zeigefinger unter den Modulkopf legen und mit den Daumen die seitlich am Modul befindlichen Hebel gleichzeitig nach unten drücken.
  • Seite 14: Betriebszustände

    M066 – KLANG Das Kennbyte kann über den Befehl SWITCH und die Angabe der Modulsteckplatzadresse bzw. über das entsprechende Betriebssystem- Unterprogramm (vgl. Systemunterlagen KC 85) gelesen werden, was folgendes Beispiel zeigt. Beispiel: Das Modul steckt im Schacht 8, das Kennbyte soll gelesen werden. Es ist einzugeben: SWITCH 8 Nach Drücken der ENTER-Taste erscheint folgende Information auf dem...
  • Seite 15: Steuerbytedefinition

    M066 – KLANG – Aus diesem Grund ist es auch nicht sinnvoll, wenngleich es möglich ist, zwei M066 im System zu betreiben, da nur das höchstpriorisierte Modul verwendet werden kann. 3.2.3 Steuerbytedefinition Eine Verarbeitung des Steuerbytes durch das Modul ist nicht möglich, da es ständig aktiviert ist und nicht abgeschaltet werden kann.
  • Seite 16: Technische Beschreibung

    M066 – KLANG 4 Technische Beschreibung 4.1 Hardware Das Modul M066 ermöglicht mit dem darin enthaltenen "programmable sound generator" (PSG) eine dreikanalige Tonerzeugung (A, B, C). Sowohl "reine" Töne als auch Rauschen mit wählbarer Frequenz können Lautstärke variiert und/oder Lautstärke- und/oder Frequenzeffekten versehen und gemischt werden.
  • Seite 17: Systemkonfiguration

     Nutzung als Takt-/Tongenerator in der Elektronik 4.2 Systemkonfiguration Das M066 KLANG ist in das Erweiterungskonzept des KC85/2 und seiner Nachfolgetypen voll eingebunden. Es können auch mehrere M066 im System vorhanden sein, was jedoch aufgrund der ständigen Aktivität eines M066 nicht sinnvoll ist.
  • Seite 18: Beispiel

    M066 – KLANG 4.2.2 Beispiel Funktion Assembler BASIC Auswahl Register 7 OUT 56,7 (#38),A Lesen aktuelles Register A,(#38) X = INP(56) Schreiben aktuelles Register OUT 57,n mit Wert n (#39),A Tabelle 1: Ansteuerbeispiel für den PSG 4.3 Tonerzeugung mit dem PSG Im M066 wird in aller Regel als PSG ein AY-3-8910 zum Einsatz kommen.
  • Seite 19: Tonhöhe

    M066 – KLANG – einer gewissen Zeitspanne ein bestimmter Wert (z.B. die Tonhöhe) neu programmiert. Beispiele dafür sind auch in den Datenblättern zu finden. Das erzeugte Tonsignal ist keine Sinuswelle und hat prinzipiell steile Flanken. Deshalb ist es oberwellenhaltig und klingt etwas "hart". Allerdings besitzt das Signal (im Gegensatz zu den herkömmlichen 1-Bit- Tonausgaben) nicht nur zwei Zustände, sondern es existieren je nach Lautstärke/Hüllkurvenform die verschiedensten Zwischenpegel.
  • Seite 20 M066 – KLANG Note TON-Frequenz in Teiler TP= Grobwert Feinwert INT(TAKT/ TP MOD 256 (16*TON)) (TP/256) Soll 261,6 261,5 maximal: 125 000 minimal: 30,5 4095 Tabelle 2: Beispiel zur Rechenvorschrift für die Taktfrequenz von 2 MHz Mit 12 Bit Auflösung lassen sich 4096 verschiedene Werte für die Tonhöhe angeben.
  • Seite 21: Mischer

    M066 – KLANG – 4.3.3 Mischer Das Register 7 ermöglicht die Festlegung, was auf welchem Kanal ausgegeben werden soll. Zu beachten ist, daß die Freigabe mit 0 erfolgt. Um alle Ausgaben zu sperren, ist das Register also mit 0FFh zu beschreiben.
  • Seite 22 M066 – KLANG Form Register Lautstärke Effektbeschreibung Beginn mit Maximum, dann Abfall auf 0 0,1,2,3,9 |\_________ ("Ausblendung") einmaliger Anstieg von 0 auf Maximum, dann 4,5,6,7,15 /|_________ abrupt aus wiederholter Abfall von Maximum auf 0 und |\|\|\|\|\|\|\|\|\|\| Sprung auf Maximum \/\/\/\/\/\/\/\/\/\ wiederholter Abfall/Anstieg _________ Beginn mit Maximum, Abfall, abrupt auf...
  • Seite 23: Ay-Musik

    M066 – KLANG – 4.3.6 AY-Musik Will man nicht nur einzelne Töne, sondern eine komplette Musik ("Chiptune") hören bzw. ausgeben, so muß dem PSG eine Folge von Registerwerten übermittelt werden. Das läßt sich auch als Datei abbilden, wofür diverse Formate existieren. Solche Dateien lassen sich z.B.
  • Seite 24: Umsetzung Durch Das M066

    M066 – KLANG 4.3.6.1 Umsetzung durch das M066 Prinzipiell besteht eine AY-Musik aus einer Folge von Registerwerten, die fortlaufend (also im Gegensatz zum einzelnen Geräusch mit ständiger Aktivität der CPU) in den PSG geschrieben werden. Resultierend aus der damals benutzten Technik wurden diese Schreibvorgänge in einem Rhythmus von 1/50 Sekunde vorgenommen.
  • Seite 25: Verwendung Der E/A-Anschlüsse

    M066 – KLANG –  Kanal 0 wird am Eingang mit 500 kHz getriggert und arbeitet als Rückwärtszähler. Mit einem einzustellenden Teilerverhältnis von 80:1 liefert Kanal 0 am Ausgang eine Frequenz von 6.25 kHz.  Diese wird durch den kaskadierten Kanal 1 nochmals um 125:1 geteilt.
  • Seite 26 M066 – KLANG Die beiden E/A-Anschlüsse des PSG sind Registern zugeordnet. Diese Register sind wie die Klangregister vor dem Schreiben oder Lesen auszuwählen. Die Richtungswahl für die Anschlüsse erfolgt durch die Art der Freigabe im Mischer. Ist das dem Anschluß zugeordnete Bit Null, so wirkt der gesamte Anschluß...
  • Seite 27: Benutzung Des Taktausganges

    M066 – KLANG – Nach der Registervorbereitung sind also pro E/A-Operation an einem Anschluß jeweils zwei Anweisungen nötig: 1. Auswahl des Anschlusses OUT 56,n n=14 für Anschluß A n=15 für Anschluß B 2. Ausgabe bzw. Eingabe OUT 57,x X=INP(56) 4.6 Benutzung des Taktausganges Am D-SUB-Steckverbinder Pin 23 kann bei Bedarf ein TTL-Rechtecksignal ausgegeben werden.
  • Seite 28 M066 – KLANG Kanal Wert Bemerkung CTC: EQU #3C A,#47 Zählermodus, Steuerwort (CTC),A ohne INT. A,#50 Zeitkonstante #50 Teiler 80:1 => 6,25 kHz (CTC),A A,#47 Zählermodus, Steuerwort (CTC+1),A ohne INT. A,#7D Zeitkonstante #7D Teiler 125:1 => 50 Hz (CTC+1),A Zählermodus, A,#47 Steuerwort ohne INT.
  • Seite 29: Entwicklung, Aufbau Und Inbetriebnahme

    M066 – KLANG – 5 Entwicklung, Aufbau und Inbetriebnahme Das Modul M066 – KLANG wurde im Zeitraum Dezember/2016 bis Oktober/2017 entwickelt. Während dieser Zeit flossen neue Gedanken und Ideen mit ein, so daß aus der ursprünglichen Intention, nur das Soundmodul 2 des NKC für den KC85/2-5 zu portieren, etwas sehr Innovatives entstanden ist.
  • Seite 30 M066 – KLANG Reduzierung der Störspannung auf rund 80 mV . Der nun verwendete OPV ist ein LM358. Auch das Einbringen eines zusätzlichen Kondensators über Lautstärkepotentiometer brachte eine Minderung Störspannung. Abbildung 4: Prototyp des M066 – vollständig aufgebaut Die Funktionstests umfaßten den gesamten Umfang des M066. Es wurde die Tonausgabe über den internen Lautsprecher und über eine per Klinkensteckerkabel angeschlossene Stereoanlage getestet.
  • Seite 31 M066 – KLANG – Notebooks geeignet und ist aufgrund seiner geringen Empfindlichkeit für das M066 nicht zu empfehlen. Zum anderen ein System von Logitech (S- 120 2.0 Speaker System). Dieses System ist wenig teurer als das von Trust und eine klare Empfehlung für das M066. Es bietet eine klare, klirrfreie und rauscharme Wiedergabe der vom M066 abgespielten Musikstücke.
  • Seite 32: Aufbauhinweise

    M066 – KLANG ein Musikstück geladen und abgespielt. Während der Musikausgabe lief das Programm problemlos und fehlerfrei weiter. Zu den mit einem M066 getesteten KC85/x-Systemen wird auf das Kapitel "14 Anlage G – KC85/x-Systeme im Test" verwiesen. 5.2 Aufbauhinweise Beim Aufbau ist nicht sehr viel zu beachten. Die Platine sollte leicht zu löten sein.
  • Seite 33 M066 – KLANG – stehend) sind sorgfältig einzulöten, um keine Kurzschlüsse herzustellen. Dies gilt insbesondere für die Dioden. Bei diesen empfiehlt sich, immer erst ein Beinchen anzulöten, dann abzuschneiden und dann das nächste Beinchen anzulöten. Bei den Dioden ist weiterhin zu beachten, daß diese mit sanftem Druck in die Lötaugen hineingedrückt werden müssen, bis sie tief genug sitzen, um im Modulgehäuse Platz zu finden.
  • Seite 34 M066 – KLANG Der "grüne" Pin der RGB-LED kann entfernt werden, da nur die Farben Rot und Blau verwendet werden. Das Abwinkeln der Beinchen sollte vor dem Einlöten vorgenommen werden. Alternativ kann auch eine DUO-LED (zum Beispiel rot/grün, Reichelt "LED 5 RG-3") verwendet werden. In dem Fall ist eventuell der Wert des Vorwiderstandes R10 anzupassen.
  • Seite 35: Inbetriebnahme Und Benutzung Des M066

    M066 – KLANG – 5.3 Inbetriebnahme und Benutzung des M066 Die Inbetriebnahme gestaltet sich denkbar einfach. Wird das KC-System eingeschaltet, ist auch das M066 sofort betriebsbereit. Es muß jetzt nur noch mit Daten zur Musik- bzw. Tonausgabe versorgt werden. Dazu entstanden parallel zur Modulentwicklung neben den bereits gezeigten Ansteuerbeispielen einige weitere Programme, sowohl speziell für das M066 als auch universal für andere Rechnertypen.
  • Seite 36 M066 – KLANG Das folgende Listing zeigt das gleiche Beispiel in Maschinenkode (Assembler). Die Werteliste wird hier rückwärts in die Register (beginnend bei 13) geschrieben. ;"DAMPFERSIRENE" ;TONHOEHENANGABEN GELTEN FUER TAKTFREQUENZ VON 2 MHZ ;------------------------------------------------------------------- BASE: ;BASISADRESSE AY ;REGISTER AUSWÄHLEN/LESEN ;BASE+1 ;REGISTER SCHREIBEN ;------------------------------------------------------------------- KLANG: LD...
  • Seite 37: Ay-3-8910-Sounddemo

    M066 – KLANG – 5.3.1.2 AY-3-8910-Sounddemo Zum Test und Nachweis der Funktionsfähigkeit des M066 wurde ein Demonstrationsprogramm mit folgenden Anforderungen entwickelt:  Test auf Vorhandensein des M066 im System  Test der Kanalzuordnung  Erzeugung von Tonausgaben per Tastatur ("Mini-Piano") ...
  • Seite 38 M066 – KLANG Ping  Im M066 wurde folgende Zuordnung der Kanäle in der Stereo- Ausgabe festgelegt: Kanal A => Rechts Kanal B => Mitte (monofon, auf beide Kanäle gleichzeitig) Kanal C => Links  Mit den Tasten L, R und M läßt sich diese Zuordnung per Tonausgabe prüfen.
  • Seite 39: Selbstabspielende Musik

    M066 – KLANG – Der Abbruch der Piano-Funktion und die Rückkehr zum Hauptmenü des AY-Demoprogramms erfolgt mit <BRK> bzw. auf der D005 oder einer PC- Tastatur mit <STRG>+<C>. Geräusche  Ähnlich Piano-Funktion werden Kennbuchstaben (Anfangsbuchstaben) Geräusche geladen und abgespielt (Prinzip des Abspielens: siehe unter "Piano").
  • Seite 40 M066 – KLANG Das Laden erfolgt mittels der Befehle ULOAD, FLOAD oder LOAD. Die Dateierweiterung "KCS" ist dabei immer mit anzugeben. Die KCS-Dateien starten selbständig den eingebauten Player, welcher die enthaltene STC-Musik abspielt. Wird "MUS01" aus dem Menü aufgerufen, kann hinter dem Programmnamen die Anzahl der Wiederholungen angegeben werden (max.
  • Seite 41: Universaler Ay-Player

    M066 – KLANG – Eigene KCS-Musiken lassen sich wie folgt erstellen:  Eine vorhandene KCS-Beispiel-Datei nehmen.  Mittels HEX-Editor die alte Musik löschen (ab roter Markierung bis Dateiende).  An der gleichen Stelle die neue Musik im STC-Format einfügen.  Das Dateiende im Vorblock korrigieren (Wert hier nur Beispiel).
  • Seite 42 M066 – KLANG Im Folgenden werden die Bedingungen für den Einsatz der Include-Datei beschrieben. Im eigenen Assembler-Programm ist der Beginn der Arbeitszellen (WORK) festzulegen. Standardmäßig ist dafür der Bereich ab 0080h (...00C7h) vorgesehen, kann aber bei Erforderlichkeit anders definiert werden. Der INCLUDE-Eintrag für den Player ist an geeigneter Stelle einzufügen.
  • Seite 43: Verwendung Des Ay-Players Unter Kc-Basic

    M066 – KLANG – Beispiel WORK: #0080 ;ANFANG ARBEITSZELLEN (BIS WORK+#47) PLAYER: EQU #0300 ;PLAYER (AM DATEIANFANG) ;CAOS VORBLOCK----------------------------------------------------- PLAYER-#80 DEFM 'TEST ;NAME FÜR LOAD, 8 STELLEN DEFM 'KCC' DEFS DEFB ;3=MIT AUTOSTART DEFW PLAYER,ENDE,START DEFS 105,0 PLAYER ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! INCLUDE "AYPLAY.INC" ;AY-PLAYER-ENGINE (LÄNGE ENGINE CA.
  • Seite 44 M066 – KLANG Folgende Probleme bestehen dabei:  Player und Musik müssen im Grund-RAM liegen, die "hinteren" Speicherbänke (z.B. hinter dem IRM) lassen sich noch nicht nutzen.  Es muß geklärt werden, wie Player und Musik geladen werden können, ggf. ist die AY-Musik fest im BASIC-Programm zu verankern.
  • Seite 45: Verwendung Des Ay-Players Unter Jkcemu-Basic

    M066 – KLANG – 210 NEXT 220 PRINT:PRINT"PROGRAMM-ENDE" 230 PRINT"SONG WIRD AUCH BEENDET..." 240 CALL*6006:REM PLAYER STOPPEN 250 END Listing 9: Beispielprogramm für KC-BASIC Wird das Programm mit <BRK> abgebrochen, so läuft eine gestartete Musik weiter. Diese muß manuell per "CALL*6006" gestoppt werden. Die Musik muß...
  • Seite 46 M066 – KLANG REM---VORARBEITEN----------------------------- A=ASM(" LD HL,MUSI"):REM ANFANGSADRESSE SONG ERMITTELN DOKE 128,A: REM AN PLAYER UEBERGEBEN POKE 130,5: REM ANZAHL WIEDERHOLUNGEN UEBERGEBEN REM---DAS ANWENDERPROGRAMM-------------------- PRINT "STARTE AY-SONG..." CALL *0300: REM SONG STARTEN PAUSE 10 PRINT "MACHE HIER IRGEND ETWAS..." FOR I=1 TO 100 PRINT I;...
  • Seite 47 M066 – KLANG – Abbildung 13: Die Anfangsadresse des Programms liegt bei 0800h Abbildung 14: Der Name der zu erzeugenden BIN-Datei (raw-Format) Andere Compiler-Einstellungen können je nach Kenntnis und Bedarf vorgenommen werden. Nach dem Betätigen der "Compilieren"-Schaltfläche erscheinen die Fertigmeldung oder die Fehlermeldungen.
  • Seite 48 M066 – KLANG Zum Schluß wird per HEX-Editor das Kompilat "TEST.BIN" an ein "Gerüst" angehängt. Dabei handelt es sich um ein vorgefertigtes Binärfile AYPLAYMC.BIN, welches den CAOS-Vorblock sowie einen AY-Player für STC-Files beinhaltet und ab Adresse 0300h beginnt. Für problemloses Laden sollte dann am Ende noch mit 00 auf volle Blöcke (128 Bytes) aufgefüllt werden.
  • Seite 49: Anwendungsfall / Musikerzeugung

    M066 – KLANG – 6 Anwendungsfall / Musikerzeugung Die Motivation für die Neuentwicklung des M066 war genaugenommen die letztendlich erfolgreiche Entwicklung des Moduls M041 - 2 x 16 KB EEPROM. Durch die Möglichkeit, ein Autostartprogramm zu entwickeln, welches auch Musik beinhaltet, war die Entwicklung eines Klangmoduls sehr verlockend, denn...
  • Seite 50: Ausblick Auf Den Kc-Tracker Für Caos 4.7

    M066 – KLANG 7 Ausblick auf den KC-Tracker für CAOS 4.7 Zum Zeitpunkt der Drucklegung dieses Handbuches befand sich der KC- Tracker noch im Entwicklungsstadium. Rolf Weidlich hat als Testmelodie doch tatsächlich "Kein schöner Land" gewählt und damit natürlich beste Voraussetzungen zur Entwicklung der weiter oben genannten Hintergrundmusik geschaffen.
  • Seite 51: Anlage A - Schalt- Und Belegungspläne

    M066 – KLANG – 8 Anlage A – Schalt- und Belegungspläne 8.1 Belegungsplan – M066...
  • Seite 52: Schaltplan - M066

    M066 – KLANG 8.2 Schaltplan – M066...
  • Seite 53: Schaltplan - Nkc Soundmodul 2

    M066 – KLANG – 8.3 Schaltplan – NKC Soundmodul 2...
  • Seite 54: Anlage B - Bestückungsliste

    M066 – KLANG 9 Anlage B – Bestückungsliste Name Bauteil Bezeichnung / Wert Bemerkung Diode RGB-LED gem. Katode, Niedrigstrom AD0-AD7 Diode SAL41 BD0-BD7 Diode SAL41 V1/V2 Diode BAT43 C1, C2, C4-C8, Kondensator 100 nF RM 5.0 C10-C12, C14-C17 C18-C20 Kondensator 1 µF Subminiatur, RM 1.5 Kondensator...
  • Seite 55 M066 – KLANG – Name Bauteil Bezeichnung / Wert Bemerkung 32 , AC Kleinlautsprecher Lautsprecher z.B. Pollin: 641148 Quarz-Oszillator 2MHz Potentiometer Trimmpoti, liegend, 6x6 mm 5 k 100  R1-R8 Widerstand ggf. Bauform 0204 R9, R10 Widerstand 1 k 620  Widerstand ggf.
  • Seite 56: Anlage C - Anwendersoftware

    M066 – KLANG 10 Anlage C – Anwendersoftware Zeitgleich mit der Veröffentlichung der Serienplatinen des Moduls M066 wird ein Softwarepaket publiziert, welches die in diesem Handbuch beschriebenen Programme beinhaltet und darüber hinausgehend weiteres Material zur eigenen Anwendungserstellung. 10.1 Softwarepakete Das Archiv m066_software_demo_basics.zip (siehe Kapitel "13.2 Links") enthält zum Zeitpunkt der Drucklegung dieses Handbuchs alle nachfolgend...
  • Seite 57: Hinweis Zu Den Verwendeten Arbeitszellen

    M066 – KLANG – 10.2 Hinweis zu den verwendeten Arbeitszellen Alle vorgestellten Beispiele benötigen zahlreiche Arbeitszellen für das Abspielen Musik. Standardmäßig wurde dafür Bereich 0080h...00C7h vorgesehen. bisherigen Tests ergaben damit keine Probleme oder Beeinträchtigungen des Abspielens. Der KC85/x mit seiner umfangreichen Ausstattung an Modulen und Software weist mittlerweile aber nur noch sehr wenig freie Ressourcen für Neues auf.
  • Seite 58: Anlage D - Musiktheorie

    M066 – KLANG 11 Anlage D – Musiktheorie 11.1 Übersicht der PSG-Register Reg.-Nr. Funktion Wertebereich Anmerkungen Kanal A Tonhöhe 8-bit (0-255) fein Kanal A Tonhöhe 4-bit (0-15) grob einstellbar zwischen Kanal B Tonhöhe 8-bit (0-255) 30,5 Hz und 125 kHz fein abhängig von Taktfrequenz Kanal B Tonhöhe...
  • Seite 59: Registerwerte Für Einige Notenfrequenzen

    M066 – KLANG – 11.2 Registerwerte für einige Notenfrequenzen Nachfolgend wird eine Übersicht Registerwerte einiger Notenfrequenzen gegeben, welche bei einem 2-MHz-Takt bzw. einem 1,77-MHz-Takt () des PSG Verwendung finden können. Dabei gelten die Spalten zwei bis vier nur für den 2-MHz-Takt. Note Soll-Freq.
  • Seite 60 M066 – KLANG Note Soll-Freq. Ist-Freq. Diff. in % Fein Grob 880.000 880.282 +0.03 830.609 833.333 +0.33 783.991 786.164 +0.28 739.989 739.645 -0.05 698.456 698.324 -0.02 659.255 657.895 -0.21 622.254 621.891 -0.06 587.330 586.854 -0.08 554.365 555.556 +0.21 523.251 523.013 -0.05 493.883 494.071...
  • Seite 61 M066 – KLANG – Note Soll-Freq. Ist-Freq. Diff. in % Fein Grob 138.591 138.581 -0.01 130.813 130.753 -0.05 123.471 123.518 +0.04 116.541 116.496 -0.04 110.000 110.035 +0.03 103.826 103.821 -0.01 97.999 97.962 -0.04 92.499 92.524 +0.03 87.307 87.291 -0.02 82.407 82.399 -0.01 77.782...
  • Seite 62 M066 – KLANG BASIC-Programm zur Berechnung der o.a. Tabelle 10 REM NOTENTABELLE 20 CLS 30 LPRINT"N SOLL-f IST-f FEIN GROB" 40 LPRINT"----------------------------------------" 50 K=125000 60 FOR I=1 TO 88 READ N$,F1 PRINTN$,F1 LPRINTN$;" "; TP=INT(0.5+K/F1) : G=INT(TP/256) : F=TP-256*G LPRINTUSING "####.###";F1; F2=K/(G*256+F) LPRINTTAB(17);...
  • Seite 63: Anlage E - Soundtracker-Dateiformat Stc

    M066 – KLANG – 12 Anlage E – Soundtracker-Dateiformat STC Um eine Musik mit allen nötigen Informationen als Datei abzubilden, entstanden (je nach Rechnertyp und Tonanlage) diverse Formate. Hier soll das in den Demos benutzte STC-Format erläutert werden. Dabei handelt es sich um eine "compilierte"...
  • Seite 64: Dateiaufbau

    M066 – KLANG 12.3 Dateiaufbau Der prinzipielle Aufbau einer jeden "Soundtracker"-Datei für den PSG gestaltet sich wie in der folgenden Tabelle dargestellt. BYTE [1] Tempo WORD [1] Zeiger auf Positionstabelle WORD [1] Zeiger auf Ornamenttabelle Offsets zum Dateianfang. Kopfdaten WORD [1] Zeiger auf Patterntabelle BYTE [18] Kennung STC-Modul 'SONG BY ST COMPILE'...
  • Seite 65: Ornamente

    M066 – KLANG – Für jedes der 32 Segmente bilden drei Bytes hintereinander die an den PSG zu sendenden Registerwerte in einer Mischform ab. 1.Byte Tonhöhenoffset (grob) Hüllkurve Lautstärke Rausch- Ton- 2.Byte Shift Rauschparameter maske maske 3.Byte Tonhöhenoffset (fein) Tabelle 13: Struktur der Samples-Datenbytes Maske = Freigabe von Rauschen/Ton: 0 = freigegeben 1 = gesperrt...
  • Seite 66: Pattern

    M066 – KLANG Abbildung 18: Beispiel "Ornament 7" aus "Jingle" DEFB #00,#0C,#00,#F4,#00,#0C,#00,#F4,#00,#0C,#00,#F4,#00,#0C,#00,#F4 DEFB #00,#0C,#00,#F4,#00,#0C,#00,#F4,#00,#0C,#00,#F4,#00,#0C,#00,#F4 Listing 11: Daten das für "Ornament 7" aus "Jingle" in Assemblerkode 12.3.3 Pattern Die im Pattern enthaltenen Binärwerte lassen sich wie folgt einteilen #00-#5F Notenwert in Halbtönen (00 = C = tiefster Ton) #60-#6F Samplenummer #70-#7F Ornamentnummer...
  • Seite 67: Beispiel "Jingle.stc

    M066 – KLANG – 12.3.4 Beispiel "JINGLE.STC" Der nachfolgende Quellkode in Assembler stellt die vollständige Musik "Jingle" im STC-Format dar. ;OFFSET 0: Kopfdaten DEFB #06 ;Tempowert (Globale Verzögerung in Interrupts) DEFW #00E1 ;Zeiger auf Positionstabelle DEFW #00E4 ;Zeiger auf Ornament-Tabelle DEFB #0126 ;Zeiger auf Pattern-Tabelle „SONG BY ST COMPILE“,0 ;Kennung STC-Modul (kann auch...
  • Seite 68 M066 – KLANG ;Offset 012E: Pattern Kanal A DEFB #A2,#66,#77,#40,#A1,#41,#40,#A2,#3E,#A1,#40,#3E,#A2,#3C,#A1,#3E DEFB #3C,#A2,#3B,#A1,#3C,#3B,#AA,#39,#A2,#70,#28,#AF,#28,#FF ;Offset 014C: Pattern Kanal B DEFB #A2,#6E,#28,#A1,#29,#28,#A2,#26,#A1,#28,#26,#A2,#24,#A1,#26,#24 DEFB #A2,#23,#A1,#24,#23,#A2,#21,#A1,#27,#28,#29,#2A,#2B,#2C,#A2,#2D DEFB #66,#1C,#AF,#15,#FF ;OFFSET 0171: Pattern Kanal C DEFB #A2,#66,#34,#A1,#35,#34,#A2,#32,#A1,#34,#32,#A2,#30,#A1,#32 DEFB #30,#A2,#2F,#A1,#30,#2F,#AA,#2D,#A2,#2C,#AF,#2D,#FF Listing 12: Vollständige Daten für "Jingle" im STC-Format in Assemblerkode...
  • Seite 69: Anlage F - Quellenangaben Und Links

    M066 – KLANG – 13 Anlage F – Quellenangaben und Links 13.1 Quellen Notenfrequenzen https://de.wikipedia.org/wiki/Frequenzen_der_gleichstufigen_Stimmung STC-Dateiformatbeschreibung http://www.avray.ru/фор ат-фай а-stc-sound-tracker/ AY-Player У А В В K А ВУ ВO Ц AY8910, У А ' А ', 1998, №6, . 42+43 http://www.radioman-portal.ru/magazin/radio/1998/6.php Die darin enthaltene Abspielroutine stammt offenbar direkt vom ZX81 (mit AY-3-8910-Adapter), da sie fast identisch mit der unter folgendem Link zu Erreichenden ist (zxstplay.zip).
  • Seite 70: Softwarepaket M066 - Stc-Player Und Kc-Tracker

    M066 – KLANG Softwarepaket M066 – STC-Player und KC-Tracker http://kc-und-atari.idylle-am- waldrand.com/download/kc855/m066_software_stcplayer_kctracker.zip oder http://susowa.homeftp.net/ -> Download -> CAOS-Software -> Musik und Demos AY-Player und Sammlung von STC-Dateien http://www.avray.ru/avr-ay-player/ http://www.avray.ru/music_collections/...
  • Seite 71: Anlage G - Kc85/X-Systeme Im Test

    M066 – KLANG – 14 Anlage G – KC85/x-Systeme im Test Neben den schon beschriebenen funktionalen Tests des Klangmoduls wurden auch KC85/x-Systemkompatibilitätstests durchgeführt, um die Funktionsfähigkeit M066 diesen verschiedenen Systemen nachzuweisen. Natürlich können nicht alle Systemgegebenheiten und Anwendungsfälle berücksichtigt werden, dafür ist die Gerätlandschaft rund um den KC85/x zu vielfältig.
  • Seite 72: M066 Im Kc85/4-Turm (Caos 4.2)

    M066 – KLANG 14.5 M066 im KC85/4-Turm (CAOS 4.2) Das Testsystem bestand aus den Geräten D001, D002, D004 und Diskettenlaufwerk. Es wurden die Module M003, M021, M025, M061, M051 und M052 eingesetzt bzw. eingeschaltet.  Laden per USB mit M052 (%ULOAD bzw. %uload bei neuer Firmware 2.5) AY-Demo und KCS funktionieren ...
  • Seite 73 Notizen...
  • Seite 74 Notizen...
  • Seite 76 Alte Computer by SRN http://www.kc-und-atari.de...

Inhaltsverzeichnis