Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. Hallo, Du koenntest die Vintage Option nachbauen, und diese so stark reduzieren, dass sie Deinen Anspruechen entspricht. Also: ein Core Modul, ein DINX4 Modul (nur die 16 "General Purpose Buttons", sowie den Play/Stop Button bestuecken), ein AINX4 Modul (nur die ersten 16 Potis anschliessen, die restlichen analogen Eingaenge am AINX4 Modul und am Core Modul auf Masse klemmen!) MIOS und die MBSEQ Applikation (setup_mbseq_vintage.hex) aufspielen - und schon kann es losgehen :) Die Geschwindigkeit wuerde ich vom Virus aus regeln, so dass der Sequenzer auch on-sync mit dem Delay Fx ist. Spart ein zusaetzliches Poti, und ist sowieso sinnvoller. Saemtliche MBSEQ Parameter lassen sich uebrigens via CCs aendern, vielleicht auch vom Virus aus (falls er CCs senden kann) - damit sparst Du das LCD: http://www.ucapps.de/midibox_seq/mbseq_cc_implementation.txt Per default wird sich die MBSEQ jedoch bereits so verhalten, wie Du es moechtest... Gruss, Thorsten.
  2. Hallo Moroe, der Joystick Anschluss bietet (meistens) einen MIDI Eingang, deshalb kann man davon ausgehen, dass das Keyboard sich diesen zunutze macht. Vermutlich befindet sich das MIDI Signal auch schon auf TTL Pegel, Du brauchst also lediglich zwei 220 Ohm Widerstaende, sowie eine DIN Buchse, um den Anschluss MIDI-Kompatibel zu machen. Hier die Anschlussbelegung des Joystick-Steckers: http://www.hardwarebook.net/connector/userinput/gameportpcmidi.html An Pin 1 befindet sich 5V - diesen via 220 Ohm Widerstand an die DIN-Buchse An Pin 15 befindet sich der MIDI Out des Keyboards - diesen ebenfalls via 220 Ohm an die DIN-Buchse Um die richtige Polung herauszufinden, kannst Du Dich nach dem Core Schaltplan richten: http://www.ucapps.de/mbhp/mbhp_core.pdf Gruss, Thorsten.
  3. Hi Michael, thanks for your contribution, good to hear that it works in principle with the Mac. Well, the problem with your static make.sh script is, that it won't be automatically enhanced if additional source files are added to the project. Thats the reason, why I've implemented a makefile generator, which generates a "Makefile" for Unix, and a "make.bat" for DOS. -> see tools/mkmk.pl and "MAKEFILE.SPEC" I would propose to get use of this generator in order to guarantee the compatibility with complex C application (it would also be more newbie-friendly) There are two ways: either the mkmk.pl script generates a make.sh file for MacOSX, or we are trying to improve the generated Makefile, so that it runs under Linux and MacOSX Did you try out the Makefile? "make -f Makefile" should also work on the Mac, no? Best Regards, Thorsten.
  4. The sequencer can control any MIDI device :) Best Regards, Thorsten.
  5. Hallo Fama, Hierzu zwei Dinge: zum einen sollte jedes Kontrollelement (also Button/Poti/Fader/Encoder/etc.) ein eindeutiges MIDI Event senden. Wenn man sich auf CCs beschraenkt (die von den meisten Host Sequencern unterstuetzt werden), stehen 128 CCs pro MIDI Kanal zur Verfuegung. Es gibt 16 MIDI Kanaele, somit kann man alleine mit CCs 2048 eindeutige Parameter uebertragen. Den MIDI Kanal legt man bei MB64/MB64E/MBMF entweder einzeln fuer jedes Kontrollelement fest, oder global fuer alle gleichzeitig ("Global MIDI Channel"). Diese Konfiguration kannst Du vornehmen, sobald MIOS (das Betriebssystem) und die Applikation (also MB64/MB64E/MBMF) via MIOS Studio aufgespielt wurden. Danach kannst Du entweder mit Serge's SysEx Editor, oder mit dem mk_syx Script die Default-Konfiuration aendern. Mit Serge's Editor geht es sehr komfortabel, mit dem mk_syx Script schneller (da man die Konfiguration einfach in ein Textfile reinschreibt), und schliesslich kann man die Box auch direkt am LCD konfigurieren (falls man eines vorsieht) In den .ini Files des mk_syx Packages gibt es uebrigens auch eine Beschreibung der konfigurierbaren Parameter - es macht Sinn, da einfach mal reinzuschauen. MIDIO128: aehnlich wie oben, doch es gibt keinen globalen MIDI Channel, die Kanaele muessen also einzeln eingestellt werden. Mehr Infos im mk_midio128_syx Package 2. Die Boxen werden miteinander verlinkt, indem man den MIDI Merger einschaltet. Nun tritt ja das Problem auf, dass der Host Sequencer evtl. ein paar LEDs der zweiten oder dritten Box ansteuern soll. Wenn jede Box die entspr. MIDI Events vom Host einfach weiterleiten wuerde, erhielte der Host am Ende seine eigenen Events wieder zurueck. Die meisten Hosts koennen mit solch einer Rueckkopplungsschleife (Loopback) nicht umgehen und haengen sich auf. Aus diesem Grund gibt es "MIDIbox Link" - Details hier: http://www.ucapps.de/midibox_link.html Kurzbeschreibung: fuer die beiden ersten Cores muesstest Du "MIDIbox Link Forwarding Point" aktivieren, und fuer den letzten Core "MIDIbox Link Endpoint". Die Forwarding Points leiden die MIDI Events des Hosts weiter, der Endpoint filtert sie raus. Hingegen werden alle MIDI Events, die von den Cores selbst generiert wurden, vom Endpoint an den Host weitergeleitet. MB64 unterstuetzt bis zu 64 Pots/Fader, 64 Buttons und 64 LEDs, und bietet eine Konfiguration direkt im LCD Menue, MIDIO128 unterstuetzt 128 Buttons und 128 LEDs, bietet aber keine direkte Konfigurationsmoeglichkeit (nur ueber das mk_midio128_syx Script, also vom PC aus) Nein, Encoder werden nur von der MIDIbox64E unterstuetzt. Die MB64E unterstuetzt auch Motorfader, genauso wie die MIDIbox MF (die MF ist eine aeltere Variante, die mittlerweile eigentlich obsolet ist) - wie man das konfiguriert, ist im main.asm, bzw. in den setup_*.asm Files erklaert. Meistens braucht man die dortigen Einstellungen noch nicht mal zu modifizieren, sondern kann einfach das passende Setup uebernehmen. MIOS is a textadventure... ;-) Viele Informationen befinden sich in den main.asm Files der Applikationen, sowie in den Konfigurationspackages (bspw. mk_syx.zip) Das kannst Du einstellen. Falls der Wert direkt gesendet werden soll, sollte bei der MB64 der Pot-Mode "Normal" eingestellt werden. Sollen die Potis/Fader jedoch solange keinen Wert senden, bis der momentane Wert des Hosts ueberschritten wuerde, so stellst Du den "Snap" Modus ein. Gruss, Thorsten. FAQMARKER
  6. Hallo Bernd, wenn eine Note gespielt wird, sollte das Zirpen im Hintergrund eigentlich nicht zu hoeren sein. Ausserdem ist es eigentlich sehr leise (ca. -50 dB bei einem 6581, ca. -75 dB bei einem 8580), und kommt nur dann so richtig zum Vorschein, wenn man einen Compressor verwendet. Kannst Du mir vielleicht mal eine Aufnahme zuschicken? Vielleicht musst Du doch noch ein wenig an der Hardware optimieren. Die wenigsten Hintergrundgeraesche erhaelt man mit der optimierten PSU http://www.ucapps.de/mbhp/mbhp_4xsid_c64_psu_optimized.pdf Falls Du ein Control Surface gebaut hast, macht es ausserdem Sinn, dem DOUT Modul einen Elko zu spendieren. Auch die Bypass Caps waeren nicht verkehrt - Informationen hierzu findest Du auf der CORE/DINX4/DOUTX4/SID Seite (suche nach "bypass") Noch etwas zum Noise Gate: es sollte eine "lookahead" Funktion besitzen, so dass das Gate vor der Attack Phase wieder geoeffnet wird (so etwas geht nur digital, der Envelope Follower von Logic Audio kann das ziemlich gut). Ohne diese Funktion wird der Anfang des Sounds einfach unterdrueckt, was nicht so toll ist... Gruss, Thorsten.
  7. Hallo Bernd, SID-station scheint heutzutage wohl ein allumfassender Begriff wie "Tempo-Taschentuch" oder "Edding" zu sein. Ich vermute mal, dass Du die MIDIbox SID meinst (obwohl dieser Effekt auch bei einer SID-Station auftritt). Es handelt sich hier um ein Problem mit dem SID selbst. Beim 6581 ist der Leakage groesser als beim 8580, doch auch hier hoert man noch was. Von der Softwareseite her kann man da quasi nichts tun (siehe auch http://www.midibox.org/forum/index.php?topic=5860.0), doch auf der Aufnahmeseite schon: schalte einfach ein Noise Gate VST (Envelope Follower) dazwischen, damit laesst sich das Geraeusch vollstaendig eliminieren Gruss, Thorsten.
  8. Could you please show me the messages which are displayed by MIOS Studio during the upload procedure? Maybe this helps to understand, what is going on. Which MIDI Interface are you using? Best Regards, Thorsten.
  9. I've written a new tutorial which describes, how to rip wavetable sounds from .sid files: http://www.ucapps.de/howto_sid_wavetable_1.html Hope that this will lead to a lot of new patches. :) Does anybody know some .sid tunes with exceptional good drums? Best Regards, Thorsten.
  10. Here's a new MBSID-D release which supports editing drum sounds on the control surface: http://www.ucapps.de/mios/mbsid-d_alpha3.zip I've also updated some patches. Marcel: some your patches are properly transposed now See the new Wavetable Tutorial, how to rip sounds from .sid files: http://www.midibox.org/forum/index.php?topic=5911.0 Best Regards, Thorsten.
  11. Hi Adam, assumed that the bootloader is already in the PIC (otherwise you wouldn't see that the upload was successfull): did you upload the operating system (MIOS) before the application? This is very important, otherwise the app won't be started. Best Regards, Thorsten.
  12. No, you can store it directly in binary format. It heavily depends on the application which format is the best. For example, if you want to save 128 CC values of a single channel, then you don't need to save the first and the second byte, only the third (the value) in a table of 128 8-bit entries. If you want to save the CC number as well as the number, a table of 16-bit entries is enough, but searching for a specific CC is more time consuming. It's better (and easier) to store such data into the internal EEPROM or into an external BankStick. The EEPROM provides 256 bytes, the external BankStick up to 8*64k Reading from EEPROM is easy, example for a 128 byte CC table: cc_value = MIOS_EEPROM_Read(cc_number) Writing to EEPROM: MIOS_EEPROM_Write(cc_number, cc_value) Sending a pot value which is stored in EEPROM: MIOS_MIDI_TxBufferPut(0xb0); // CC channel #1 MIOS_MIDI_TxBufferPut(cc_number); // the CC number MIOS_MIDI_TxBufferPut(MIOS_EEPROM_Read(cc_number)); The handling for a BankStick is very similar, just replace EEPROM by BANKSTICK Best Regards, Thorsten.
  13. I just have created a Frappr map for the MIDIbox community - click here and add your details :) -> http://www.frappr.com/midibox Best Regards, Thorsten.
  14. Here are some pictures of Kris' Traktor controller - seems that this is the first MIDIbox + Laptop combination which has been integrated into a single case. Well done! :)
  15. George: your code won't work correctly on the PIC18F, since it doesn't take the high-byte of the instruction counter into account. See the JUMPTABLE_2BYTES_UNSECURE macro in macros.inc how jumptable can be realized securely With PIC18F devices table accesses can be realized much easier, since it provides a "table read" command, which reads directly from flash memory. The result will be put into the TABLAT register. Here a simple examle which reads a table entry, each entry consists of two bytes: ;; index of entry in W register mullw 2 ; multiply by two movlw (MyTable & 0xff) ; create 16-bit table pointer addwf PRODL, W ; add low-byte of multiplication result movwf TBLPTRL ; store in low-byte of table pointer movlw ((MyTable>>8) & 0xff) ; high-byte of table addwfc PRODH, W ; add high-byte of multiplication result (with cary from last addition) movwf TBLPTRH ; store in high-byte of table pointer tblrd*+ ; read first entry and increment table pointer movff TABLAT, PRODL ; store byte in PRODL tblrd*+ ; read second entry and increment table pointer movff TABLAT, PRODH ; store byte in PRODH return MyTable dw 0x1234 ; first entry dw 0x5678 ; second entry dw 0x9abc ; third entry [/code] However, I strongly recomment the use of C for such experiments, the code is much smaller! [code] const unsigned int MyTable[] = { 0x1234, 0x5678, 0x9abc }; A table entry can be accessed with: MyTable[x] (where x is the table index) Alex, you wrote that you want to implement a random generator. The SID Random toy is written in C, it's more difficult to merge assembly with C code, then just to write the whole application in C - you make it much more complicated than it really is! Best Regards, Thorsten.
  16. Mir sind keine Probleme bekannt, der PIC sollte die LEDs locker treiben koennen. Vielleicht liegt ja hier ein Kurzschluss vor - dieser koennte das Verhalten des PICs direkt beeinflussen Gruss, Thorsten.
  17. suppa! :) Gruss, Thorsten.
  18. Die Details findest Du unter http://www.ucapps.de/mbhp_bankstick.html Aus dem unteren Schaltplan laesst sich herauslesen, wie bis zu 8 BankSticks an das Core Modul angeschlossen werden. Halte mich bitte nicht fuer arrogant, aber ich weiss einfach nicht, wie man die Verbindungen zwischen den ICs noch einfacher darstellen koennte - falls jemand eine Idee hat, so bitte ich, eine alternative Seite in das Wiki zu stellen. Zum VSTi Tool kann ich nicht viel beitragen, da es bei mir unter Logic 5.5 (PC) nicht richtig funktioniert. Das Tool sendet ja lediglich CC Parameter ueber einen bestimmten MIDI Kanal. Ich vermute mal, dass man mehrere Instanzen oeffnen kann, und die CCs auf verschiedene Kanaele routen kann, so dass sich die SIDs getrennt ansprechen lassen, doch diese Moeglichkeit ist vom Host-Sequencer abhaengig. Leider hat man mit dem VSTi keinen Zugriff auf alle Parameter. In Deinem Eingangsposting hast Du bspw. geschrieben, dass Du mehrere Instrumente auf einem SID spielen moechtest. Da jeder SID auf einem einzigen MIDI Kanal liegt, muss man eine separate Keyboardzone fuer jeden Oszillator anlegen, und das geht nur via SysEx (-> JSynthLib oder vom Control Surface aus) Die Presets sind meistens so ausgelegt, dass alle drei Oszillatoren gleichzeitig zum Gesamtsound beitragen - nur so klingt es wirklich "fett", bzw. nur so lassen sich bestimmte Sounds ueberhaupt realisieren (Sync/Ringmodulation) - und darauf wurde die MBSID optimiert. Das VSTi kann nur mit dieser Betriebsart umgehen. Desweiteren hast Du geschrieben, dass Du SID Drums spielen moechtest. Diese bestehen aus Wavetables, die sich ebenfalls nicht mit dem VSTi editieren lassen (ich schreibe uebrigens gerade an einem neuen HowTo fuer Wavetable-basierende Percussions, demnaechst mehr zu diesem Thema) Mit der normalen Firmware laesst sich nur ein einziger Drumsound pro SID spielen, erst die SID-D Firmware ermoeglicht den Zugriff auf bis zu 21 Sounds gleichzeitig auf einem einzigen MIDI Kanal (jeder Sound ist auf eine eigene Taste gelegt) - bis zu drei Sounds koennen gleichzeitig gespielt werden - auch zu diesem Thema demnaechst mehr Diese Demos sind nun schon ca. 2 Jahre alt, die einzelnen Instrumente habe ich damals mit einem einzigen SID via Overdub (also nacheinander) aufgenommen. Bei "Auf Wiedersehen Monty" habe ich das erste Mal die voll bestueckte MIDIbox SID eingesetzt, doch auch hier habe ich mit Overdub gearbeitet, und hoechstens 2 SIDs gleichzeitig aufgenommen (fuer Stereoeffekte). Es gibt nur eine Demo, bei der 3 SIDs gleichzeitig gespielt werden, und das ist demo9_4 4 SIDs benoetige ich eigentlich nur zum Live-Jammen und "feinabstimmen" zusammen mit MBSEQ, doch am Ende nehme ich die Spuren einzeln auf - wer also nicht auf Live Recording setzt, fuer den waeren maximal 2 SIDs ausreichend. Wer die neue SID-D Firmware nutzen moechte, muss diese entweder vor der Verwendung aufladen (dauert ca. 5 Sekunden) - damit waere keine parallele Verwendung zur normalen Firmware moeglich - oder er benotigt weitere Core/SID Module Gruss, Thorsten.
  19. Another possibility: check the banks of both SIDs, they should have the same value (e.g. A) Best Regards, Thorsten.
  20. Weitere Moeglichkeit: ueberpruefe die Baenke der beiden SIDs, sie sollten auf den gleichen Wert stehen (bspw. A fuer den ersten BankStick) Gruss, Thorsten.
  21. tja, die LED Pins sind gespiegelt - da Du scheinbar der erste bist, der die Vintage Option nutzt, wuerde ich vorschlagen, dies in der Software zu aendern: DOUT_ENTRY TMP2, 0, 4, 0 ; Edit Step LED DOUT_ENTRY TMP2, 1, 4, 1 ; Mute LED DOUT_ENTRY TMP2, 2, 4, 2 ; Pattern LED DOUT_ENTRY TMP2, 3, 4, 3 ; Song LED DOUT_ENTRY TMP2, 7, 4, 4 ; Solo LED DOUT_ENTRY TMP2, 5, 4, 5 ; Fast Encoder LED DOUT_ENTRY TMP2, 6, 4, 6 ; Change All Steps LED [/code] Gruss, Thorsten.
  22. ok, after the christmas holidays with a "free head" for such issues, I remembered one case where the link doesn't work: if the device ID of the first slave SID is not 01 So - could you please doublecheck the device ID? Easiest solution: connect the MIDI Out of Slave1 with your PC and check the MIOS device ID (which is identical to the SID device ID) Best Regards, Thorsten.
  23. mir ist gerade ein (eigentlich naheliegender) Fall eingefallen, bei dem die Master-Slave Anbindung nicht funktioniert: die Device ID des ersten Slaves muss 1 sein - kannst Du das mal ueberpruefen? (Einfachste Methode: MIDI Out von Slave 1 an PC anschliessen und die MIOS Device ID ermitteln - sie sollte ebenfalls 1 sein) Gruss, Thorsten.
  24. Auch diese Probleme wurden bisher noch nicht gemeldet (und das bei einer Firmware, die schon seit gut 9 Monaten draussen ist), somit gehe ich nach wie vor von einem Hardware Problem aus Lade mal die MIDIO128 Applikation erneut auf. Wie verhalten sich die Buttons? Gibt es welche, die permament aktiv sind? Zum "*": lade die SID Applikation auf und gehe in das Root-Menu, in dem der Patch Name in der oberen Zeile angezeigt wird, und druecke die SID1 Taste - erscheint das * immer noch? Oder verhaelt sich die Menuesteuerung nun voellig anders? Master-Slaveanbindung: sind beide SIDs selektiert? (hast Du LEDs an den SID Buttons?) Siehst Du den gesendeten Patch in MIDI-Ox? Gruss, Thorsten.
  25. Hallo Daniel, ich wuerde Dir empfehlen, die EEPROMs auf eine einzelne Platine zu bauen, und in die MBSID zu integrieren. Mehr wie 8 braucht man sowieso nicht (ich selbst nutze nur 4). Wenn alle EEPROMs gleichzeitig verfuegbar sind, kann man die Patches bequem auch ohne PC zwischen den Baenken hin- und herkopieren. Ich nutze den 1. BankStick fuer die 8580 Preset Patches, den zweiten fuer die 6581 Presets, den dritten fuer unveroeffentlichte Patches (die ich immer mal wieder ueberschreibe, ziemlich chaotisch organisiert), und den vierten fuer die 303 Patches (die dann irgendwann einmal veroeffentlich werden :)) - eine zweite Preset-Bank wird ja auch gerade aufgebaut, doch es kann noch Jahre dauern, bis die 8-Bank Grenze wirklich mal gesprengt wird (es sei denn, Du moechtest die Lieblings-Randompatches abspeichern ;-) Alternativ koenntest Du auch bis zu 7 BankSticks fest integrieren, und die Ports fuer den 8. BankStick am Joystick Port des C64 herausfuehren. Somit waere der dann auswechselbar. Gruss, Thorsten.
×
×
  • Create New...