Jump to content

Ixox

Members
  • Posts

    80
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Ixox

  1. Hi, I'm still coming here from time to time to see how things are moving forward ;-) I learnt so many things from Thorsten work. The 24LC512 and 75HC165 wiring of the PreenFM come directly from the midibox. The audio output do not come from a DAC but from a 1 bit digital output at 72Mhz low pass filtered. Xavier
  2. Ixox

    sammichFM

    OK. thanks for the clarification :-) Maybe something like : "6 four operator voices played by 4 simultaneous different instruments plus drum kit." Xavier
  3. Ixox

    sammichFM

    WOW... Impressive.. Congratulation for this beautifull little box. I'll definitely have to order one... maybe next month. I'm surprised to read in the feature list: "4 simultaneous instruments of 6 voice polyphony each, plus drum kit. Each voice is a 4 operator waveform." That makes 24 voices of 4 operators + drum kit ?? That sounds much more than in the opl3 spec: "6 four operators melody sounds + 3 two operators melody sonds + 5 rythm sound". Did i miss something ? Thanks, Xavier
  4. Vendu... Merci.
  5. Vendu Bonjour, Je vends le lot suivant (tout ce qu'il y a sur la photo a part le tournevis qui traine) : http://xhosxe.free.fr/pic/LotMidibox1.JPG La midibox FM est pleine... (mais ne fonctionne plus... voir plus bas): http://xhosxe.free.fr/pic/LotMidibox2.JPG 60 Euros le tout. C'est plus pour me débarrasser que pour me faire de l'argent ;-) La contrepartie est que je ne fais pas de livraison et qu'il faut venir chercher l'ensemble a Paris 9ème. Quelqu'un est intéressé ? Xavier Entre autres : --------------------------- Venant de chez Smash TV : http://avishowtech.com/mbhp/buy.html 2 Core : R4D 2 DOUT R3 4 DIN R3 25 Encodeurs rotatifs 2 PIC 18F452 3 Mem 24ls256 ---------- 20 * 74HC165 8 * 74HC595 4* HEF4051BP + Supports pour circuit imprimé ---------- Plein de mini touches pour boitier.... Plein de touches plus grosses Avec diode bouton pour boitier fait a la main par un des membres du forum. ----------- 1 programmateur de PIC JDMPIC ----------- 4 Ecrans 2X40 BGMicro Tianman TM402CD (alim négative si je me souviens bien) ----------- MIDIBOX FM complete ....(alim intégrée) aujourd'hui ne fonctionne plus. Tout est cablé a l'interrieur... http://midibox.org/forum/index.php?/topic/7019-midibox-of-the-week-midibox-fm-of-xavier/ http://www.midibox.org/midibox_gallery/xavier1.jpg Meme en état de fonctionnement j'ai toujours un probleme de gros buit parasite lorsque l'affichage de l'écran changeait... ----------- 4 transfos : 12V 7,5V et 2 de 12V. 4 prises midi pour boitier, des diodes, des leds.... -----------
  6. Thanks... My goal was to have everything public in the spirit of all those midiboxes. So i documented as much as i could here : http://www.midibox.org/forum/index.php?topic=7569.0 A compiled firmware would be useless because my Dout and Din wiring is very bad and weird.... But i see no problem in sharing it. If you have any question, don't hesitate. :D Xavier
  7. Thanks a lot ! I agree that many things could have been better/nicer. ;) I just wanted to add that this is my first DIY project and i could mod it a little thanks to the excellent Documentation !!! Xavier
  8. Hello, After a big break doing other stuffs, i finaly found time to finish my mini midi box SID. Much less nice than i expected, bad varnish, box not totally closed, flashing screen etc... Anyway it works and i am happy. I can control every parameter rather quickly ;D Xavier
  9. Hi Talion, That's great to see your beautifull work ;D I absolutely must find some time to finish mine... You should have sent me an email to know what's missing.. But you found exacly what was missing.... congratulations. Sorry for the problem and thank you to have posted the fix : (For the record the missing line is "CS_MENU_ButtonIncDec_End" at the end of CS_MENU_ButtonInc function in cs_menu.inc.) Please post a picture of your finished box. I'll do the same.... ;) Xavier
  10. Thanks for the reply but i don't really get what you're talking about. regulator ? you mean the 7805 ? I followed the typical Midibox schema.... I'd just like to know wether i'm the only one to have this problem... in this case i will try to investigate a wiring problem. If it's a known problem, i will be OK with it. Regards, Xavier
  11. Hello, After some time turning the knobs i have some noise synchronized with the parameter changes or simply with the cursor flashes. It often geting louder and louder and start being real sound... often drums.... Sometime the opl3 seems to become instable and a very loud sound starts which does not stop untill i turn off the box. Then i turn on and every thing is fine... Does anyone has that kind of problem ? Did i solder something wrong or is it a known problem because of the pins which are shared between the LCD and the opl3 module. Thanks for your help, Xavier
  12. Thanks... I'm happy you like it.... :) Answers: 1 - the case is a teko 364... Arround 20 euros in france.. plastic box + aluminium surface. Available every where... I painted the plastic part in black... The original color is not very sexy. I also added some feet to make it nicer and more stable : 2 - What is the english word for that : a "cutter" in french... It took me about half an hour for all the wholes.... But it was not perfect. 3 - Lazertran (ink jet) becomes totally transparent (where there is no ink) after the second coat of varnish. 4 - No.... I can do it tomorow with the light day if required. If you mean the joint just at the left of the matrix... it is not very nice... Xavier
  13. See the "CC" button here : http://www.ucapps.de/midibox_sid_csB.html Don't remember wether it's reachable from the menus... Xavier
  14. No problem... when my box is finished and when i'm sure everything is OK. You wouldn't want a shaeffer layout in which you cannot put the knobs and buttons... ;) Xavier
  15. Hi, I'm glad to see some interest in this Mini-midibox... Thanks a lot for the support. I haven't finished it yet.... I'll have more free time this week end so it should be finished next week. To know the number of 74HC165 (DIN) you need, count the knobs (as 2 inputs) and the button (1 input). You can plug 8 inputs on a DIN... You'll have your number.... Answers to your question... 1 - In the last version if my box, there are 6 knobs and 23 buttons. So 35 (12+23) inputs = 5 DINs. 2 - Of course, it is possible to chain more than 4 IC like as shown in the DIN4x pdf.... up to 16 i think. 5 DINS allows 5*8 = 40 inputs... My version only use 35 so you have 5 free inputs... you can add your 4 buttons. You can use a DIN4x module and add after it a single DIN. Note : the modulation part : 10 buttons and 8 leds is optional and independent from the rest. Other question or remakrs are very welcome, Regards, Xavier
  16. Hey... I'm glad and proud to see my midibox here... thanks Thorsten. ;D There seem to be very few Midibox FM compare to SID... Too bad... In fact the 4x20 LCD works rather well. The 2 rows of 4 buttons bellow the LCD is intuitive. no problem to find immediatly which button to press. The more weird is the scrolling of parameters with the first menu of the second line which become the 4th of the first line when you scroll right...etc... difficult to get used to. Concerning the main page "Instrument view" is not nice but "full view" (see CFGmenu) is really perfect... Can be specified as default in the main asm file #define CS_MENU_DEFAULT_VIEW_MODE 0 Xavier
  17. I received the transformer to replace the noisy wall adapter and it is much much better. But i ordered a 7,5V transformer and after 2,5 weeks of waiting and many emails i received my order with a 12V transformer inside... I will never order to alscomposants.com again... French people, avoid that site... With 6 diodes before the 7805 and a heatsink, it seems to be OK. My midibox FM is finished... I spent many houres of fun... It was very interesting... Thanks again thorsten. Here are the last pictures : Before closing the boxes.... All the wires were uselessly too long exept 2 which were really too short.... Next time i'll spend more time trying to cut them at the right length. Closed.... This big box to control the tiny OPL3... strange... But i like very much how it sounds !!! ;D No back to my "little surface, maximum control" SID... And then maybe i'll do some music again. Xavier
  18. Thanks... I'm glad you found it usefull... No you don't need the modification of the other thread, only the modifications of this one. Don't hesitate to tell me if something is not clear in the message that shows the modifications. Xavier
  19. Hi thorsten, I found so many usefull things while searching in the forum, i like when people write down what they do/find. That's why i try to do the same. I added a link in the WIKI page you mentionned. Xavier
  20. Thanks for the suggestion... The following of this project is here ;) http://www.midibox.org/forum/index.php?topic=7569.0 Xavier
  21. Don't know where (and how) to put that in the WIKI. Put here are the differences : First the internal variables for the new states and leds... ap_defines.h ;; free: 0x69-0x6e CS_MENU_SELECTED_ROW EQU 0x069 TMP6 EQU 0x06a CS_MENU_SELECTED_MATRIXROW EQU 0x06b ;; finally not used TMP7 EQU 0x06c then to light the right leds : cs_menu_leds.inc (no need to keep the TMP1-5[ * ] little functions)... ;; clear temporary registers which hold some LED flags which are not saved anywhere else ;; (see also CS_MENU_DOUT_TABLE) ;; this quick & dirty method saves some memory... ;; TMP6[0..7] movf CS_MENU_SELECTED_ROW, W call MIOS_HLP_GetBitORMask movwf TMP6 ;; TMP7[0..7] lfsr FSR1, CS_MENU_MATRIX_BEGIN ; pointer for LEDs: FSR1 movf CS_MENU_SELECTED_MOD, W movf PLUSW1, W movwf TMP7 then a quick hack to have a dec button function in cs_menu.inc (mostly a copy of ButtonInc)... CS_MENU_ButtonDec ;; save WREG movwf TMP5 ;; save menu settings so that we can jump back to the current menu later movff CS_MENU, SAVED_CS_MENU movff CS_MENU_CURSOR_POS, SAVED_CS_MENU_CURSOR_POS movff CS_MENU_PAGE_OFFSET, SAVED_CS_MENU_PAGE_OFFSET ;; change to menu movwf CS_MENU rcall CS_MENU_Page_Init ;; set new page offset and cursor pos movff MIOS_PARAMETER1, CS_MENU_CURSOR_POS movff MIOS_PARAMETER2, CS_MENU_PAGE_OFFSET ;; select parameter call CS_MENU_EXEC_SelPar ;; decrement the parameter value, if max value reached, reset value movlw 0x00 IFNEQ CS_MENU_PARAMETER_L, ACCESS, goto CS_MENU_ButtonDec1 movff CS_MENU_PARAMETER_MAX_L, CS_MENU_PARAMETER_L incf CS_MENU_PARAMETER_L CS_MENU_ButtonDec1 decf CS_MENU_PARAMETER_L rcall CS_MENU_ParameterUpdate ; update parameter call CS_MENU_EXEC_Hlp_ChangeMenu ; deselect parameter ;; change back to old parameter if we were already in the menu before movf SAVED_CS_MENU, W xorwf TMP5, W bnz CS_MENU_ButtonIncDec_End movff SAVED_CS_MENU, CS_MENU rcall CS_MENU_Page_Init movff SAVED_CS_MENU_PAGE_OFFSET, CS_MENU_PAGE_OFFSET movff SAVED_CS_MENU_CURSOR_POS, CS_MENU_CURSOR_POS goto CS_MENU_ButtonIncDec_End in cs_menu_enc.inc i replaced the old CS_MENU_ENC_CS_Handler, CS_MENU_ENC_CS_Osc, CS_MENU_ENC_CS_LFO, CS_MENU_ENC_CS_Filter and CS_MENU_ENC_CS_Env by: (I'm proud of this one.... ;D) CS_MENU_ENC_CS_Handler ;; move incrementer to MIOS_PARAMETER3 movff MIOS_PARAMETER2, MIOS_PARAMETER3 movf CS_MENU_SELECTED_ROW, W mullw 5 movf PRODL, W addwf MIOS_PARAMETER1, W Then, you must have 5 lines for each part in cs_menu_enc_table.in. (3 lines to add for filter and LFO and a new set of 5 lines for User....) You also have to switch the order to fit the Control surface rows : OSC, ENV, Filter, LFO, User in my case. cs_menu_io_tables.inc... (don't look at the SR/pin number... :-[) DIN_ENTRY CS_MENU_BUTTON_Exec, 4, 6 DIN_ENTRY CS_MENU_BUTTON_Sel5, 3, 3 DIN_ENTRY CS_MENU_BUTTON_Sel4, 3, 0 DIN_ENTRY CS_MENU_BUTTON_Sel3, 3, 1 DIN_ENTRY CS_MENU_BUTTON_Sel2, 3, 2 DIN_ENTRY CS_MENU_BUTTON_Sel1, 3, 6 DIN_ENTRY CS_MENU_BUTTON_General1, 1, 5 DIN_ENTRY CS_MENU_BUTTON_General2, 1, 4 DIN_ENTRY CS_MENU_BUTTON_General3, 3, 7 DIN_ENTRY CS_MENU_BUTTON_Link, 0, 0 DIN_ENTRY CS_MENU_BUTTON_CC, 1, 2 DIN_ENTRY CS_MENU_BUTTON_Edit, 1, 3 DIN_ENTRY CS_MENU_BUTTON_Row_Dec, 1, 7 DIN_ENTRY CS_MENU_BUTTON_Row_Inc, 1, 6 DIN_ENTRY CS_MENU_BUTTON_MatrixRow_Dec, 1, 1 DIN_ENTRY CS_MENU_BUTTON_MatrixRow_Inc, 1, 0 DIN_ENTRY CS_MENU_BUTTON_M_E1, 2, 0 DIN_ENTRY CS_MENU_BUTTON_M_E2, 2, 1 DIN_ENTRY CS_MENU_BUTTON_M_L1, 2, 2 DIN_ENTRY CS_MENU_BUTTON_M_L2, 2, 3 DIN_ENTRY CS_MENU_BUTTON_M_L3, 2, 7 DIN_ENTRY CS_MENU_BUTTON_M_L4, 2, 6 DIN_ENTRY CS_MENU_BUTTON_M_L5, 2, 5 DIN_ENTRY CS_MENU_BUTTON_M_L6, 2, 4 and CS_MENU_DOUT_TABLE ;; Register and bit SR# Pin# Description DOUT_ENTRY CS_MENU_MODE, CS_MENU_MODE_CC, 0, 1 ; CC LED DOUT_ENTRY CS_MENU_MODE, CS_MENU_MODE_EDIT_FLASHED,0, 2 ; Edit LED ;; TMP6 : main control matrix row DOUT_ENTRY TMP6, 0, 2, 0 DOUT_ENTRY TMP6, 1, 2, 1 DOUT_ENTRY TMP6, 2, 2, 2 DOUT_ENTRY TMP6, 3, 2, 3 DOUT_ENTRY TMP6, 4, 2, 4 DOUT_ENTRY TMP6, 5, 2, 5 DOUT_ENTRY TMP6, 6, 2, 6 DOUT_ENTRY TMP6, 7, 2, 7 ;; TMP7 : modulation leds of selected row DOUT_ENTRY TMP7, 0, 1, 0 DOUT_ENTRY TMP7, 1, 1, 1 DOUT_ENTRY TMP7, 2, 1, 2 DOUT_ENTRY TMP7, 3, 1, 3 DOUT_ENTRY TMP7, 4, 1, 4 DOUT_ENTRY TMP7, 5, 1, 5 DOUT_ENTRY TMP7, 6, 1, 6 DOUT_ENTRY TMP7, 7, 1, 7 ;; I have many modifications in cs_menu_buttons.inc... (All useless buttons removed) The interesting part are : CS_MENU_BUTTON_Row_Inc ;; do nothing if button has been depressed IFSET MIOS_PARAMETER2, 0, return movlw 0x06 IFLEQ CS_MENU_SELECTED_ROW, ACCESS, goto CS_MENU_BUTTON_Row_Inc_DoIt clrf CS_MENU_SELECTED_ROW goto CS_MENU_BUTTON_Row_ChangeMenu CS_MENU_BUTTON_Row_Inc_DoIt incf CS_MENU_SELECTED_ROW, F goto CS_MENU_BUTTON_Row_ChangeMenu CS_MENU_BUTTON_Row_Dec ;; do nothing if button has been depressed IFSET MIOS_PARAMETER2, 0, return movlw 0x01 IFGEQ CS_MENU_SELECTED_ROW, ACCESS, goto CS_MENU_BUTTON_Row_Dec_DoIt movlw 0x07 movwf CS_MENU_SELECTED_ROW goto CS_MENU_BUTTON_Row_ChangeMenu CS_MENU_BUTTON_Row_Dec_DoIt decf CS_MENU_SELECTED_ROW, F goto CS_MENU_BUTTON_Row_ChangeMenu CS_MENU_BUTTON_Row_ChangeMenu ;; update TMP6 for easy menu switching movf CS_MENU_SELECTED_ROW, W call MIOS_HLP_GetBitORMask movwf TMP6 ;; menu display movlw 0x00 ; cursor pos movwf MIOS_PARAMETER1 movlw 0x00 ; page offset movwf MIOS_PARAMETER2 movlw CS_MENU_FIL ; menu structure IFSET TMP6, 0, movlw CS_MENU_OSC IFSET TMP6, 1, movlw CS_MENU_OSC IFSET TMP6, 2, movlw CS_MENU_OSC IFSET TMP6, 3, movlw CS_MENU_ENV IFSET TMP6, 4, movlw CS_MENU_ENV IFSET TMP6, 5, movlw CS_MENU_FIL IFSET TMP6, 6, movlw CS_MENU_LFO IFSET TMP6, 7, goto CS_MENU_BUTTON_DisplayUpdateReq goto CS_MENU_BUTTON_Hlp_MenuChangeOk CS_MENU_BUTTON_MatrixRow_Inc ;; do nothing if button has been depressed IFSET MIOS_PARAMETER2, 0, return ;; just show menu if not already on the LCD movlw CS_MENU_MOD IFNEQ CS_MENU, ACCESS, rgoto CS_MENU_BUTTON_Hlp_MenuChangeOk movlw 0x00 ; cursor pos movwf MIOS_PARAMETER1 movlw 0x00 ; page offset movwf MIOS_PARAMETER2 movlw CS_MENU_MOD ; menu structure goto CS_MENU_ButtonInc CS_MENU_BUTTON_MatrixRow_Dec ;; do nothing if button has been depressed IFSET MIOS_PARAMETER2, 0, return ;; just show menu if not already on the LCD movlw CS_MENU_MOD IFNEQ CS_MENU, ACCESS, rgoto CS_MENU_BUTTON_Hlp_MenuChangeOk movlw 0x00 ; cursor pos movwf MIOS_PARAMETER1 movlw 0x00 ; page offset movwf MIOS_PARAMETER2 movlw CS_MENU_MOD ; menu structure goto CS_MENU_ButtonDec ;; ------------------------------------------------------------------ CS_MENU_BUTTON_General1 IFSET MIOS_PARAMETER2, 0, return IFSET TMP6, 0, rgoto CS_MENU_BUTTON_Osc_Sel ;; IFSET TMP6, 1, rgoto ;; IFSET TMP6, 2, rgoto IFSET TMP6, 3, rgoto CS_MENU_BUTTON_Env_Sel ;; IFSET TMP6, 4, rgoto IFSET TMP6, 5, rgoto CS_MENU_BUTTON_Fil_Sel IFSET TMP6, 6, rgoto CS_MENU_BUTTON_LFO_Sel ;; IFSET TMP6, 7, rgoto return CS_MENU_BUTTON_General2 IFSET MIOS_PARAMETER2, 0, return IFSET TMP6, 0, rgoto CS_MENU_BUTTON_Osc_Wav ;; IFSET TMP6, 1, rgoto ;; IFSET TMP6, 2, rgoto IFSET TMP6, 3, rgoto CS_MENU_BUTTON_Env_Curve ;; IFSET TMP6, 4, rgoto IFSET TMP6, 5, rgoto CS_MENU_BUTTON_Fil_Mod IFSET TMP6, 6, rgoto CS_MENU_BUTTON_LFO_Wav ;; IFSET TMP6, 7, rgoto return CS_MENU_BUTTON_General3 IFSET MIOS_PARAMETER2, 0, return IFSET TMP6, 0, rgoto CS_MENU_BUTTON_Osc_RS ;; IFSET TMP6, 1, rgoto ;; IFSET TMP6, 2, rgoto ;; IFSET TMP6, 3, rgoto ;; IFSET TMP6, 4, rgoto ;; IFSET TMP6, 5, rgoto ;; IFSET TMP6, 6, rgoto ;; IFSET TMP6, 7, rgoto return I also replaced in this file the 2 last lines of CS_MENU_BUTTON_Chg_Ex_Cont and CS_MENU_BUTTON_Chg_Lx_Cont by "return" because i didn't want the modulation toggle button to change the menu.... in mios_tables just put the 5 encoders and their SR/pins.... I think that's it. Hope this made a readable message.... At least i will be able to read it again in the futur if i didn't remember the mods i made.... ;) Regards, Xavier UPDATE : current control surface design.
  22. While i'm waiting for the new transformer of my midiboxFM to be able to finish it (the old cheap one make awfull background noise).... I had some time to work on this "little surface, maximum control" project... The code is finished and every thing is working fine... The code to write was simpler than expected. The encoder function tables fit perfectly this design. My CS_MENU_ENC_CS_Handler function is very very simple If some are interested i'll post the files i modified... There are lots of empty cells that can be filled with custom functions very easily. (The printing on the picture is not the last version of the design but helped me to check the buttons/knobs....) Still a little work to do on the control surface design and a lot of work to put that in a closed box !!! but that works !!! ;D Xavier
  23. I think you wrote this FAQ to avoid that kind of question... Sorry... And thanks for the answer. Xavier
  24. Thanks Thorsten for the FAQ which is very usefull... and clear. But i was surprised to read I haven't tried yet the CC button (step B) with my mono SID but i have the feeling it will make the bug appear... Can you tell me if the followin is true ? You play a midi track routed to the SID box with a sequencer... and then use the CC stuff to record with the same sequencer some sound modifications while it plays. The bug may occure (??) Regards, Xavier
  25. Thanks.... :) No change at all ! Line 1&3 corresponds to line 1 of a 2x40 LCD. Line 2&4 to line 2. I may try to change something but i'm afraid that will not be simple : It is that when you scroll the menu with the main encoder all the screen scrolls and it's weird... It would be much nicer to have only the second line scrolling. The main page also is weird with the '|' at the end of the first line (you can see it in the first post) ... Removing this "|" and putting 2 spaces instead of 1 between the instruments would be nicer. Xavier
×
×
  • Create New...