Jump to content

jerash

Members
  • Posts

    95
  • Joined

  • Last visited

    Never

Posts posted by jerash

  1. hello,

    yesterday i successfully tested the "filter box" with the pedalboard and sampler, all is working good !

    Even with the filterbox sending the PC twice, wich not a real problem in action.

    So id decided to go on step further, and add a 7 segment LED display to have a visual feedback of selected patch. So before i ask you questions, i will look around code examples and try to create it myslef.

    thanks for your contribution QBAS, and to TK for this great project !

    RAF

  2. oh yes ! wonderfull we can launch 2 Mios studio at the same time !  :-X

    messages PASSED are stil received twice, same result with 2 mios studio and midiox.

    
    ...
    
    	rgoto	PC_BLOK	;pc0e
    	rgoto	PC_BLOK	;pc0f
    	rgoto	PC_PASS	;pc10
    	rgoto	PC_PASS ;pc11
    	rgoto	PC_PASS ;pc12
    	rgoto	PC_BLOK	;pc13
    	rgoto	PC_PASS ;pc14
    	rgoto	PC_PASS ;pc15
    	rgoto	PC_PASS ;pc16
    	rgoto	PC_PASS ;pc17
    	rgoto	PC_BLOK	;pc18
    	rgoto	PC_PASS ;pc19
    	rgoto	PC_BLOK
    	rgoto	PC_BLOK
    
    ...
    
    PC_PASS     						;procedure for PC_xx : PASS
    	call	MIOS_MIDI_BeginStream
    	movf	MIOS_PARAMETER1, W		;passe le parametre 1
    	call	MIOS_MIDI_TxBufferPut
    	movf	MIOS_PARAMETER2, W		;passe le parametre 2
    	call	MIOS_MIDI_TxBufferPut
    	movf	MIOS_PARAMETER3, W		;passe le parametre 3
    	call	MIOS_MIDI_TxBufferPut
    	call	MIOS_MIDI_EndStream
    	return
    

    looks all good, isn't it ?

    (idiot idea:) i send with parameter 1 then two then 3, or maybe i should reverse the order ?

  3. Hi

    2/

    You create a table called by : "JUMPTABLE_2BYTES 32"

    can i make this table 128 x 2BYTES long instead of 32 ?

    I don`t know. You can check this, but if you need no more than 32 , and want avoid jump over 32 you can read in macros.h file:

    this trick is to be obsolete with the "CPFSLT MIOS_PARAMETER2" procedure.

    This looks like what i need, in 3 lines of code instead of ....too much !

    Tested successfuly !

    I don't see where is the default point of jump/goto...

    sorry I don`t understand, what you mean?

    nothing special, bad word using from me.

    1/

    the procedure "PC_PASS" takes all three byte from 1 to 3 and calls MIOS_MIDI_TxBufferPut each time.

    Any idea why the message comes twice in the midiox input monitor ?

    do you monitor both inputs (from midibox and your pedal-unit)?

    no, I monitor only the input of pc (output of midibox)

    I'm doing more tests next tuesday with the pedalboard and sampler, here at home i only have the pc running midiox and Mios Studio. Test messages are generated by midiox keyboard, sent to the filterbox (its little name  ;) ), and back to midiox input. I took a special attention not to create a loop by unchecking the box saying "automaticallly attach inpuuts to outputs during selection" in midiox.

    Raf

    attached are 3 shots from the filterbox itself

    778_filterbox1_jpgd7c523dce3efc66830840a

    780_filterbox2_jpg0457f450dea6e68d26e6df

    782_filterbox3_jpgd92834d22279f318c38cc0

  4. Hi,

    I like your style of writing code ! it makes all things logical to me.

    Now the code is like a rolling stone, thanks to you i've been able to have the filter running  ;D

    Messages are filtered the good way (note on transformation), or blocked correctly.

    But "passing" messages does twice  ???

    1/

    the procedure "PC_PASS" takes all three byte from 1 to 3 and calls MIOS_MIDI_TxBufferPut each time.

    Any idea why the message comes twice in the midiox input monitor ?

    2/

    You create a table called by : "JUMPTABLE_2BYTES 32"

    can i make this table 128 x 2BYTES long instead of 32 ?

    this is because program changes greater than 1F are converted into notes like procedure PC_0. I don't see where is the default point of jump/goto...

    I would like (ALL PC > 1f) branch to PC_BLOK

    I can't enough say you how much i'm happy this thing is already running tonight. Merci !!!

    RaF

    main.asm

  5. Hi,

    I'm starting a new project with midibox. The goal is to filter incoming midi messages. some mesages i want to convert, some other to block.

    I have a Boss midi pedal controller sending only "program change" messages.

    I want to play a sample when pressing a pedal, but my sampler need "note on/off" messages.

    So the midibox is placed between pedalboard and sampler and needs to convert/filter the messages following a precise table.

    The Core V3 pcb is now built, PIC18f452 burnt with bootloader v1.2, then succesfully updated with MIOS v1.9.

    I also uploaded the "change_id_v1_9c.zip" troubleshooting app to confirm MIOS is up and running, and application upload also.

    In midiox, i receive a correct CC message "0427" saying All is good !

    Now i'm writing code in MPLAB, compilation goes well, but my code is ineficient due to my lack of knowledge in programming. I'd prefer to use assembler because my pc is ready to go with it. I haven't installed the necessary softwares to program in C.

    So i'm asking for your help here with those questions :

    1. Where do i need to put my code for filtering ?

    (in main.asm in "Notify_Received event" section ?)

    2. do i need to do "addlw 0x07" before reading or writing any byte ?

    3. is it necessary to use "MIOS_begin_stream" ?

    4. How to send a complete midi event ?

    5. Here is the table of conversion i want to apply

    IN : incoming messages to midibox (from pedalboard) in hexa

    OUT : message to be transmited (or not) when corresponding message is received

    IN hex	OUT hex		ACTION
    -----------------------------------	
    PC00	NoteOn24	CONVERT
    PC01	NoteOn25	CONVERT
    PC02	NoteOn26	CONVERT
    PC03	NoteOn27	CONVERT
    PC04	X		ALL NOTE OFF
    PC05	NoteOn29	CONVERT
    PC06	NoteOn2A	CONVERT
    PC07	NoteOn2B	CONVERT
    PC08	NoteOn2C	CONVERT
    PC09	X		ALL NOTE OFF
    PC0A	X		BLOCK
    PC0B	X		BLOCK
    PC0C	X		BLOCK
    PC0D	XX		BLOCK
    PC0E	X		BLOCK
    PC0F	X		BLOCK
    PC10	PC11		PASS
    PC11	PC12		PASS
    PC12	PC13		PASS
    PC13	X		BLOCK
    PC14	PC15		PASS
    PC15	PC16		PASS
    PC16	PC17		PASS
    PC17	PC18		PASS
    PC18	X		BLOCK
    PC19	PC1A		PASS
    PC1A	X		BLOCK
    PC1B	X		BLOCK
    PC1C	X		BLOCK
    ...	X		BLOCK
    ...	X		BLOCK
    ...	...		...
    

    I'm looking forward to your help, so it could help me make a first step into MIOS programming for next applications.

    thank you, RAPHAEL.

  6. hello,

    I've just experienced the exact same problem.

    Read this long post, and acknowledged each step.

    then used another computer (still with internal AC97 soundcard) and the programming process went OK !

    So i have to say the conclusion of this thread was interesting to me.

    Starting a new board, thanks again for this great diy project !

    RAF

  7. On y vient !

    Il me manque juste de quoi faire correctement une soustraction (ou un opération donna tle même résultat)

    Le but étant de tranformer un message Program Change en message Note On

    Voilà comment j'ai modifié le fichier proc.inc dans la partie concernée :

    PROC_ReceivedCn
    
    	;; branch when PC number is 0x01
    	movf	MIDI_LASTEVENT2, W
    	xorlw	0x01
    	bz	PROC_ReceivedCn01
    
    
    PROC_ReceivedCn01
      ;génération du message note on et midi channel identique
    	movf	MIDI_LASTEVENT0, W	;récupère le message PC
    	?????????????		;Soustraire 0x30 pour transformer PC en Noteon
    	call	MIDI_SendByte	;en gardant le canal midi
      ;génération du note number
    	movf	MIDI_LASTEVENT2, W	;récupère le program number
    	addlw	0x23		;Ajouter 0x23 au program number (voir table)
    	call	MIDI_SendByte
      ;génération de la vélocité
    	movlw	0xFF		;vélocité max 0XFF par défaut
    	call	MIDI_SendByte
      ;transformation terminée
    	return

    Le seul point noire c'est la ligne avec les ????????? : Soustraire 0x30 du registre W pour transformer PC en Noteon

    Cn <> 1100 nnnn (message program change sur canal midi 'n')

    9n <> 1001 nnnn (message note on sur canal midi 'n')

    Cette "soustraction" est surement possible par le truchement de quelques AND, XOR, OR .... pour éviter l'utilisation de SUBWF ou autre

    (...après qq minutes de bataillage...)

    Il semblerait que ca fonctionne en utilisant : XORLW 0x50

    ca  inverse les 2 bits qui font la différence entre le Cn et le 9n sans changer les nnnn .... ca a l'air bon

    on va dire que c'est bon, je suis content de vous avoir tenu au courant de mes tribulations

    Reste à voir s'il ne sera pas nécessaire d'envoyer un message note off ensuite, ce qui est une autre histoire !

    RAF

  8. Quelle nuit !

    finalement j'installe la version 6.10 et :

    Deleting intermediary files... done.

    Executing: "C:\Program Files\MPLAB IDE\MCHIP_Tools\mpasmwin.exe" /q /p16F877 "main.asm" /l"main.lst" /e"main.err"

    Loaded Z:\_Projects\Project DIY\Midi Filter box\filter_v1.4\filter_v1.4\main.COD

    BUILD SUCCEEDED

    Extraordinaire !

    reste à modifier les quelques lignes... je reviendrai surement vous demander un coup de main

    vive le diy !

    RAF

  9. salut,

    je me lance dans la fabrication d'un midifilter (projet qui semble tomber dans les oublittes de midibox...) pour interfacer un pédalier midi sur un sampler, et en suivant la procédure décrite par thorsten, je tombe sur un os :

    "open the .pjt file" > mon mplab v7.10 ne peut pas ouvrir ce type de fichier environnement ... il ne peut que ouvrir un .mcp

    Avez-vous une idée du pourquoi ? et du comment y  remédier ? en installant une version antérieure ?

    J'ai essayé en ouvrant tout les .asm et .inc et lancer la compil à la main, et le Build fail avec ce message :

    Clean: Deleting intermediary and output files.

    Clean: Done.

    Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F877 "main.asm" /l"main.lst" /e"main.err" /o"main.o"

    Skipping link step.  The project contains no linker script.

    BUILD FAILED: Thu Sep 15 04:37:07 2005

    Etant donné que je ne suis pas très familier avec la programmation (juste assez pour modifier les quelques lignes nécessaires à mon projet), je ne sais pas comment utiliser le "linker script"

    Quelqu'un peut-il m'aiguiller vers la sortie ?

    merci, Raf.

  10. hello,

    this is an interesting question  ;)

    Here's my opinion :

    - as the main cpu board doesn't work, take it away from the case. I hope that buttons are not soldered on the main pcb  ??? (and unsolder some ic !!)

    - you may try to keep the analog and digital input circuits your some other projects, or spare for your working vm2000

    - Tune the vm2000 case into a GREAT-LOOKING MIDIBOX ;D with internal power supply

    - put your SID rack over the mixer, and make some music  :) :)

    RAF

  11. Salut tout le monde!

    Je cherche des zones tactiles genre ceux de la  surface-one de m audio (qui n'est jamais sorti d'ailleurs je crois) et je trouve pas de boîte qui vendent ça en france.

    C'est pour m'en servir de contrôleur évidement mais la particularité, c'est que j'ai besoin d'une bande de la taille d'un manche de basse ou guitare et qu'il me faut trois voir quatre contrôleur sur cette bande : longueur, largeur, pression et optionnelle : taille de la zone de pression.

    Aidez moi, ça fait un moment que je galère ! :'(

    Merci à tous!  ;)

    La Surface-One utilisait la technologie TACTEX

    http://www.tactex.com

    Il peuvent creer nimporte quelle forme.

    (effectivement, la surface one ne sortira jamais... c dommage)

    jerash, en balade a Barcelona:

  12. salut les frenchsous,

    après la MB64, je me lance dans la fabrication d'un floorboard pour un pote.

    Le design de Thorsten est à base de PIC16F874

    Ma question : eske le firmware est compatible avec un PIC16F877 ?

    merci,

    RAF

    ---- EDIT 08/10----

    Sérieux, personne ne sait ??????

  13. Sérieusement ???? vous ne saviez pas ?  :o

    cependant, la photo avec les potars branchés, c'est tout récent !

    et puis entre nous, on est bien loin des possibilités et de la flexibilité de la MB (sutout avec MOS  ;D)

    allez ressaissisez-vous !  ;)

    RAF

  14. Xanboroon :

    je met mon grain de sel dans la liste de PsyChO...

    - SACRIFIST: Praxis   (OBLIGéééééé)

    - LENG TCH'E: Naked City

    - COBRA: John Zorn  (bien space :) )

    - GUTS OF A VIRGIN: Pain Killer

    oui tu peux essayer aussi un MASADA, en live c mortel, d'ailleur yen a un nouveau, regarde plus bas

    - THE BIG GUNDOWN: John Zorn plays the music of Ennio Morricone, indispensable (edit RAF : tout à fait)

    Pour commander des CD introuvables ou presque :

    http://www.forcedexposure.com

    y'a pas mal de Zorn ;p

  15. Roooo jhallucine !!!!!  :o

    Enfin un mec qui connait Buckethead !! YEAH  ;D ;D

    Psycho je crois quon est vraiemnt sur la meme longueur donde en musique, on devrait avoir des trucs à échanger...

    RAF

    ...

    après écoute de "Crouch End" je suis bleuffé par ton jeu de gratte, heureux que je suis de reconnaitre l'influence. Même si le maître reste inimitable.

    Bucket c le seul guitar-héro de notre ère, trop peu de gens s'en rendent compte ...

    tiens voilà de quoi engager les hostilités : http://www.jerashmusic.net/raf/jerash-onetestv2.mp3  ::)

  16. Haaa, désolé d'étendre le OT, mais c'est plus fort que moi : j'adore John Zorn...

    Un des meilleurs concerts auxquels j'ai assisté, c'était BladeRunners, c'est-à-dire John Zorn+Bill Laswell+Dave Lombardo+Fred Frith. Un vrai bonheur...

    8)

    J'Y ETAIS AUSSI !!!  ;D ;D ;D

    au parc de la vilette, dans la grande salle.

    faut pas le dire mais javais le MD dans ma poche....

    Dites, RAF et p5ych0, parmis l'incroyable discographie de John Zorn, si vous pouviez me conseiller, par exemple, les dix incontournables que je pourrais me procurer, ca serait cool de votre part...

    http://www.tzadik.com y'a la top10 list de john Zorn lui même si tu veux. Après y'a qu'une seule solution, c de tout acheter  8)

    RAF

  17. hi,

    this alim doesn't look like a "switching" one. If you compare with the PC ones. It is all a normal transformer with diode bridge, rectifier (one for +5v, and another for +12V) etc... I might be wrong nevertheless.

    RAF

×
×
  • Create New...