Gioxannes Posted February 26, 2009 Author Report Share Posted February 26, 2009 More progress, still no pictures :(Today uploaded MIOS and the midibox application to the core module (the PIC was already programmed with the bootloader by Mike, thanks Mike). An overview of the pitfalls.1. My 5V stabilized power leaves only 2.74V after the rectifier and the 7805 (that I already expected). So I took out the rectifier and the 7805 and bridged the outer two pin-holes of the 7805. The elco and other caps I left in as additional stabilization.2. MiosStudio found the bootstrap every two seconds, but failed to upload (unexpected bootstrap received). So I checked everything around the MIDI-in especially around the octocoupler. A tiny drop of tin had bridged two of the octocoupler pins, which I had to remove.Upload of the MIOS (v1_9f) went fine after this.I had to choose an application. The midibox64 can not handle encoders. The midibox 64e did not show any link to pots. And I have both! I had a short look at the Midibox16e, but was advised that this project is no longer supported.Then I discovered something VERY importent. AFTER an application upload, you still have to upload a settings file (ini/sys). This is not shown in the application development page. The settings in this file override the default application settings, like number of encoders and number of pots. The midibox 64e can handle both, so I had to upload this application.Uploading of the Midibox64e file went without problems. And the core started giving me lots of midi events since nothing else was connected. Hurray! Another milestone achieved. :DThere is another confusion in the midibox64e_v2_b2 zip file. It does NOT contain a midibox64e.hex file! Apparantly the midibox64.hex has to be chosen, although I find this confusing. ??? Quote Link to comment Share on other sites More sharing options...
stryd_one Posted February 27, 2009 Report Share Posted February 27, 2009 Good blogging you got here man, thanks :)1. My 5V stabilized power leaves only 2.74V after the rectifier and the 7805 (that I already expected). So I took out the rectifier and the 7805 and bridged the outer two pin-holes of the 7805. The elco and other caps I left in as additional stabilization.As intended:PIC based CoreJ2 2 .....When used as +5V input: for supplying from J2 of another core module, or from an external stabilized Power Supply Unit (PSU). In both cases the voltage regulator (IC3) should not be connected, also the rest of the voltage stabilization circuit between J1 and J2 (X1, C5, C6) can be left out. If the core module (and all connected modules to this branch) drains more than 100 mA, it's recommented to mount C5 directly to J2 (a small cable between the outer soldering pads of the left-out 7805 will do this)....2. MiosStudio found the bootstrap every two seconds, but failed to upload (unexpected bootstrap received). So I checked everything around the MIDI-in especially around the octocoupler. A tiny drop of tin had bridged two of the octocoupler pins, which I had to remove.Upload of the MIOS (v1_9f) went fine after this.Good work!I had to choose an application. The midibox64 can not handle encoders. The midibox 64e did not show any link to pots. And I have both!You can setup the hardware for pots and encoders in the setup_*.asm file. See quotes from the comments:;; Setup File for TK's MIDIbox64; Explanations to the switches and levers: see setup_midibox16e.asm;;; Although MIDIbox64E has been designed for rotary encoders' date=' it can also handle with; up to 64 pots/faders or up to 8 motorfaders.; Pots and faders are mapped to the "encoder" entries 64-128.; Example: if group width is 16, and group 1 is selected, encoders are using; entry 1-16, and pots are using entry 64-70; NOTE: morphing is automatically disabled if analog pots/faders are connected#define DEFAULT_NUMBER_AIN 0;; you could enable the multiplexers here to test this application; with a MIDIbox64 based hardware; if 0: no multiplexers (a *must* when MF module connected); if 1: use multiplexers#define DEFAULT_ENABLE_AIN_MUX 0;So....... not really ;) But it doesn't hurt!Probably overly-specific, but FYI - that's not actually an application, just settings for it. Like:MIOS - Windows - Operating SystemMB64e - Firefox - ApplicationSYX of INI - Bookmarks - SettingsSounds familiar.... AUAIMBCTGErr yeh, fair enough... I'll change the filename on SVN, this will change in the next release to setup_midibox64e.hex. It's possible there is a reason I've overlooked though, so this change might get rolled back... Quote Link to comment Share on other sites More sharing options...
Gioxannes Posted March 1, 2009 Author Report Share Posted March 1, 2009 Okay, I took the plunge and started writing my own dedicated midi sequencer for this project.I will start a separate topic for this "Light Weight Midi player/sequencer"After all, I am more a software than a hardware man.Remember: This is the sequencer that will go into my synthesizer box. Not the one I am composing with. Quote Link to comment Share on other sites More sharing options...
Gioxannes Posted March 14, 2009 Author Report Share Posted March 14, 2009 More software progress.There were moment that I was really tempted to put all functionality into the sequencer I am working on (ExCuSe, see also http://www.midibox.org/forum/index.php/topic,13091.0.html). Like just read out which button/pot/encoder creates what event and do all the conversion in the sequencer, like bank changes etc). The advantage would be:- enormous programming flexibility- unlimited memoryBut this would be totally respectless to the work Thorston did, and I could have well just have bought a parallel TTL IO controller.Bottle neck was that to be able to switch a track on or off, I need 3 control-change messages on the touch of a button.And then I discovered META events! :)In the mb64e_meta.inc I had to do some changing (and quickly learning some pic assembly) to change a sysex stream into a cc-stream. And this is what it turned out to be:MB64E_META_Handler ;; branch depending on second meta event byte movf MIDI_EVNT1, W JUMPTABLE_2BYTES 17 ; 17 entries rgoto META_Send_ExCuSe_NRPN <--- replacing Handler_00 rgoto MB64E_META_Handler_01 rgoto MB64E_META_Handler_02 rgoto MB64E_META_Handler_03 rgoto MB64E_META_Handler_04 rgoto MB64E_META_Handler_05 rgoto MB64E_META_Handler_06 rgoto MB64E_META_Handler_07 rgoto MB64E_META_Handler_08etc....and later:;; -------------------------------------------------------------------------- ;; This is a subroutine which sends a NRPN stream for ExCuse Sequencer ;; IN: parameter address in working register WREG ;; enc/button value in MIDI_SENDMETA_Send_ExCuSe_NRPN call MIOS_MIDI_BeginStream ; begin stream movlw 0xb0 ; send 0xb0 call MIOS_MIDI_TxBufferPut movlw 0x63 ; send NRPN_MSB call MIOS_MIDI_TxBufferPut movlw 0x77 ; 118/119 track on/off sublw MIDI_EVNT_VALUE ; send button value, stored in MIDI_EVNT_VALUE (0/1) call MIOS_MIDI_TxBufferPut movlw 0x38 ; send 0x38 call MIOS_MIDI_TxBufferPut movf MB64E_CURRENT_BUTTON, W ; send button-id (note: bank access) call MIOS_MIDI_TxBufferPut movlw 0x06 ; send 0x06 call MIOS_MIDI_TxBufferPut movlw 0x00 ; send 0x00 call MIOS_MIDI_TxBufferPut goto MIOS_MIDI_BeginStream ; end stream and exit;; --------------------------------------------------------------------------Unfortunately I have not been able to test it yet, but it compiles great, and I am not expecting any problems with it. ;)Gio. Quote Link to comment Share on other sites More sharing options...
Gioxannes Posted March 22, 2009 Author Report Share Posted March 22, 2009 The synthesizer board is ready. It only has one button: for On and Off.Midi in/outEthernetStereo out (48Khz, 16 bit)In the end I used init level 4 to adjust the startup sequence. This level is not used in Mandriva.The biggest work was going into fault recovery. What if something crashes? It has to recover by itself without rebooting, since this takes more than a minute (power down, 10 secs, power up 75 secs, something to work on in the future), and there is no mouse, keyboard or display connection.So, I had to write some script to restart jack after a crash, like fluidsynth, the midi I/O and to reconnect everything with everything afterwards. For Jack this takes 5 seconds, for Midi I/O less than one, for the synth about 3.However, under normal use it doesn't crash... (I had to pull some tricks to test it).Memory usage went down to about 100Mb as well.The OS with network, secure shell, alsa, and midi: 14 MbJack: 28 Mbfluidsynth with soundfonts: 60 Mb.Under heavy load (Rachmanicov Symphony with lots of speed changes) processor usage is around 30% and on a steady 45o celcius. Power consumption 75 watt, so lots of power left (150W ATX power supply).I am happy... :D Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 22, 2009 Report Share Posted March 22, 2009 Sweet :) Pics! Quote Link to comment Share on other sites More sharing options...
Gioxannes Posted April 28, 2009 Author Report Share Posted April 28, 2009 Just to let all know, I am still there, but very busy doing other things on the moment.I hope I can inform you about some progress soon.Gio. ;) Quote Link to comment Share on other sites More sharing options...
Gioxannes Posted July 3, 2009 Author Report Share Posted July 3, 2009 Soon is turning into later. I only was able to finish the pots and push-buttons connections on the backside of the panel.But I am still there, and still thinking about my second box... ;) Quote Link to comment Share on other sites More sharing options...
clem! Posted July 3, 2009 Report Share Posted July 3, 2009 Hi Gioxannes,fine to see that someone else is actually trying to integrate a keyboard. I´m still working on my mb64-based-keyboardcontroller-mb-project - searching for nice knobs and a concept for the controllers.But I´m planning, since I bought 3 sids a mb-sid-keyboard, eventually integrated into this keyboard.Does your keyboard have a dynamic-scan-matrix, an on/off-scan matrix or is it without electronics - and how will you solve the connection to your midiboxBest regardsclem! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.