C-Lab Polyframe (ATARI) - Adaptionen erstellen

MacroDX

MacroDX

Hat ein Bild mit Robotern wo aufm Mond rumlaufen
Yupp, das ist was für die ganz alten Hasen hier ...
Gibt halt kein eigenes Unterforum für ATARI Sachen (wobei ich mit SIcherheit nicht der Einzige bin, der das noch nutzt, sei´s Original oder Emu).
Also ich hab mir die Adaption für den DX7II vorgenommen. Die ist in der Grundauslieferung offenbar mit dabei gewesen, erstellt von M. Haydn.
1991 ... yepp, vor genau 30 Jahren :cheer:

Ist aber ziemlich unvollständig und dann auch noch buggy. Das Meiste hab ich jetzt schon am Laufen, aber eine Sache macht mir Probleme. @microbug vielleicht weisst du da ja noch irgendwas zu:
In der Anleitung heisst es für Bank Driver, wenn man keine Item Request/Dumps hat, wie eben beim DX7II, dann lässt man die entsprechenden Felder eben leer und gibt nur die SysEx Strings für die Bank-Befehle an.
Wenn ich das aber so mache ruft es mir die Dumps nicht ab. Nur wenn ich unter DUMP->ITEM auch etwas eintrage, werden die Bänke abgerufen.

So, mal gespannt was hier jetzt so passiert :mrgreen:
 
Ich hab zumindest schonmal rausgefunden dass es reicht ein Pseudobyte anzugeben. Wenn ich PAU einsetze, was ja definitiv nichts mit einem Wert zu tun hat, gehts.
 
Das originale Polyframe Paket hatte ein dickes Handbuch dabei, wo auch alles im Universalmodul erklärt wurde. Das dürfte aber nicht in elektronischer Form vorliegen, daher würde ich mir mal das Nachfolgeteil "Sounddiver Programming Manual" ziehen, da sind die Basics erklärt, das läßt sich übertragen, auch wenn in Sounddiver noch einiges dazukam.
Gibts hier: https://www.deepsonic.ch/deep/docs_manuals/emagic_apple_sounddiver_programming_manual.pdf

Witzig, daß es da noch eine Adaption für den DX7 gab, das wurde später ein programmiertes Modul für alle 6OP FM Synths. Im obigen Manual ist meine ich auch eine Anleitung für einen DX7 Bank Manager drin.

Beim DX7 gibts ein für alle 6OP FM standardisiertes Sysex-Format (für DX7/II/S, TX7, TX802, TF-1) mit zwei Unterformaten:

- VMEM (Voice in Memory)
- VCED (Voice in Edit Buffer)

VCED ist immer temporär, VMEM dagegen das Speicherformat mit Angabe des Speicherplatzes. Meiner Erinnerung nach kann man beim DX7 sehr wohl eine einzelne Bank abrufen, diese besteht aber vom Format her aus 32 Einzeldumps (wird iirc compressed bank format genannt) mit gemeinsamem Header und Endbyte. Über VMEM kann man auch gezielt einzelne Speicherplätze abrufen.

Hat ein Synth kein Bankdump Format, muß man diesen String freilassen, dann werden die Einträge einzeln angefordert (und auch gesendet).

Ohne Pseudobytes geht da nichts. Beispiel F0 42 ID <(sumfromhere)><modelID> <command> #EN ITM <(chcksum)> F7

#EN markiert den Eintrag (Speicherplatz) in der Bank, ITM ist der Platzhalter für die Vociedaten. Bei Bänken fehlt #EN und ITM wird durch BNK ersetzt. Hat der Synth verschiedene Bänke, ist das meist im <command> des Gerätes codiert.
 
Das originale Polyframe Paket hatte ein dickes Handbuch dabei, wo auch alles im Universalmodul erklärt wurde.
Hab ich :), mit Dongle und Alles ...
Danke für deine ausführliche Antwort. Vielleicht hab ich aber auch mein Problem nicht hinreichend geschildert.
Hat ein Synth kein Bankdump Format, muß man diesen String freilassen, dann werden die Einträge einzeln angefordert (und auch gesendet).
Mir geht es um genau den umgekehrten Fall. Die Anleitung habe ich so verstanden, dass man eben auch Item leer lässt, wenn es keinen Einzelabruf gibt.
Vielleicht liege ich damit aber auch falsch.
Ohne Pseudobytes geht da nichts. Beispiel F0 42 ID <(sumfromhere)><modelID> <command> #EN ITM <(chcksum)> F7
Vollkommen klar. Was ich mit dem Pseudobyte meinte ist auch folgendes:
Polyframe_BankDriver_Workaround.jpg
Wenn ich unte Dump->Item nichts eintrage, dann passiert nichts, wenn ich Receive auslöse. Hab zur Kontrolle parallel nen Rechner mit MIDIOX laufen und der Monitor bleibt da leer. Wenn ich aber Bei Item dann das PAU eintrage gehts.
Über VMEM kann man auch gezielt einzelne Speicherplätze abrufen.
Das muss ich mir dann nochmal genauer anschauen.
Im obigen Manual ist meine ich auch eine Anleitung für einen DX7 Bank Manager drin.
Ja, das ist im Polyframe Manual aber auch schon genauso. Ich habe auch den Eindruck, dass die (DX7II) Adaption auf genau dem Tutorial-Stand geblieben ist.
Der Voice Editor ist implementiert, aber die meisten SysEx Strings im Bankmanager sind falsch. Performance Editor ist nicht implementiert, da bin ich gerade dran ...
 
Man, das ist alles lange her. Ich habe Polyframe für DM 50 auf einem Ausverkauf von Musik Crusius in Darmstadt gekauft. Später dann SoundDiver für PC in Nürnberg für deutlich mehr Kohle. Ich hatte damals einen Editor für Casio VZ-1 angefangen (vielleicht auch nur Bankmanager). Auf Atari ST. Mit ein paar Tricks hat es auch ohne Unterstützung des speziellen Checksum-Formats geklappt. Im Sounddiver war dann etwas ab Werk drinnen. Tempi passati.

Sorry, weitermachen.
 
Absoluteli notti :selfhammer:
Es gibt leider nur wenig gute kontemporäre Editoren für die Klassiker.
Tatsächlich gibt es ein wirklich hervorragend gemachtes Ctrlr Panel für den SY22.
Aber nicht umsonst habe ich dann neulich bei einem Synthworks D-50 zugeschlagen ^^
 
Ja nun, nicht Software passati. Aber für mich ist diese intensive Zeit mit den Synths und den Tools einfach vorbei, das gibt mein heutiges Leben als Familienpapa mit eh zu vielen Interessen nicht mehr her.
 
Die Anleitung habe ich so verstanden, dass man eben auch Item leer lässt, wenn es keinen Einzelabruf gibt.
Das ist so schon richtig.

Wenn ich unte Dump->Item nichts eintrage, dann passiert nichts, wenn ich Receive auslöse.

Hier darf man nicht die Positionen verwechseln. Es wird immer vom Gerät ausgegangen, nicht vom Rechner. Dump bezeichnet das, was vom Gerät gesendet wird, Bank oder Einzel (Item), Request ist der String zum Anfordern eines Bank oder Singledump. Der DX7(II) kann beides, daher muß man auch beides eintragen.
 
Hier darf man nicht die Positionen verwechseln. Es wird immer vom Gerät ausgegangen, nicht vom Rechner.
Ich drück das nochmal anders aus: Wenn ich in der Library eine Bank markiere, dann sollte bei Auslösen des Befehls „Receive Selection“ Der Bank Request ausgelöst werden, um vom Gerät den entsprechenden Dump zu erhalten.
Das funktioniert bei mir aber nur dann zuverlässig, wenn ich unter Dump->Item zumindest ein Pseudobyte angebe. Ich sollte hier jedoch nur etwas angeben müssen, wenn ich PF mitteilen muss, was es beim Auslösen eines Single Request vom Synth zu erwarten hat. Da ich aber gar keinen Single Request konfiguriert habe, sollte das auch nicht notwendig sein.
Der DX7(II) kann beides, daher muß man auch beides eintragen.
Muss, oder kann ...?
Wegen des Einzel Request muss ich nochmal schauen. In der Spec hab ich das bisher nur für den Edit Buffer gefunden.
 
Wie gesagt, es gibt VCED und VMEM, und bei VMEM gibts Single und Bank. Steht recht sicher in der MIDI Implementation drin.

Wenn irgendwo ein Request eingetragen ist, muß natürlich auch eine Antwort definiert sein, sonst weiß die Software ja nicht, auf was sie reagieren soll. Zumindest bei Sounddiver wird dann sogar auf einen manuell am Gerät ausgelösten Dump reagiert, egal bei welchem Gerät.
Ein Pseudobyte einzutragen ist dann wohl eher unter Austricksen zu verstehen, damit PF überhaupt den Request auslöst, denn es macht ja keinen Sinn, einen Request zu definieren, wenn es keine adäquate Antwort dafür gibt.
 
Ein Pseudobyte einzutragen ist dann wohl eher unter Austricksen zu verstehen, damit PF überhaupt den Request auslöst
Und ich glaube genau darauf läufts raus.
Zumindest bei Sounddiver wird dann sogar auf einen manuell am Gerät ausgelösten Dump reagiert, egal bei welchem Gerät.
Das geht bei Polyframe auch schon meine ich.
Jaja Sounddiver... Es ist tatsächlich leichter eine vollständige Version mit Dongle von Polyframe zu bekommen als Sounddiver 🤷‍♂️
 
Sounddiver arbeitete mit einer "defekten" Diskette als Kopierschutz, die dann auch noch den exakten Installationsort (Spur/Sektor) nebst einem Zähler auf dieser Diskette ablegte. Zum Erzeugen dieser Diskette brauchte es eine Zusatzhardware am Floppycontroller, diente schlicht zum Verhindern des Kopierens dieser Diskette (iirc fehlte da absichtlich eine Spur bzw ein Sektor).
 
Ich meinte dann jetzt auch eher die Version für PC, mit CD
 
Ich meinte dann jetzt auch eher die Version für PC, mit CD

Die hatte auch so einen Kopierschutz (die CD läßt sich angeblich nicht kopieren), wobei die PC Version regelmäßig von CD autorisiert werden muß, die Mac-Version braucht den XSKey USB Dongle, selbst für die letzte Public Beta. Sehr blöd, sonst hätte ich den mitsamt meines alten Logic noch vertickern können ...
 
hi,
es ist erfreulich eine diskussion über polyframe überhaupt zu sehen. habe in den 90ern auch einiges dafür programmierrt (module).

eine frage: kennt jemand einen weg, poyframe unter steem zum laufen zu bringen?

oder alternativ: kennt jemand das datenformat (insider-wissen) der c-lab pf libraries? ich würde die sounds aus meinen alten libraries gerne als single - patches extrahieren und zu syx wandeln, habe die struktur studiert, aber irgendwie komme ich nicht weiter....

danke stan
 
habe in den 90ern auch einiges dafür programmierrt (module).
Ah, ein Kollege - ich hab allerdings nur Adaptionen gebaut.

eine frage: kennt jemand einen weg, poyframe unter steem zum laufen zu bringen?
Dürfte nur per Hack gehen, denn PF braucht ja einen Dongle am ROM Port.

kennt jemand das datenformat (insider-wissen) der c-lab pf libraries?
Hast Du Deine Unterlagen noch? Wenn Du Module programmiert hast, war da doch sicher auch der Aufbau des Formates dabei?

Sounddiver kann IIRC die Daten exportieren, ob das bei PF auch schon ging, weiß ich nimmer.
 
hallo dietmar
1. sorry, ich habe mich falsch ausgedrückt: ich bin privatuser und baute eigene adaptationen (module ist der falsche ausdruck) für mich, z.b. damals recht brauchbaren prophecy-editor oder mks-50.
aber eben nur front-end.


2. ja, richtig. ob es einen gibt, habe ich noch nicht rausgefunden. da ich mehrere dongel habe, wäre das hilfreich auch für stem

3. ja, das wäre eben der traum an die vorgaben des datenformats der libraries zu kommen. mal sehen, vielleicht habe ich nochmals glück :cool:


stan
 
Meines Wissens gibt es bis dato keine Möglichkeit, Dongles zu emulieren bzw. außerhalb eines echten ATARI zum Laufen zu bringen. Selbst MIST mit echtem Dongle Port kann das wohl nicht, weil die vom FPGA generierte CPU Frequenz um einige Kiloherz vom Original abweicht und somit die Dongle-Challenges fehlschlagen 🤷‍♂️.
Von daher muss man da wohl Kopien finden, die ohne Dongle auskommen können…
 
Ich habe eben in der Dokumentation nachgeblättert. Es gibt keine Export-Funktion. Im Index ist zwar Export enthalten, ich finde aber die Stellen im Text nicht. Da müsste man wohl einen Atari auftreiben und von dort an den Synth dumpen.
 
Ich guck mal, was sich machen läßt, will aber nichts versprechen und kann auch was dauern.
 


Neueste Beiträge

News

Zurück
Oben