Jump to content

TK.

Administrators
  • Posts

    15,205
  • Joined

Everything posted by TK.

  1. Hi Thomas, your question in the news section hasn't been lost, I just only need some time to find a solution especially for you... ;-) The PIC16F firmware doesn't allow to store more than 8*16 parameters in RAM, and the MIOS version is not ready for use (currently only the menu handler has been written, I will not continue with the other routines before I've completed the documentations of the running projects and before I've finished the SID surface, step D) So, in the meantime there are following possibilities: if the MIDI interface of your TB303 allows to control the accent or the slide alternatively via CC (like the MIDIbox SID ;-)), you could use a second track if it is ok for you to have a sequencer with only three tracks, I could compile a special version which uses the RAM, which is currently allocated by the 4th track, as 3rd layer storage for the first two tracks I could reduce the step length to 8 and use the remaining RAM to store the 3rd layer alternatively I could also compile a variant with two tracks only where the upper three pot rows control the note, velocity and gatelength of track 1 and 2 (the track would be selectable by the current layer buttons). The lower pot-row can only be used as CC controller in this case Best Regards, Thorsten.
  2. Btw.: here the code to send a SysEx string to a DB50XG Send_SysEx_DB50XG ;; MIDI channel in MIOS_PARAMETER1 ;; parameter number in MIOS_PARAMETER2 ;; parameter value in MIOS_PARAMETER3 movlw 0xf0 call MIOS_MIDI_TxBufferPut movlw 0x43 call MIOS_MIDI_TxBufferPut movlw 0x10 call MIOS_MIDI_TxBufferPut movlw 0x4c call MIOS_MIDI_TxBufferPut movlw 0x08 call MIOS_MIDI_TxBufferPut movf MIOS_PARAMETER1, W ; send channel call MIOS_MIDI_TxBufferPut movf MIOS_PARAMETER2, W ; send parameter number call MIOS_MIDI_TxBufferPut movf MIOS_PARAMETER3, W ; send parameter value call MIOS_MIDI_TxBufferPut movlw 0xf7 call MIOS_MIDI_TxBufferPut return this function can be used from any hook, this means: you can trigger this SysEx string in your application with buttons, pots, faders, rotary encoders, etc without writing special drivers for these control elements, because the drivers itself are provided by MIOS. Best Regards, Thorsten.
  3. Hi Nomical, don't mix MIOS with the MIOS application. MIOS gives you all the basics for implementing an application, and it doesn't have to be changed, you can use the same operating system like all other applications. You have to program the whole user interface. Currently it can only be programmed in the assembler language, support for higher level languages is not planned for this year (as there are no suitable freeware compilers available yet). See the MIDIbox SID application how SysEx data can be send (yes, I know, it's very complex, but this is just the result when you want to create a perfect interface). In fact you can send and receive any MIDI data, but you have to call "MIOS_MIDI_TxBufferPut" for every single byte, there is no routine like "MIOS_MIDI_TxBuffer_SysExPut" or whatever since such a function has to be writting in the application layer (see SID application, cs_menu.inc, after CS_MENU_SendParameter_Slave as an example) sure :) I only have to burn the bootstrap loader into the PIC, thereafter you are able to burn MIOS and the application via the MIDI line as much times as you want. yes, some functions can be controlled by CC's, but the DB50XG supports much more parameters. So if you want to control the whole parameter set, you have to go for SysEx. However, for the application this doesn't make a big difference. you have to program these functions into your application. There are driver hooks like USER_DIN_NotifyToggle which allow you to react on button movements This is still possible by calling the MIOS_MIDI_InterfaceSet function. And you are also able to specify the default interface (RS232 or MIDI) in the ID field of the PIC, so that the correct setting is already available at power-on see the descriptions in the main.asm file of any applications which tools are required for Wintendo. However, as I wrote: currently only assembler is supported. Some more words: maybe the planned port of MIDIbox64 to MIOS will help you much more, because it will also be a good skeleton for customized controllers for those who feel that the SID application is too complex. But I will not start with this task before the running projects have been finished (maybe in 2-3 months...) Best Regards, Thorsten.
  4. Hi Nick, I tried to upload the bootstrap loader with my PICstart plus and noticed the same. Unfortunately this is not the only bug in MPLAB (did the Microchip guys every test the PIC18F drivers?), however, you will find a workaround here: http://www.ucapps.de/mios/mios_bootstrap_picstart_workaround_v1.zip from the main.asm ; This program is a workaround for the PICstart programmer driver ; of MPLAB and MPLAB IDE - following bugs have been encountered: ; o the driver doesn't allow to write the complete ID field. ; Only 8 ID digits can be specified, although the PIC18F452 ; provides 16 digits (= 8 bytes) ; o the driver doesn't burn the whole firmware correctly when overwriting ; of the ID field has been disallowed under Programmer->Settings ; ; NOTE: !!! IC-Prog users don't need to run this program, since this ; !!! buring software writes the ID field correctly ; ; So, here are the required steps for a proper ID initialization: ; o burn the MIOS bootstrap loader into the PIC ; o load this project ; o change the ID settings for your needs in the code below ; (default: 0x0000000000000000) ; o assemble this program or just use the preassembled .hex file if you ; don't want to use a different ID ; o reconfigure the programmer so that only the first 4k block will be ; overwritten ; - MPLAB IDE: click on Programmer->Settings, change Program memory ; end address from 7fff to fff, ; thereafter click on Programmer->Program ; - MPLAB V5.4: click on PICStart Plus->Program Verify, set the end ; address from 0x7fff to 0xfff, ; thereafter click on the program button ; o plug the PIC into the core module, start the program ; -> the MIOS bootstrap loader will get active for 2 seconds ; -> thereafter this program will be started ; -> the MIOS bootstrap loader will be started again, but now with ; the correct ID settings ; o don't forget to set the "program end address" to 0x7fff again before ; you upload the bootstrap loader for another PIC Best Regards, Thorsten.
  5. Hi Steven, the MF deadband value must be greater or equal the AIN deadband value, otherwise the motorfader driver tries to move the motors with a higher precision than the AIN driver can deliver the conversion values (=fader position), as an result you will notice those stuttering moves. I guess that all the caps between the AIN inputs and ground are not really required, especially high capacitance values can cause more problems than they should solve. More important is a good ground connection between the fader chasis, the Vss pin of the fader and the Vss pin of the core module. And (this is a new awareness) one 100nF cap across +5V and ground very near by the faders. I just have measured the signal quality of my MBLC with a scope and noticed some noise at the +5V input of the fader rail. Such noise is very common on a digital circuit and it can be eliminated by using small caps near by the drains. One cap should already be enough to fix this problem. See also the updated schematic: http://www.ucapps.de/mbhp/mbhp_mf_interconnections.pdf Best Regards, Thorsten.
  6. Hallo Slajar, den Inkrementalgeber einer Maus kannst Du genauso wie einen normalen Rotary Encoder an das DIN Modul anschliessen (siehe auch Concepts->MBHP->DIN). MIOS kann bis zu 64 davon parallel verwalten, bei Aenderungen wird ein User-Hook aufgerufen der dann bspw. die MIDI-Schnittstelle direkt bedient oder interne Parameter veraendert. Beispiele hierfuer findest Du unter Concepts->MIOS->Download (enc_example*) Die USB Geschichte have eigentlich schon laengst abgeschlossen - die Firmware steht und der Prototyp ist bei mir im staendigen Einsatz. Was fehlt ist das PCB; Tim hat das Layout mittlerweile fertiggestellt, die ersten Boards sind gerade unterwegs zu mir. :) Gruss, Thorsten.
  7. TK.

    Neubau - Design

    Hallo Thomas, eine andere Loesung als die direkte MF/Core Modul Kopplung kann ich leider nicht supporten. Theoretisch waere es schon machbar, mit einem Grab and Logik-Gattern die Ausgangssignale zu multiplexen, um MF und Core Module einzusparen, aber solch eine Loesung wuerde auf jeden Fall Performance kosten, die Fader wuerden sich auf keinen Fall mehr "smooth" bewegen, ausserdem wuerde sich die Fehleranfaelligkeit des Systems erhoehen. Die Softwareerweiterung fuer MIOS wuerde fuer mich eine Menge Aufwand bedeuten, und ich haette noch nicht einmal die Moeglichkeit, das System zu testen, geschweige denn Dir zu sagen, wo es hakt, wenn mal etwas "klemmt". Deshalb bevorzuge ich die jetzige Loesung. Von den Kosten her sehe ich kein grosses Problem - bei diesen Mengen lohnt es sich die Bauteile in Amiland zu bestellen, suche mal unter http://www.findchips.com nach den ICs, den TC4427 gibt es bspw. schon ab $1 (TC4427AEPA-ND), den PIC18F452 fuer $5.70 (PIC18F452-I/PG-ND) bei Digi-Key. Und der US-Dollar steht gerade guenstig... Navigationsbuttons, Displays, etc.: wie man das prinzipiell loest habe ich ja schonmal geschrieben: http://www.ucapps.de/midibox_link/tunnel4.gif konkretere Vorschlaege kann ich eigentlich erst dann machen, wenn Du Dir ueber die Hardware klar geworden bist. Vor einiger Zeit hast Du bspw. mal den Vorschlag gepostet, fuer jeden Kanalzug ein eigenes Display vorzusehen. Ab MIOS V1.2 koennen mehr > 2 LCDs an jedes Core Modul angeschlossen werden, der Umsetzung steht also nichts mehr im Weg. Gruss, Thorsten. P.S.: noch etwas zu den BankSticks: bei 4 Presets werden die nicht mehr benoetigt. Die Daten koenntest Du stattdessen auch direkt im Flash speichern (der Flash-Speicher des PIC18F452 ist 32k gross), der Update funktioniert nun ueber den Bootstrap Loader via MIDI in sekundenschnelle :) Da Du sowieso mehrere PICs benoetigst, sehe ich keine Notwendigkeit fuer eine "Speichererweiterung"
  8. Hi Tom, it seems that you've started the .jar file with the original JSynth release... Just open a command shell, go into the jsynth directory and type "java JSynthLib", or click on the "run.bat" file to run JSynth with the SID driver Best Regards, Thorsten.
  9. Hi Steve, thank you for the feedback! :) The low bass is nothing else than the "P24 Filtered Bass 2" preset of the MIDIbox SID, but in fact you don't hear so much from the original sound, but primarily the subharmonics which are coming from the subbass fx plugin of Logic Audio. It makes the bass so low that it doesn't overlay the other instruments :) For mixing I'm using the Magnat Vintage speakers of my stereo, however, I'm still trying to improve the mixes, especially the compressors are killing me ;-) Best Regards, Thorsten.
  10. Hi, the MIDIbox LC FAQ is an abstract of some points which have been discussed on the german board. The documentation of the whole project + pictures + english Q&A section will be published in one of the next days (I'm still thinking about the structure as so many possibilities are provided by this application...) Best Regards, Thorsten.
  11. Some years ago I had a lot of different sound cards in my PC at the same time (e.g. a Gravis Ultrasound, AWE32, SB Live and XG compatible), not at least to get as much MIDI ports as possible ;-) But in the meantime I also switched to RME Hammerfall DSP (+Multiface) - no driver & latency issues anymore + 8 analog IOs for realtime processing + support for Linux. :) For me this card + the PC software are a replacement for the even more expensive Fx gear Best Regards, Thorsten.
  12. Oh man, it's time to dedicate an own gallery page for your designs ;-) Well made! :) Best Regards, Thorsten.
  13. Hi Icam, the PIC is running fine, the LCD will not be initialized. So it must be a wiring error between the PIC and the LCD. In which way did you attach the LCD to the core module? Are you using an 2-row PCB connector, or did you solder the cables directly to J15? Best Regards, Thorsten.
  14. Hi uclaros, Maybe this time out is caused by a feedback loop. If the "automatically attach Inputs to Outputs" option is enabled in MIDI-Ox, such feedback loops will be created without informing the user. This option should be disabled like shown here: Thereafter deselect all output devices and select them again, or open the port mapping and delete all input ports Best Regards, Thorsten.
  15. Hi Nick, you should see the device ID in the "Download request" SysEx message which is sent by the bootstrap loader immediately after power-on. If the PIC doesn't send any MIDI data, the reason must be somewhere else. I'm currently not able to check the IDE (cannot be started under Linux...) but I guess that the predefined settings in the .hex file will be programmed correctly into the configuration sector although they are not displayed. With the wrong baudrate you should receive invalid MIDI events (some Pitch Bender and controllers). Maybe it's better to start with the LED test first to check if the bootloader has been started: Best Regards, Thorsten. P.S.: is your board stuffed with a 20 MHz or 10 MHz crystal?
  16. Great! :) Best Regards, Thorsten.
  17. TK.

    MIDIbox LC V1.1.2

    Hi Dan, yes, the meters will be realized like the LED rings. The number of LEDs for each meter can be defined by the user (also the patterns), up to 16 LEDs will be supported. and yes: the MTC display will be similar like shown here http://www.ucapps.de/mbhp/mbhp_doutx4_mtc.pdf but with 12 digits instead of 8 Best Regards, Thorsten.
  18. Yes Ian, thanks for your help! :) Best Regards, Thorsten.
  19. Hi Cjlargear, the intention was to access the Yamaha OPL3 soundchip without desoldering it from a soundcard (as this is a SMD chip, there is a high danger that it will be destroyed in this way). Using the wave audio capabilities of a soundcard is not planned, because it would require a lot of additional hardware (external memories, etc.) and would increase the effort a lot, especially because of all the quirks which are necesary for different cards - see http://www.alsa-project.org to get informed about the complexity for such a driver software. The PIC is no Mini-PC ;-) From the MIOS intro page: Best Regards, Thorsten.
  20. Hi DriftZ, the possibility to select the track directly is a very good idea! I would prefer a toggle function (1->2->3->4->1) which works faster in this case :) It should replace the stop function. Best Regards, Thorsten.
  21. Thanks for the applause! :D I feel that the new system gives me the possibility for advancing to new sound dimensions ;-) Yesterday I made some experiments with a virtual vocoder (which comes with Reaktor). I used two SIDs for the carrier input, and the other two SIDs for the modulation input. As a result I get mostly dissonant, but sometimes also very expressive, organic sounds - by tuning the pitch, pulsewidth and LFO parameters the combination of 4 patches can change from very ill to extreme impressive (I'm still exploring the coherences ;-)) Dan, if you would like to have some fun, start Reaktor, connect the vocoder Fx between Audio In and Out and try following patches: Carrier: "P15 Sync Pad" and "P7 Simple Pulse" Modulation: "P18 Arpeggio" and "P49 Neutron" You can either assign all SIDs to one MIDI channel, or play them on 4 different channels (which makes it even more interesting) Try different octaves and chords (-> arpeggiator) Take care for your bass speakers! ;D For extreme percussive sounds, try "P31 Metal" and one of the "WT" drums as modulation source However, If I would have the time, I would begin with Step D immediately - nothing better than direct access to all parameters without those button-click-click-click-origies ;-) Best Regards, Thorsten.
  22. TK.

    MIDIbox LC V1.1.2

    Hi Steven, you have to press "MBLC_HOLD_LAYER" button in order to switch to the second layer. So long as this button is pressed, you can select the display page with one of the first four buttons ("MBLC_DISPLAY_PAGEx"). The appr. LEDs will indicate the selected page. When you release the layer button, the default button and LED functions of the first layer will be available again. The button numbers, which are equivalent to the table position, can be found in the lc_io_tables.inc file. In this file you can also assign these MBLC specific functions to different buttons, and you are able to select your favourite button behaviour for every MBLC_* entry (toggle, hold or switch function) Best Regards, Thorsten.
  23. For all who can't wait to hear the monster sound of 4 SIDs, turn on the soldering iron, build some SID and core modules and try the new release of MIOS based MIDIbox SID V1.4 Step B :-) But also for people who can life with a single SID this update makes fun: patch upload issue solved - no inconsistend bank data anymore when you update to MIOS V1.2 (required for this SID version) Pitch range can be changed (was missing in the last version) Patch name, MIDI channel and device ID can be edited local mode allows to send CC data via MIDI in order to automatize parameters changes (now you can record filter sweeps with your MIDI sequencer program) And here the feature list for the master/slave solution: up to 3 additional core/sid pairs can be accessed from the control surface message protocol is compatible with the PIC16F877 version of the SID (V1.4) One BankStick for all cores to simplify the patch exchange spectacular stereo effects are now possible :-) Sources: MIOS V1.2 (if you haven't updated yet) http://www.ucapps.de/mios/mios_v1_2.zip SID V1.4/18F Step B http://www.ucapps.de/mios/midibox_sid_v1_4_18f_stepB.zip Simplified connection diagram for master/slave modules http://www.ucapps.de/midibox_sid_cs/sid_csB_connections.gif Example for stereo configuration: http://www.ucapps.de/midibox_sid_cs/mbhp_sid_joined_audio.gif Required preparation steps (only once after firmware upload): every slave SID needs an unique device ID - see the SID page, how this ID can be set via MIDI Slave 1 (SID#2): ID 1 Slave 2 (SID#3): ID 2 Slave 3 (SID#4): ID 3 The master SID should get ID 0 Thereafter connect the MIDI lines of the modules like shown here: http://www.ucapps.de/midibox_sid_cs/sid_csB_connections.gif After power-on you can select the SID in the mainscreen with the 4 first select buttons, the 5th select button enters the local mode (-> no MIDI data will be forwarded to the slaves, but master sends CC for automatization) More informations hopefully soon. In the next days I will especially take care for the the missing docs of MIDIbox LC, MB64 sequencer and SID step B ;-) Best Regards, Thorsten.
  24. Hi Icam, thats really strange! How about the MIOS upload, did you receive any 0E xx F7 there? Maybe the OS is not complete Best Regards, Thorsten.
  25. Hi js, did you really exchange the "call MIOS_AIN_UnMuxed" in sid_init.inc by "call MIOS_AIN_Muxed". Because the effect you are describing here is exactly that what would happen with an un-multiplexed device ;-) Maybe you should also check the multiplexers with the ain64_din128_dout128_v1_1 application first Best Regards, Thorsten.
×
×
  • Create New...