[Kerberos] C64 MIDI Interface mit Flash und PC-Dateitransfermöglichkeit

Es gibt 488 Antworten in diesem Thema, welches 89.547 mal aufgerufen wurde. Der letzte Beitrag (14. Februar 2025 um 19:37) ist von _Joey_.

  • Prima, schon 16 Fans :)

    Habe das Problem mit Pro 16 jetzt gefunden: Das Flag bei $c59a speichert die MIDI-Thru Einstellung ($fe = an und $00 = aus) und wenn das an ist, dann wird die Routine bei $b75a aufgerufen, wo bei $b75d ein "beq $b777" steht und zuvor wird per "lda $48,x" der MIDI-Wiedergabekanal der zugehörigen Spur geladen, der intern bei 0 anfängt zu zählen, wenn der im GUI auf 1 gestellt wird. Heisst also, für alle Spuren, für die der Wiedergabekanal 1 ist, geht das MIDI-Thru nicht. Wenn man den Kanal z.B. auf 2 stellt (was man dann natürlich beim Synthesizer auch berücksichtigen muß), dann funktioniert es.

    In der Anleitung habe ich dazu nichts finden können. Ist ja vielleicht ein Feature und kein Bug, aber jetzt steht dem Video nichts mehr im Wege. Soll ich dann für die ausgelieferte Cartridge-Version später den Test auskommentieren, sodaß es auch für MIDI-Kanal 1 funktioniert?

  • @ gartenzwerg

    Villeicht passt das auch zu deinenr Sache, Bitte melde dich an, um diesen Link zu sehen.

    Ok vielleicht etwas daneben das ganze, aber vielleicht kannst du da auch noch irgendwelche Informationen rausziehen, die dir eventuell weiter helfen. Und wen nicht Thema von mir verfehlt, setzen Sechs. Also OT.


  • @ gartenzwerg

    Villeicht passt das auch zu deinenr Sache, Bitte melde dich an, um diesen Link zu sehen.

    Ok vielleicht etwas daneben das ganze, aber vielleicht kannst du da auch noch irgendwelche Informationen rausziehen, die dir eventuell weiter helfen. Und wen nicht Thema von mir verfehlt, setzen Sechs. Also OT.


    Interessanter Artikel, aber hilft mir nicht weiter bei der MIDI-Frage. Aber ich habe auch nicht alle 19 Seiten durchgelesen :) Ist aber nicht schlimm, werde es als Feature ansehen. Die meisten Leute werden wohl sowieso ein Keyboard verwenden, was auch Töne erzeugt und nicht nur ein reines MIDI Masterkeyboard, da braucht man dann MIDI-Thru in Pro 16 nur auszuschalten und hat immer eine aktustische Rückmeldung.

    Das Video ist jetzt übrigens fertig:

    Bitte melde dich an, um dieses Medienelement zu sehen.

  • Ist das Teil eigentlich auch Mssiah-kompatibel?

    Edit: Achja, die Software ist beim Original ja auf dem Midimodul...^^

  • und da es auch keinen anderweitig lauffähigen crack der software gibt stellt sich die frage wie du auf so ideen kommst... =P

  • Ich kann ja mal nachfragen, ob der MSSIAH-Hersteller die recht gut aussehende Software für mein Cartridge anpassen will, damit ich es dann mit meinem gleichteuren aber besseren Cartridge ausliefern kann, sehe aber keine hohen Erfolgsaussichten :) Falls aber einer ein MSSIAH-Cartridge hat und das mal aufmachen kann, und dort ein IC mit der Bezeichnung "6850" oder "68B50" drauf ist, dann würde die Software wohl theoretisch schon mit meinem Interface laufen.

  • da ist ein mikrocontroller drin der den midi kram macht, vergessen was genau :)

  • und da es auch keinen anderweitig lauffähigen crack der software gibt stellt sich die frage wie du auf so ideen kommst... =P

    Vermutlich weil ich im Besitz eines ebensolchen Cracks bin ;) Müsste nachschauen obs der `Prophet64´von der Csdb ist...aber ich habe einen, 100%ig.

    Edit: 2 versch. so wie es aussieht sogar ^^ (das eine ist die DEWF-Version, die andere scheint älter und nur den Mono-Synth zu beinhalten)

  • Wenn einer den Mssiah nutzen will, dann soll er sich doch bitte einen kaufen.
    Die Leute bei Bitte melde dich an, um diesen Link zu sehen. sollen doch auch zu Ihrem Geld kommen.
    Ich glaube nicht dass wir bei den Beträgen noch das Hackertum unterstützen müssen.

    Was kann ich eigentlich tolles mit dem Sid-Wizard anstellen, wenn ich das MIDI-Interface nutze?
    Kann ich dann Tracks direkt einspielen?

  • Ja, mit dem MIDI-Inteface kann man mit dem SID-Wizard Patterns einspielen. Zwar nicht Realtime (zumindest habe ich da nichts gefunden) sondern nur mit dem jeweils eingestellten Auto-Advance Schritten (siehe Manual und "Creating Chiptunes with SID-WIZARD"), was auch irgendwie Sinn macht bei SID-Musiken, aber zumindest kann man dann ein normales MIDI-Keyboard verwenden, statt die C64-Tastatur.

  • wenn man gerne frickelt kann man auch im midi sequenzer etwas abspielen und via start/stop commands und korrekter bpm den sidwizard syncen. ich hatte das z.b. mit fruityloops am laufen. wenn man dann seine melodie im piano roll über "midi out" abspielt kann man sie in den sidwizard einspielen, leider fehlen aber die abstände vom timing her. also wenn der playback cursor mitscrollt ist es nicht möglich die noten timing-gerecht zu setzen. ich habe das derartig gelöst das ich für jede pause einfach eine C-0 note mit velocity 0 eingefügt habe, nachdem die melodie "überspielt" ist kann man die rauslöschen. ist ganz interessant um hybrid mit piano roll etwas am sid zu komponieren.

    bezügl. des zerberus wär interessant was da so alles möglich ist... z.b. wie einfach komme ich in basic an den schnittstellen chip ran? kann ich netzwerkgames a la midi maze damit kreieren? wäre es möglich damit ins internet zu gehen? wäre d64 transfer möglich? gibt es ein sidslave programm das mir die drei oszillatoren (oder mehrere - wenn mehrere chips verbaut sind) auf verschiedenen midikanälen anspricht, und auch alle relevanten parameter als CC values? wie sieht es mit samples abspielen via midi aus, sowas müsste ja auch realisierbar sein? könnte man einen universellen patch editor oder librarian mit draufpacken? wie sieht es aus mit einem "c64 keyboard als midi keyboard" programm? sowas braucht man oft mal zu testen. oder auch - paddle to CC controller. btw - da jetzt diverse spiele als "feature" pre-loaded raufzupacken finde ich etwas eigenartig, es gibt genug musikprogramme die die lücken füllen.

  • Prima Ideen. Ein paar davon hatte ich auch schon angedacht und sogar teilweise schon umgesetzt.

    - MIDI per BASIC ansprechen
    BASIC ist normalerweise zu langsam, um die Register direkt anzusprechen und besonders beim Empfang schnell genug zu reagieren. Ich habe allerdings die MIDI-Init/Sende/Empfangsfunktion in eine leicht einzubindende Library ausgelagert, die per Interrupt einen Ringpuffer beschreibt und liest. Also im Klartext: Ja, das geht von BASIC.

    - Netzwerkgames hatte ich auch mal überlegt. Man könnte insbesondere eine Art Token-Ring Netzwerk implementieren und beliebig viele C64 per MIDI-in/MIDI-out in Reihe verbinden.

    - D64 Transfer über das Interface auf und von Diskette könnte ich einbauen, wenn das wer haben möchte.

    - sidslave Programm: mit einem einfachen SID-Synthesizer habe ich schonmal angefangen, sieht man in meinem vorherigen Video: Bitte melde dich an, um diesen Link zu sehen. Da kann man bestimmt noch einiges machen, wie du schreibst, z.B. Filter, ADSR usw. auf CC values legen, Pitch- und Effect-Wheel-Unterstützung usw.

    - Samples abspielen sollte im Prinzip auch möglich sein. Ich kenne mich da nicht aus, vermute aber mal, das geht nicht in Echtzeit, aber man könnte die Samplewerte auf jeden Fall übertragen, da MIDI von der Hardware her komplett unterstützt wird, auch SysEx-Messages und alles andere, also wäre auch ein Patch-Editor oder Librarian möglich. Muß dann nur einer programmieren.

    - C64 keyboard to MIDI-out klingt interessant als Testanwendung, mit Paddle-Unterstützung. Könnte man sicher leicht programmieren.

    Mit dem Spiel hatte ich nur als Beispiel draufgepackt, da es ja nicht nur als reines MIDI-Interface verwendet werden braucht. Bin aber immer offen für gute Programme, die da thematisch noch besser draufpassen und die frei sind oder wo der Autor es erlaubt, das Programm draufzupacken. Ich habe da noch nicht allzusehr nachgeforscht. Mit Pro 16 und SID-Wizard hat man aber schon einige Anwendung abgedeckt denke ich. Ich könnte ja noch die fehlenden Dinge selber programmieren und zusammen in ein Programm packen, also einen guten Synthesizer, den Patch-Editor und die C64-Keyboard/Paddle-to-MIDI-Out Funktion. Da man das auch im VICE testen kann (zumindest mit der letzten Beta-Version von Pokefinder, da die aktuelle releaste noch einen von mir entdeckten Fehler beim Empfang von MIDI-Daten hatte), könnte da sogar mehr Leute als nur ich dran mitentwickeln.

  • ich weiss nicht ob es ein ansporn ist, aber wenn das mit d64 übertragung funktioniert dann würde ich es auf jeden fall kaufen, somit wäre mein lpt rechner mit x1541 kabel obsolet.

    das mit samples abspielen meinte ich natürlich, herkömmliche samples per 4bit wandlung oder pwm abspielen, je nachdem, und halt den "auslöser" nur über midi ansteuern. die samples könnte man ja evtl. über midi transferieren vorher.

    paddle to midi würde z.b. auch meine doepfer "wheel electronic" obsolet machen bzw. wäre es ein ersatz.

    weitere ideen (es müsste halt wer umsetzen):

    ° den c64 für visuals verwenden, über midi steuerbar (im atari video music stil z.b.). also diverse texte und grafikeffekte über midi "abfeuern" oder bpm syncen (midiclock)
    ° einen teil des flash ram als speicherplatz verwenden, so das man z.b. im sidwizard songs und instrumente speichern und laden kann (hat glaub ich schon jemand erwähnt), somit wäre es für musiker eine gute standalone lösung.
    ° midi monitor (der einfach die "incoming" daten anzeigt, evtl kombinierbar mit syx librarian - sowas wie bome's sendSX am pc)
    ° x0xbox step sequencer mit 8-16 steps auf dem man sowohl den sid als auch externe midi geräte sequenzen kann, als midi slave oder als master, mit MMC und MTC support, evtl einen pattern und einen song mode mit "song position pointer" support. nicht unbedingt einen x0x klon, aber ein intuitives performance tool.

  • Vermutlich weil ich im Besitz eines ebensolchen Cracks bin


    prophet64 ist nicht mssiah, die prophet64 software kann nur pseudo midi (nur sync) und sync-24. auf dem mssiah sind andere/neuere versionen der programme, und von denen gibts keinen crack.

  • Samples auf dem C64 abspielen könnte schwierig werden, da wenn MIDI-Daten empfangen werden während die Sampleroutine was abspielt, das dann als Aussetzer zu hören sein würde. Man könnte aber während des Abspielens den Empfang stoppen, dann ginge das.

    Einen Teil des Flash Speichers als Diskettenersatz zu verwenden hatte ich auch schonmal überlegt. Am einfachsten wäre es wohl, wenn man dazu die Speicher/Laderoutine im Kernel ersetzt, wie es Easyflash macht und einen Teil des Flashs dann als eine Diskette reserviert. Wäre etwas Aufwand, das einzubauen, da dazu die Hardware noch erweitert werden müsste. Aber ist leider sowieso noch nicht die finale Hardwareversion (von vier getesteten C64 und einem C128 lief das Beschreiben des Flashs auf einem C64 nicht), da könnte ich das dann vielleicht mit vorsehen. Wird dann wohl auf ein CPLD hinauslaufen, sodaß die Kosten gleich bleiben, aber bei stark erweitertem Funktionsumfang, wie die Speichermöglichkeit und die MIDI-Adressen usw. alles per Software statt Jumper konfigurierbar. Ist dann leider nicht mehr so einfach selber nachbaubar für andere (man braucht ein Xilinx-Platform Kabel und die 10 GB ISE Entwicklungsumgebung), wie ich es eigentlich geplant hatte, aber man kann nicht alles haben.

  • wo sitzen eigentlich die jumper bzw. wie käme ich da ran wenn das cart geschlossen ist? falls es noch eine hardware baustelle gibt würde ich auch auf jeden fall status leds für midi einbauen (in/out), sowas hat man als musiker gerne als "zwischenstück" um z.b. das kabel zu verifizieren. nachbaubar - wenn man wirklich "nur" ein midi interface braucht, als bastler, könnte man ja sowas generisches mit ACIA chip bauen. für den preis eine eierlegende midi wollmilchsau ist auf jeden fall attraktiv, ich sehe midi interfaces für den c64 nur sehr selten auf ebay zu preisen jenseits der 50eu. es ist halt wichtig zwischen features und bedienbarkeit eine gute balance zu haben, lieber weniger als mehr - dafür bedienbar und stable (z.b. wenn die configs über menü statt jumper kommen muss das einfach zu bedienen sein ohne das man das manual braucht, auch so unfug wie midi ch0-15 oder ch1-16 muss klar definiert sein, daran scheitern ja viele am anfang)

    sample routine mit pause ist auch schwierig, ich denke gut wäre es wenn das sample im "cut itself" modus läuft, so das z.b. eine ausklingende offene hihat sehrwohl von einer snare unterbrochen werden kann, sonst ist es ja etwas mühsam schnellere sachen abzuspielen. evtl müsste man den midi "sense" mit in die schleife einbauen. if midi in ="0" then continue sample playback...


  • prophet64 ist nicht mssiah, die prophet64 software kann nur pseudo midi (nur sync) und sync-24. auf dem mssiah sind andere/neuere versionen der programme, und von denen gibts keinen crack.

    Wenn einer den Mssiah nutzen will, dann soll er sich doch bitte einen kaufen.

    Leuchtet ein, und das mit dem Kauf ist ohne Frage das Vernünftigste (...nur ist umstecken immer so nervig) - aber ganz davon ab werd ich das Teil wohl eh nur mit dem Wizard und SDI nutzen - die beiden reichen mir vollkommen ;) Und ach ja, Steinberg Pro16 kenn ich auch noch gar nicht......sicher auch sehr interessant.

    Disk im Speicher/Flash als Diskersatz würde ich übrigens ziemlich interessant finden! (->SW-Instrumente)

  • man könnte ja noch anfragen ob man cynthcart mit raufgeben kann bzw. ob man es midifizieren kann.