-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
This is a nice looking MIDIbox SID (Step A) built into a "razor box" by Thomas, he wrote (in german - use babelfish.altavista.com for a translation):
-
The error could also be located in the circuitry around the transistor, thats hard to say without seeing your PCB Do you have a digicam? Maybe you could make a snapshot of the bottom side and post it here? Best Regards, Thorsten.
-
After an email exchange it turned out, that this venture was mainly planned as a "sell-out" of existing MIDIbox projects. Especially when somebody expects help from the community if he runs into problems (...and who should support the customers?), and if no programming knowledge is available to implement new applications, I'm forced to stop this before it's too late. Therefore: DENIED However, you are always welcome to contribute to the community without making commercial profit Best Regards, Thorsten.
-
ACCEPTED Reasons: new application has been developed. Source code, hardware specs and additional documentation will be published so that everybody can build (and modify) the controller without purchasing it from Adrian. PCBs are delivered from SmashTV, this will help to keep his service alive Best Regards, Thorsten.
-
No, you don't have a problem, since you don't need a MIDI Out, and since I would prefer to use the same pins like for the BankStick for the Tx pin replacement (Soft-IIC, transfer maybe to second PIC with reliable USART, speed is fast enough, second MIDI In would also be possible). You see: such questions will raise the need for additional documentation and support... :-/ Best Regards, Thorsten.
-
yes (but note that nobody has written a companion firmware yet...) In theory it should also be possible to get the MIDI interface properly running, when an external serial transmitter is used - e.g. via the IIC interface. If Microchip is not able to fix the problem until this summer, this is propably the way I will go (even it will cost me a lot of documentation and support effort...) Best Regards, Thorsten.
-
This is an older erratum which only mentions the 9bit mode... Note that the workaround suggested there is not sufficient for continuous (back-to-back) transmissions over the MIDI interface. E.g., if a SysEx string should be forwarded which is longer than the transmit buffer, a buffer overrun will occur. Best Regards, Thorsten.
-
As some of you have already noticed, the linker sometimes fails if your .c code gets use of multiplications, divisions, pointer operations, etc... the main reason is, that the win32 release of SDCC doesn't include the important libsdcc.lib file, which contains the object code of functions which are used for such operations. Note that the official libsdcc.lib file is not MIOS compliant anyhow, some modifications have to be made. Therefore I've created a special library, which can be downloaded from here: http://www.ucapps.de/mios/mios_libsdcc_v2_5_0.zip The details (e.g., how to integrate this into a MIOS project) can be found in the README.txt file Best Regards, Thorsten.
-
I think you've got anything wrong. My permission is only required if somebody wants to sell a project which is based on the MIDIbox platform. I must highlight that this was initialiy not planned from my side, but over the last years it turned out that such an option is required in order to allow a legal path for somebody who has developed an innovative device and wants to sell it to interested users who don't have the skills to DIY it by themself. The intention is, that even if he makes money with a project based on my platform, the he must publish all sources/schematics and in best case also some documentation which is required to recreate the project without purchasing it. Regarding the hardware license: the Creative Common license fits very well with my requirements, especially the term which you've left out in your quote: yes, and this problem has been discussed several times in this forum (I'm a little bit tired to share my oppinions again and again...) - I also don't follow it so strictly like propably required, because there are just things which cannot be prevented, and things which make more fun than spending weeks in discussions about the bad guys in the world... Best Regards, Thorsten.
-
translation C -> assembler : need help !
TK. replied to goule's topic in MIOS programming (Assembler)
Hi Goule, in the clockbox application you will find an assembly based division routine in "mclock.c" (search for __asm) However, here another hint: if your program just only converts value A to B based on static parameters, then you could also use a table (constant array) with the required number of entries. This is significantly faster, and for common CC's it doesn't consume that much memory (e.g. a table of 128 entries allocate the same memory like 64 instructions) I'm normaly using perl scripts to calculate such tables, example: #!/usr/bin/perl print "const unsigned char exp_table[128] = {\n "; int i; for($i=0; $i<128; ++$i) { my $value = int(0x80 * (1-exp(-$i/32))); printf "0x%02x, ", $value; if( !(($i+1) % 8) ) { # linebreak printf "\n "; } } print "};\n"; [/code] generates: [code] const unsigned char exp_table[128] = { 0x00, 0x03, 0x07, 0x0b, 0x0f, 0x12, 0x15, 0x19, 0x1c, 0x1f, 0x22, 0x25, 0x28, 0x2a, 0x2d, 0x2f, 0x32, 0x34, 0x37, 0x39, 0x3b, 0x3d, 0x3f, 0x41, 0x43, 0x45, 0x47, 0x48, 0x4a, 0x4c, 0x4d, 0x4f, 0x50, 0x52, 0x53, 0x55, 0x56, 0x57, 0x58, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x65, 0x66, 0x67, 0x68, 0x69, 0x69, 0x6a, 0x6b, 0x6b, 0x6c, 0x6c, 0x6d, 0x6e, 0x6e, 0x6f, 0x6f, 0x70, 0x70, 0x71, 0x71, 0x72, 0x72, 0x72, 0x73, 0x73, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x76, 0x76, 0x76, 0x77, 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x79, 0x79, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, 0x7d, }; Best Regards, Thorsten. -
There is no workaround... The forum message still exists, just the URL has been changed (fixed) Two days ago Microchip closed my case with following message (one of my initial questions was, what will happen with the PIC18F452) Best Regards, Thorsten.
-
it depends on your endurance while soldering so many buttons and diodes ;-) Best Regards, Thorsten.
-
it could have blown the fuse of the PSU, but it can be easily exchanged Best Regards, Thorsten.
-
uploading (and especially updating) MIOS through a master core is not trivial, because you need to reset the slave seperately. Since the MIDI Out of your slave is not connected to the PC, MIOS Studio cannot determine if a code block was uploaded correctly. For an expert it's easy and comfortable to upload code in this way so long he knows what he is doing, but for a newbie it's just too error prone, and it's especially hard to think about what went wrong here (too many possibilities). Therefore I will change the suggested upload procedure for the slave modules at my website - thanks for testing! Best Regards, Thorsten.
-
It could be, that this was caused by a temporal short circuit caused by the probes. The propability that this fried your chips is low, but it cannot be excluded. I just had an idea for a simple check of the transistor amp circuit: instead of using the SID, you could attach another audio signal (e.g. from a radio or a walkman) to pin 27 of the empty SID socket. You also need to connect the ground to pin 14 - now you should hear some sound at the audio out Best Regards, Thorsten.
-
I haven't continued, because nobody gave me feedback if the example works in real life. This would also be interesting for me ;-) I only tried it very shortly with the old keyboard of a friend. I won't be able to test larger matrices, therefore my hope is, that somebody with the appr. hardware and assembly skills enhances and example for a larger number of inputs. (Note that I by myself have absolutely no advantage of this project, therefore it's really low priority for me to support variations) Additional info: from the technical point of view, scanning 1024 buttons organized in a matrix is no problem, and it will work with very low latency (< 1 mS, so faster than a single MIDI event could be transmitted) Best Regards, Thorsten.
-
Kepping informations consistent isn't that easy, especially because of the fact, that the wiki is currently not editable due to php incompatibilities. However, a first try to explain my "whishes" more explicitly can be found here http://www.midibox.org/forum/index.php?topic=5758.0 Please let us know, which license your friend has finally taken, inspirations are always welcome Best Regards, Thorsten.
-
chord and seq\arpeggio function. is it possible?
TK. replied to massimiliano's topic in MIDIbox HUIs
Hi Justin, this requires a note stack which queues the played notes. As mentioned above, examples can be found in MBSID/MBFM/MBSEQ/MBCV Next saturday I've some time to make a first try for the new "Magic Chord" application, it will get a note stack based on C, which will be easily reusable for other projects Best Regards, Thorsten. -
Wenn man statt des MIDI Filters eine MIOS basierende Applikation hernehmen wuerde, koennte man (fast) alles mit einem einzigen Core Modul erschlagen: mit der "ain64_din128_dout128_v2_0" Applikation koennte man bspw. die Zugriegel und die Tastatur abfragen, die Transponierung laesst sich in die MPROC_NotifyReceivedEvent() Funktion einbauen (dazu koennte ich auf die Schnelle auch ein Beispiel schreiben), die MIDI Outs der beiden MIDI Keyboards koennte man mit dem MIDI Merger zusammenfuehren, bevor die Daten durch das "Master Core" Modul gehen. Doch ich moechte hier eine deutliche Warnung aussprechen: wer schonmal eine "normale" MIDIbox aufgebaut hat, wird die notwendigen Ergaenzungen in der Hardware (-> externer MIDI Merger) und Software (-> Transponierung, evtl. auch einbauen der Scanmatrix Routine, falls der Tastaturblock gemultiplext ist) sicherlich relativ schnell hinbekommen, doch wer neu in die Materie einsteigt, sollte nicht davon ausgehen, dass alle gewuenschten Features auf Anhieb funktionieren. Auf meiner Webseite gibt es nirgendwo eine Schritt-fuer-Schritt Anleitung zu finden, welche genau fuer diesen Anwendungsfall ausgelegt ist, man muss sich also eine Menge Informationen zusammenpuzzeln. Deshalb auch nochmal zwei Links, fuer den Fall, dass Du nach einer fertigen Loesung suchst (bei beiden bin ich mir jedoch nicht sicher, ob sie auch das Transponieren von Noten beherrschen). der c't "Klangcomputer" - er wurde speziell fuer "Master Keyboards" entwickelt und ist bestens dokumentiert: http://www.heise.de/ct/ftp/projekte/klangcomputer_ii/ wer Zeit sparen moechte, kauft sich einfach ein paar fertige Module bei Doepfer http://www.doepfer.de/home_d.htm - hier muss man sich jedoch mit der mangelnden Flexibilitaet abfinden Gruss, Thorsten.
-
Hallo Michael, allgemein beantwortet: ja, das geht recht simpel, vor allem wenn man mit dem MIOS C Wrapper, so dass man selbst Anpassungen am Programm vornehmen kann. Gruss, Thorsten.
-
No, it isn't possible to store code in a BankStick, the PIC can only execute from internal Flash. Currently your program allocates the range from 0x3000-0x47ff, thats ca. 6k The range from 0x4800-0x7bff is not used yet, means: 13k are free so, just ca. 33% are allocated yet, I don't think that you will hit the border so fast... and even if this happens, there is always room for optimizations in the code ;-) Best Regards, Thorsten.
-
chord and seq\arpeggio function. is it possible?
TK. replied to massimiliano's topic in MIDIbox HUIs
I will go for the even more powerful single core solution as planned, because I think that people (and myself of course, otherwise I wouldn't program it) will be much more happy with it. Main advantage will be, that nice chord combinations can be found live and induitively, and triggered with a small number of keys (2 or 3...) - I don't really like to prepare anything "static" on a PC, it wouldn't really make fun. Another point: who would write the PC software? ;-) If you want to have a solution based on your imaginations, then there is no other way than to program it by yourself, or to find somebody else who is doing this for you (infos are located at mb64_meta.inc) MBSEQ: yes, in song mode you can change the track set with the 16 general purpose buttons. This works like known from groove machines. With the track set you can decide by yourself, which tracks should be muted. A synchronized switching is still planned (and prepared), but not fully implemented yet. Best Regards, Thorsten. -
chord and seq\arpeggio function. is it possible?
TK. replied to massimiliano's topic in MIDIbox HUIs
You are right, writing meta events to "fire" chords which are preadjusted with pots is a piece of cake, but what happens if you change the note number while keys are already pressed? Hanging notes will be the result, and to avoid this a real note stack will be required (like known from MBSID/MBFM/MBSEQ/MBCV), and this requires memory which is just not available anymore in the MB64 application (it's already overfeatured). However, if something like this would be put into a special application, it would be much more easier and better maintainable, therefore my thoughts about doing it really powerful (no tinkering solutions!) Best Regards, Thorsten. -
Hallo Moroe, die Polung sollte schonmal richtig sein (wenn ich mich jetzt nicht selbst vertue) - nun koennte ich mir noch vorstellen, dass die 220 Ohm Widerstaende bereits im Keyboard eingebaut sind, und die zusaetzlichen Widerstaende dann das Signal zu sehr abschwaechen. Vielleicht schraubst Du das Keyboard einfach mal auf, und verfolgst die Leiterbahnen. Wenn sie direkt zu einem Mikrocontroller gehen, dann sind die 220 Ohm Widerstaende auf alle Faelle empfehlenswert (denn sie schuetzen den Controllerausgang im Falle eines Kurzschlusses), doch wenn da bereits Widerstaende dazwischen sind, kannst Du darauf auch verzichten. Gruss, Thorsten.
-
Hi, you can applaud/smite once you've written a certain number of postings, this is some kind of protection to ensure, that somebody doesn't create new accounts just to cheat the score. I also don't see any reason why somebody gave you a smite! If the appr. guy reads this posting, please give us a statement (even if it was just a click on the wron button) - if there is no reply until next week, I will reset the smite counter. Best Regards, Thorsten.