Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. Twin-X made a special arrangement with his provider, so that we can temporary use the "preview URL" until the DNS entries of midibox.org are changed (Sidenote: a provider who gives such a support even on Sundays is really recommendable) IMPORTANT please remove your bookmarks which are linking to the 69.56.171.55 IP, and use http://forum.midibox.org instead. The path to all midibox.org pages will be different after the DNS change. References from ucapps.de and from forum articles will be updated automatically. Best Regards, Thorsten.
  2. due to a copy error I released the wrong version of mkmk.pl - it's corrected in the *b.zip release (links above are modified) Note also that the C wrapper contains a bugfix for the MIOS_TIMER_Init() and _Reinit() function - don't use the old wrapper anymore Best Regards, Thorsten.
  3. Hi, you can ignore this mismatch, in the .hex file all unimplemented bits in the config sector are 1, but the PIC returns 0 for such bits Best Regards, Thorsten.
  4. Hi Jeff, the SR handler activates the write line for 1.2 uS to ensure that the data word will be taken. This doesn't ensure that data will be written twice, but fortunately the SID registers are not sensitive to write events. Means: it doesn't make a difference if a value is written multiple times so long it doesn't change Best Regards, Thorsten.
  5. I've implemented the makefile generator, which should help to make the build process compatible to Unix and all Windows versions. It's now part of following packages: http://www.ucapps.de/mios/sdcc_skeleton_v1_0b.zip http://www.ucapps.de/mios/midibox_mm_v2_0b.zip http://www.ucapps.de/mios/analog_toolbox_v1_1b.zip Ian/Pilo: could you please test the Makefile under Mac/Linux? Gerald: could you please check it with your windows version? Best Regards, Thorsten.
  6. Hi Pilo, it's very dangerous to call DIN_NotifyToggle from an interrupt service routine. One point is, that it will be called anyhow - it's called from the mainthread on any change in DIN registers. Another point is, that SR_Service_Finish() could interrupt a function from the mainthread which uses the same resources like your (misused) DIN_NotifyToggle routine. Suggestion: within the interrupt service routine you should only store the pin values in an array, which contains so much bytes like required for your matrix (note that one byte contains 8 bits: for 8 DIN pins) Add another array to notify changes. Just set the appr. bit within the array to 1 once a DIN value has been modified from the ISR Then write a new function which is called from Tick(), and which checks for the notifier. If it is set, clear the bit and call DIN_NotifyToggle with the appr. arguments. Note: any modifications on the notifier array from the main thread should be atomic. Means: this (small code part --- not the whole routine!) should not be interrupted. Interrupts can be disabled with "INTCONbits.GIE = 0;", and they can be enabled again with "INTCONbits.GIE = 1;" Another remark: I would write such code in assembler, and would call a C function on any DIN changes. SDCC produces very large code on array accesses, you can propably boost your DIN matrix handler by factor 10 and more, when you are implementing the handler in assembly language. An example is already given in the sm_example1, it calls the SM_NotifyToggle function, from there you could branch to a C function (see MIOS wrapper code how to do this) Best Regards, Thorsten.
  7. Thanks for the input! Due to the crappy support of Makefiles in a windows environment (e.g. GNU make cannot reference external commands without absolute path), I will propably write a makefile generator which generates a simpler make.bat as the one currently used (because it doesn't work under Win98 and WinME), and a Makefile for Unix/Mac Best Regards, Thorsten.
  8. A nice solution - but take care: if something is blocking the mainthread (e.g. an incoming MIDI stream), it can happen that the "row" number has been changed before DIN_NotifyToggle() is called. However, for simple applications (which don't use the MIDI merger or which are not heavily loaded by other tasks) such corner cases propably never happen Best Regards, Thorsten.
  9. Hi Zeh, I've some plans for a non-blocking BankStick Write function (and a Status function which helps to determine if a write is ongoing), which will allow to save data in background without affecting the realtime performance. Not only in MBSEQ, but also in MBSID and MBFM. But this will require a lot of (small) changes in the application, and heavily testing, therefore I guess it's better when I will do this - maybe during my next vacation Best Regards, Thorsten.
  10. Detented and Undetented Rotary encoders with 16..32 pulses per rotation are ok. I would suggest to buy them from voti.nl (search for M-SW-ROT), you won't find encoders for the same low price in Germany, so - it's worth to pay the shipping costs, and Wolder normaly delivers within 1..2 days Best Regards, Thorsten.
  11. Hi Kurt, MB64 cannot emulate the Logic Control Protocol - however, without the large display it doesn't make much sense anyhow, and most MIDI software provides a good integration of such a generic controller that you are planning to build. I would suggest to add at least one DINX4 module (or one 74HC165 on a breadboard) for at least 8 buttons. This allows you to control special functions of your sequencer (e.g. Play/Stop/Record/...) Also Solo/Mute buttons can be very useful Best Regards, Thorsten.
  12. Hallo Axel, bei mir ist das Brummen erst mit der optimierten Schaltung voellig verschwunden Gruss, Thorsten.
  13. TK.

    Schaltungsfrage ?

    Hallo, in der main.asm Datei der MIDIbox64 Applikation gibt es einen Schalter names "DEFAULT_ENABLE_PAGE_HANDLING". Diesen auf 1 setzen. Nun kannst Du mit dem Meta Event "FF 05 xx" zwischen bis zu vier "Pages" umschalten (eine Page besteht aus bis zu 16 Potis) Fuer zwei Seiten muesstest Du also auf einen Taster "FF 05 00" legen, und auf den anderen "FF 05 01" Die CC Events der ersten Seite legst Du (bspw. in midibox64.ini aus dem mk_syx.zip Packet) auf Poti Eintrag 1-9, die anderen CC Events auf Poti Eintrag 17-25 Gruss, Thorsten.
  14. TK.

    T-Shirts

    Hallo Zeh, ich habe nichts gegen solche Fan-Shirts, nur wuerde ich eher midibox.org favorisieren, zumal wir ja mittlerweile ein huebsches Logo haben (das es auch im Vektorformat gibt) - mit diesem T-Shirt sollte man mal auf der naechsten Frankfurter Musikmesse durch den Behringer Stand gehen.. ;-) Gruss, Thorsten.
  15. It should work again Best Regards, Thorsten.
  16. Richard has built an eye-catching black/red box to control Traktor. He wrote:
  17. Once again a great box, made by our "c64 case fetishist" d2k! :) He wrote:
  18. Yes, it does! :) Best Regards, Thorsten.
  19. Thats an interesting effect! I've added this to the MIDI troubleshooting guide Best Regards, Thorsten.
  20. Hi, MIOS_Delay stalls the whole main process, this means especially that no MIDI data can be received so long this delay function is running. The Timer() function is better for such tasks. It's clocked with an hardware timer, which delivers very adequate results (nanosecond accurate) - regardless which processes are running in background Best Regards, Thorsten.
  21. experience doesn't save you from making errors (the unexpected ones are the uggliest ;-) Who knows, maybe you've found two secret oscillators of the SID? ;-) Without a schematic of the silicon it's hard to say why an oscillation can happen on such a connection Best Regards, Thorsten.
  22. TK.

    SID in progress

    Extremely clean and stable design! :) Best Regards, Thorsten.
  23. dieses unscheinbare Knoepfchen war die Loesung! :) Allerdings funktioniert der MIDI Transfer noch nicht, egal welches Interface ich anwaehle :-/ Zu Logic: evtl. liegt es an der Benamung der .dll's: in der VST Auswahlleiste erscheint nur der Ordner "SID-Control", und darin befindet sich das SCTR (anwaehlbar als VSTi). Scheinbar kommt Logic damit nicht zurecht. Koenntest Du den Ordner mal in "SID-Control data" (oder aehnlich) umbenennen? So habe ich es bei einem anderen VSTi gesehen. Andere Moeglichkeit: ich bin mir nicht sicher, aber es koennte sein, dass das VSTi mindestens einen Audio-Kanal anbieten muss, egal ob dort etwas rauskommt oder nicht. Ich wuerde beides anbieten. CCs haben den Vorteil, dass sie sehr schnell uebertragen sind, doch sie sind nun mal auf einen Kanal festgelegt (was wiederum sinnvoll sein kann, falls mehrere SIDs gleichzeitig angesteuert werden sollen) Die direkte Addressierung klappt nur per SysEx, jede andere Loesung waere "Pfusch". Gruss, Thorsten.
  24. This mapping exists due to compatible reasons with older MB64 hardwares. It maps the DIN shift registers to the entries of the midibox64.ini file. By default, the first shift register is assigned to position 17-24 (partly used for menu navigation), so that people are able to control the menu with only one 74HC165. Without telling too much words which are not really relevant here: yes, you can use any mapping you want (sometimes I build too much features into the application...) Best Regards, Thorsten.
  25. Thanks for the detailed description, it really helps to imagine what is going on! In theory following scenario could be possible: if MIOS is uploaded partly, but not completely due to an MIDI interface issue, then something unexpected can happen. Something, which is out of my control (I've no solution to catch such a case). One unexpected thing is, that the incomplete code branches into a flash programming routine with random parameters, and this could erase anything. Not only code, but also the configuration sector (which specifies criticial flags like clock frequency, write protection, etc). Something like this is normaly very unlikely, I only know one person who had such an issue before. You could be the second one. The only possibility to prevent this in future could be an extension in MIOS Studio which verifies MIDI transfer with some dummy writes to uncritical memory regions before starting the upload of MIOS. But such a feature won't help you now. No MIDI Out: this remembers me on an issue which was reported some time ago - no MIDI data was received anymore after an endless stream of random MIDI events. The root cause was a bug in the MIDI Driver of the soundcard (it was a Terratec card) - a reboot of the PC helped. Why random MIDI events? See above --- something unexpected can happen once a single block has not been uploaded correctly. MIOS Studio retries the upload 3 times, it gives up if there wasn't any success and then *boom* So, in general there could be a problem with your MIDI interface - if you've luck, a driver update will help. If not, I've no solution. However, maybe there is somebody in your area who could burn the bootstrap loader again, and who could upload MIOS + the application for you - where do you live? Best Regards, Thorsten.
×
×
  • Create New...