Jump to content

audiocommander

Frequent Writer
  • Posts

    1,358
  • Joined

  • Last visited

Everything posted by audiocommander

  1. nochmal: hast du die Leerstellen aus deinem Verzeichnis schon entfernt? und überprüfe mal deine Rechte: dürfen alle GPUtils Programme ausgeführt werden? Und ich nehme an, du hast auch die korrekten Systemvariablen (Pfade) eingetragen, wie unter der bereits bekannten C-Seite auf ucapps.de beschrieben: Außerdem hast du uns noch nicht verraten, welche Windows-Version du benutzt (was anderes als 2000 oder XP)? Ich kann dir nur raten, noch mal alles Schritt für Schritt durchzugehen, denn eigentlich sollte das reibungslos funktionieren. Ansonsten bin ich hier als Mac-User ziemlich ratlos, vielleicht hat jemand noch eine andere Idee. Gruß, Michael
  2. ich weiß nicht genau, welche Version du mit 13.0-1 meinst, versuche es doch bitte mal (wie schon geschrieben) mit 0.13.4 und wenn das nicht geht mit 0.13.3; ich weiß, dass es mit 0.13.3b in jedem Fall funktionieren sollte. https://sourceforge.net/project/showfiles.php?group_id=41924 Außerdem: hast du das Verzeichnis schon umbenannt?
  3. ach so, noch was: Du solltest prinzipiell Leerstellen in Verzeichnisnamen vermeiden, lieber den Ordner in "CB_SDCC_Skeleton" umbenennen. Eigentlich sollte sowas 2008 funktionieren, aber wenn bei geschätzen 50 Unterprogrammen, die da involviert sind, nur eines keine Leerzeichen unterstützt... :-\
  4. Also, wenn Du das gleiche Problem hast, das vor ca. 1 Woche schon mal einer berichtet hat, dann liegt das an der GPUtils-Version. Betroffen war GPUtils 0.13.5. Versuch doch mal bitte eine andere (ich weiß, dass es mit 0.13.3b geht, kannst es aber auch mal mit 0.13.4 probieren)... Gruß, Michael Edit: Sorry für den Edit, aber noch ein erklärendes Wort: Wenn du in Code::Blocks auf "Run" drückst und eine Konsolenanwendung kompiliert wird, dann passiert das i.d.R. mit dem GCC-Compiler. Wenn du "Make" aufrufst, dann compiliert nicht GCC, sondern der C-Code wird mit SDCC zu ASM Code compiliert und mit den GPUtils zu einer hex-Datei. Mit dem Perl-Programm hex2syx.pl wird die hex-Datei eine SysEx-Datei, die man dann auf den Pic laden kann. Somit sind das zwei komplett unterschiedliche Methoden, von denen die eine bei dir funktioniert (GCC) und die andere nicht (GPUtils).
  5. Hallo Can128, du musst noch GPUtils (ASM Toolchain), SDCC (C-Compiler) und Perl (hex2syx) installieren und die um Programme zu erstellen, die auf dem Pic ausführbar sind. Schau doch einfach mal auf diese Seite http://www.ucapps.de/mios_c.html Du brauchst dafür kein Englisch, es sind ja auch Bilder und Links dabei. Es gibt zwar ACSim, um ein MIOS Programm auf der Konsole ausführen zu können, aber hier ist die Anleitung nur auf Englisch und ich hab' grade zu wenig Zeit das alles zu übersetzen; außerdem weiß ich nicht ob sich das lohnt (ändert sich ständig was). Ich würde es erst mal mit einem Testprogramm für deine Box versuchen, das ist für den Anfang etwas einfacher. Gruß, Michael ps: außerdem gibt es Google Translate: ucApps / C: http://translate.google.com/translate?u=http%3A%2F%2Fwww.ucapps.de%2Fmios_c.html&langpair=en%7Cde&hl=de&ie=UTF8 Dev-Wiki: http://209.85.135.104/translate_c?hl=de&langpair=en%7Cde&u=http://www.midibox.org/dokuwiki/application_development
  6. nice, thanks :) for Xcode3 the path is: /Developer/Library/Xcode/Specifications/ Best, Michael
  7. good to hear :) To be honest, I dunno if the checksums are a problem. I would have expected them to be the same, but as you can't damage the µC by uploading this program, I'd simply test it ;) Best, Michael
  8. hmm, if you compile the unchanged source, there should be no error. I'm using GPUtils 0.13.3b and SDCC 2.7.4 (on the mac) and can compile without problems: [tt]% make perl tools/hex2syx.pl project.hex Block 003000-0033FF allocated - Checksum: 02 Block 003400-0037FF allocated - Checksum: 37 Block 003800-003BFF allocated - Checksum: 34[/tt] Have you changed any file? Best, Michael
  9. Hi, you cannot compile PIC18F452 code for a PIC18F4620. I guess you know that there are also different MIOS-versions for these chips. Due to a higher memory capacity of the -4620, it has different memory addresses. Please search the forum and/or the wiki and you'll find some (probably not very illuminating) informations on how to adapt the program for the PIC18F4620. If you want my opinion: Unless you're a dedicated programmer, take the easy way and use a PIC18F452; two days fiddling around, normally isn't worth 6$ ;) Best, Michael
  10. well, here's another M-Audio Lover :-* I'm only having problems with my Delta1010LT: When I updated my driver some years ago, it prevented my Mac from going to deep sleep. Of course this wasn't mentioned anywhere, I had a whole day fun, searching by trial & error to isolate that sh!t. Until today no newer driver has solved this issue. Now I can choose between having a mac that cannot sleep anymore (which is really most ridiculous!) or a card that outputs distorted sound when running longer than 1 or 2 hours (??!?) :P ... Ahh, forgot that MIDI is totally dead from time to time until I restart. Silly how I was, I also bought a FW410 (external Firewire Card)... I still need to find out, if I'm too dumb to turn a soft-pot, or if there's a huge bug in the firmware, that needs a factory state reset, before it actually allows any audio-input at all... But besides that, M-Audio is Number-1! ...Kernel-Panic-Generator: [tt]Kernel loadable modules in backtrace (with dependencies): com.m-audio.driver.firewire(1.8.2)@0x3dc28000->0x3dc78fff[/tt] The support never answered my questions aside from extremely useful answers like "don't change anything in the Audio/MIDI Setup" or "Delta drivers do not support deep sleep due to security reasons" :o (no joke, can prove this!) However, there are companies on this planet surely deserving boycot demands more than M-Audio - so I won't sign such a demand here and now, but honestly: until they really do something serious about their drivers, I simply won't buy it, 'cause it's not worth the money. Though I probably would buy something that needs no software-driver (and no support ;D). Cheers, Michael
  11. Nein, eine 7-Segment-Anzeige ist nicht im MidiClock-Projekt integriert. Ich denke aber, das sollte von irgendjemand schon mal gemacht worden sein - vielleicht fragst du einfach noch mal im englischsprachigen Teil des Forums bei midiClock oder im C-Board nach? Gruß, Michael
  12. oh yes, me neither, definitely ;D btw: what the *$% are chocolate bavarians? Beer Pralinées? :-X Is this an aussie speciality?
  13. Hi, we also have a quite nice reference about the MIDI protocol in the wiki: http://www.midibox.org/dokuwiki/midi_specification Best, Michael
  14. well' date=' the question is rather [i']what to study then, isn't it? I just finished a postgraduated study and starting another one shortly, and it actually helps me to keep doing what I want ;) Best, Michael
  15. Hi Phattline, I don't know if this is helpful, but there's a 7-segment extension for the MidiMon-Project: http://www.ucapps.de/midimon.html http://ucapps.de/midimon/mtc_extension.pdf Best, Michael Edit: sorry, bin manchmal sprach-verwirrt ;D es gibt eine 7-Segment Anzeige im MidiMon-Projekt...
  16. Hi Durisian, as I said, I'm not finished yet, but by using the approach Thorsten suggested, it seems to work so far. But remember: haven't tested enough and the checksum is totally ignored, so there is a 1-byte shift in the output; I only used it to read the BS contents – never in the other direction, to write back the edited data... normally I wouldn't post it like this ;) It's in C, the second snippet using some additional (easy to remove) Objective-C; the only C-lib-function used (IIRC) is strcat(), which is simply combining two strings to one (but note the end-byte [tt]\0[/tt]) void dec2bin(int x, unsigned char *result) { int i; result[0] = 0; for (i = 7; i >= 0; i--) { strcat(result, x & (1 << i) ? "1": "0"); } } long bin2dec(unsigned char *s) { long r=0; for (; *s; r = (r<<1) | (*s++ - '0')); return r; } [/code] and this is the current decoding snippet; [tt]sxd[/tt] is an NSData Object (Objective-C), that is interchangeable with a binary SysEx-File. But before working on the bytes, I put them in a C-buffer, so conversion should be relatively easy: [code=SysEx decoder - early beta, use at your own risk] -(void)printAcd { // prints sensorizer patch data (sxd with stripped sysEx headers) if(sxd == nil) { // try to write data to file (for debug) // [sxd writeToFile:@"~/ACSensorizer_PatchManager/BS_dir/ACS_BS_NSData.acd" atomically:YES]; // try to read data from file (for debug) [self setSxd:[NSData dataWithContentsOfFile:@"~/ACSensorizer_PatchManager/BS_dir/ACS_BS_NSData.acd"]]; } unsigned long l = [sxd length]; unsigned long i,k; unsigned char buf[l]; [sxd getBytes:buf length:l]; for(i=0;i<l;i++) { switch(buf[i]) { case 0xf0: // skip header i += 11; break; case 0xf7: // skip EOX i++; break; // IMPORTANT: CHECKSUM NOT ATTENDED; THIS HAS TO BE DONE TO MAKE IT REALLY WORK } [acd appendBytes:&buf[i] length:sizeof(buf[i])]; } // debug out l = [acd length]; [acd getBytes:buf length:l]; // printf("\n\nSysEx data output:\n"); // hexview(buf, 256); // now we want to convert the bits and bytes from sysEx 7-bit back to the original 8-bit format l = [acd length]; char nbuf[l]; [acd getBytes:nbuf length:l]; unsigned char b[l*8]; // binaries string unsigned char a[l]; // 8-bit numbers array unsigned char s[8]; // 7-bit binary // build one long string of binary coded decimals for(i=0;i<l;i++) { dec2bin(nbuf[i],s); for(k=0;k<7;k++) { s[k] = s[k+1]; } s[7] = '\0'; strcat(b, s); } // debug out // printf("\n\nBinary 7-bit output:\n"); // hexview(b, 256); // split b to 8-bit chunks unsigned char bchunk[9]; for(i=0;i<l;i++) { for(k=0;k<8;k++) { bchunk[k] = b[(i*8)+k]; } bchunk[8] = '\0'; a[i] = (unsigned char) (bin2dec(bchunk)); } // print hexview of b // printf("\n\nConverted 8-bit output:\n"); printf("\n8-bit ACS data, BS#%i\n", bankstick); hexview(a, l); } The conversion needs some time, but compared to the time the SysEx dump needs to arrive via MIDI, it's more than okay :) Hope this helps, best Michael
  17. nah, I'm not that far :) next step is to split up the numbers and feed them in a table. But it's the same here: I have an exam end of the week, so I can resume working on it next week soonest (and I better won't dare to overwrite my BS with cheesy data until I'm sure it works ;D ) Best, Michael
  18. yay, it works!! thanks so much to all of you. I was making two errors: First, I have indeed been confused by the 0x40 (Bankstick address in the header), forgetting the low byte and therefore assumed to start with the 12th byte, but it's of course the 11th byte to begin with; secondly I misread the 0x20 (lenght of sysEx) for a 0x02 (12th byte)... typical kind of inattention-error, that's why I always failed in math at school ::) I'm going to make some more tests and then I will post some lines of C-code that may be useful for others (and probably for a Java conversion as well). Best, Michael ...see the names in the third descrambled output? "KS-5/09" and "KS-5/SP" :D SysEx data output: 0: 02 12 6a 32 69 54 5e 30 1c 4c 06 00 00 00 00 00 ..j2iT^0.L...... 16: 00 00 0c 40 00 00 00 00 00 00 60 18 0c 06 03 01 ...@......`..... 32: 00 00 00 00 00 00 02 02 01 41 00 50 30 1c 00 00 .........A.P0... 48: 00 00 02 41 20 50 28 07 03 01 60 40 20 10 08 04 ...A P(...`@ ... 64: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 08 ................ 80: 04 02 00 20 10 08 04 01 00 40 20 40 00 00 00 00 ... .....@ @.... 96: 00 00 00 00 04 66 1f 10 46 40 00 00 02 48 04 02 .....f..F@...H.. 112: 01 00 60 30 18 0c 05 0c 40 66 63 4f 7f 7f 7f 44 ..`0....@fcO...D 128: 16 4e 67 43 10 00 00 00 00 18 6d 66 23 31 7e 7f .NgC......mf#1~. 144: 3f 5f 60 44 5a 4c 5a 35 17 54 6a 03 01 40 04 02 ?_`DZLZ5.Tj..@.. 160: 00 40 20 10 23 10 00 00 00 00 00 00 58 50 02 01 .@ .#.......XP.. 176: 00 40 20 00 00 02 00 00 00 40 40 30 20 14 0c 00 .@ ......@@0 ... 192: 00 00 00 00 00 50 28 14 0a 01 00 20 28 0c 00 00 .....P(.... (... 208: 00 00 0d 16 23 6d 7e 7f 3f 5f 6f 70 00 08 00 00 ....#m~.?_op.... 224: 04 02 01 00 40 08 04 02 01 00 20 10 08 10 00 00 ....@..... ..... 240: 00 00 00 00 00 00 00 57 30 15 0a 20 00 00 00 52 .......W0.. ...R Binary 7-bit output: 0: 30 30 30 30 30 31 30 30 30 31 30 30 31 30 31 31 0000010001001011 16: 30 31 30 31 30 30 31 31 30 30 31 30 31 31 30 31 0101001100101101 32: 30 30 31 31 30 31 30 31 30 30 31 30 31 31 31 31 0011010100101111 48: 30 30 31 31 30 30 30 30 30 30 31 31 31 30 30 31 0011000000111001 64: 30 30 31 31 30 30 30 30 30 30 31 31 30 30 30 30 0011000000110000 80: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 96: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 112: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 128: 30 31 31 30 30 31 30 30 30 30 30 30 30 30 30 30 0110010000000000 144: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 160: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 176: 30 30 30 30 30 30 31 31 30 30 30 30 30 30 30 31 0000001100000001 192: 31 30 30 30 30 30 30 31 31 30 30 30 30 30 30 31 1000000110000001 208: 31 30 30 30 30 30 30 31 31 30 30 30 30 30 30 31 1000000110000001 224: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 240: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 Converted 8-bit output: 0: 04 4b 53 2d 35 2f 30 39 30 30 00 00 00 00 00 00 .KS-5/0900...... 16: 64 00 00 00 00 00 03 01 81 81 81 81 00 00 00 00 d............... 32: 00 01 02 03 04 05 06 07 00 00 00 00 14 14 14 14 ................ 48: 07 06 07 04 04 04 04 04 00 00 00 00 00 00 00 00 ................ 64: 00 00 00 00 08 08 08 08 02 02 02 02 01 01 01 04 ................ 80: 00 00 00 00 00 00 00 00 99 8f 90 8d 00 00 00 52 ...............R 96: 02 02 02 03 03 03 03 02 8c 81 9b 1c ff ff ff c4 ................ 112: 2d 3b 3c 32 00 00 00 00 63 6e 64 6c 7f 7f 7f 7f -;<2....cndl.... 128: 04 4b 53 2d 35 2f 53 50 30 30 02 02 01 01 01 04 .KS-5/SP00...... 144: 64 00 00 00 00 00 0b 14 01 01 01 01 00 00 00 80 d............... 160: 00 01 02 03 04 05 06 00 00 00 00 00 14 14 14 14 ................ 176: 04 02 05 03 00 00 00 00 69 64 7b 7f 7f 7f 7f 7f ........id{..... 192: 00 02 00 00 08 08 08 08 02 02 02 02 01 01 01 04 ................ 208: 00 00 00 00 00 00 00 00 57 60 54 52 00 00 00 52 ........W`TR...R 224: 02 02 02 02 03 03 03 02 8c 56 9b 53 ff ff ff c4 .........V.S.... 240: 23 27 14 13 00 00 00 00 69 64 7b 7f 7f 7f 7f 7f #'......id{.....
  19. nice to hear that, wackazong - and thanks for the feedback :) happy coding!
  20. thanks for your answer, Thorsten. Unfortunately I'm still struggling with the byte-decoding. The syx2asm.pl script produces the correct output: the first byte is 0x04, which is fine, because it's the version compatibility info for v0.4 (see attached code snippets and ACSensorizer Patch Description) - however, if I use the suggested dec2bin/bin2dec method, I get a wrong result: So in my case:[tt] 0x12 = '0001 0010' ' 000 1001' = 0x09[/tt] but 0x09 is not the 0x04 I was hoping to for :'( I get the feeling, I'm missing something pretty obvious... Best Regards, Michael 0: f0 00 00 7e 40 00 02 40 00 01 00 02 12 6a 32 69 ...~@..@.....j2i 16: 54 5e 30 1c 4c 06 00 00 00 00 00 00 00 0c 40 00 T^0.L.........@. 32: 00 00 00 00 00 60 18 0c 06 03 01 00 00 00 00 00 .....`.......... 48: 00 02 02 01 41 00 50 30 1c 00 00 00 00 02 41 20 ....A.P0......A 64: 50 28 07 03 01 60 40 20 10 08 04 00 00 00 00 00 P(...`@ ........ 80: 00 00 00 00 00 00 00 00 00 10 08 04 02 00 20 10 .............. . 96: 08 04 01 00 40 20 40 00 00 00 00 00 00 00 00 04 ....@ @......... (...) [/code] [code=syx2asm.pl asm-output ----- this is correct]org 0x400000 db 0x04, 0x4b, 0x53, 0x2d, 0x35, 0x2f, 0x30, 0x39 ;; (0x400000) db 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ;; (0x400008) db 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01 ;; (0x400010) db 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00 ;; (0x400018) db 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 ;; (0x400020) db 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0x14 ;; (0x400028) db 0x07, 0x06, 0x07, 0x04, 0x04, 0x04, 0x04, 0x04 ;; (0x400030) and here the output from my calculations: 0: 12 6a 32 69 54 5e 30 1c 4c 06 00 00 00 00 00 00 .j2iT^0.L....... 16: 00 0c 40 00 00 00 00 00 00 60 18 0c 06 03 01 00 ..@......`...... 32: 00 00 00 00 00 02 02 01 41 00 50 30 1c 00 00 00 ........A.P0.... 48: 00 02 41 20 50 28 07 03 01 60 40 20 10 08 04 00 ..A P(...`@ .... 64: 00 00 00 00 00 00 00 00 00 00 00 00 00 10 08 04 ................ 80: 02 00 20 10 08 04 01 00 40 20 40 00 00 00 00 00 .. .....@ @..... 96: 00 00 00 04 66 1f 10 46 40 00 00 02 48 04 02 01 ....f..F@...H... [/code] [code=Binary representation] 0: 30 30 30 31 30 30 31 30 30 31 31 30 31 30 31 30 0001001001101010 16: 30 30 31 31 30 30 31 30 30 31 31 30 31 30 30 31 0011001001101001 32: 30 31 30 31 30 31 30 30 30 31 30 31 31 31 31 30 0101010001011110 48: 30 30 31 31 30 30 30 30 30 30 30 31 31 31 30 30 0011000000011100 64: 30 31 30 30 31 31 30 30 30 30 30 30 30 31 31 30 0100110000000110 80: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 96: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000 0: 09 12 24 49 13 26 4d 1a 35 6a 54 28 51 23 46 0c ..$I.&M.5jT(Q#F. 16: 19 32 64 49 13 26 4d 1a 34 69 52 25 4a 15 2a 55 .2dI.&M.4iR%J.*U 32: 2a 54 28 51 22 45 0b 17 2f 5e 3c 78 71 63 46 0c *T(Q"E../^<xqcF. 48: 18 30 60 40 00 01 03 07 0e 1c 38 71 62 44 09 13 .0`@......8qbD.. 64: 26 4c 18 30 60 40 00 01 03 06 0c 18 30 60 40 00 &L.0`@......0`@. 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 96: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [/code]
  21. I'm using quite cheap HiFi plug from hearsafe. Nothing is worser than listening to loud and dull music :-) The downside to all of those earplugs is that the low waves still can hurt something - they are usually a lot louder than we think they are and sensed by the whole auricle... Maybe the best earprotection would be, to get rid of all these crazy deaf sound engineers who try to compensate missing audience with increased volume :P
  22. Hi, sorry I've seen this topic too late, 'cause I'm not monitoring the ASM section ;) Just two quick follow-ups: The easiest way to get there in a finder window (and in fact anywhere elsewhere hidden) is to press CMD+SHIFT+G in a Finder Window, then you can type the path "/usr/local/bin" and it takes you there!
  23. and btw: I just noticed, that I'm loosing my login every (!) time I access the forum via the forum-subdomain (forum.midibox.org) which gets forwarded to the subdir /forum . This would explain some things, as we also had these svn subdomain problems...
×
×
  • Create New...