Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. Hi Ian, the data structure of the SIDstation has been published in the manual, so in theory it should work with a simple conversion script. However, due to the different sound engines the results will not be the same. But it would be a nice possibility to increase the number of patches - I will try this sooner or later ;-) Best Regards, Thorsten.
  2. Hi Dan, due to a bug in my automatized release script the app_lcd.inc file wasn't available in the release directory. You will find it in the mios_v1_3 archive under update/ just copy app_lcd.inc into the midibox_lc directory and the assembler should pass again. Best Regards, Thorsten.
  3. Hi Steve, yes, the LEDRINGS_SR_* settings are used to define the position of the shift registers which are connected to the LED rings. In difference to lc_io_tables.inc the shift registers are counted from zero here! See also this schematic: http://www.ucapps.de/mbhp/mbhp_doutx4_lc_ledrings.pdf it means that LEDRINGS_SR_CATHODES are located at the 9th SR, therefore number 8, and the anodes are located at SR 10 and 11. SR 9 is reserved for seperate meters, but if you don't plan to add them, you could either change the default settings or use this spare shift register for additional LED functions. ID_MBLC_SWITCH_LEDMETER1 switches to the meter mode, but doesn't switch back. So you have to assign at least one additional button to ID_MBLC_SWITCH_LEDMETER0 or use a single button with ID_MBLC_TOGGLE_LEDMETER for a toggle function, resp. ID_MBLC_HOLD_LEDMETER for a shift function FAQMARKER Best Regards, Thorsten.
  4. My respect for the proper work! :) Best Regards, Thorsten.
  5. I also like the colours and the alternative arrangement. Just two hints: the rotary encoder beside of the LCD shouldn't be called "scroll", the function is more like a datawheel. It is used to scroll through the menues, but especially to change the values. Only one button should be placed below of this data wheel, it is used to switch between the "change parameter" and "scroll menu" function. The alternative function of the envelope section is not the same like for the oscillator section (Transpose, Finetune, ...), it's also a free configurable layer. Btw.: by default this alternative layer is assigned to the menu parameters. This means: you can change the 5 parameters which are visible on screen. I noticed that this feature is especially usefull when editing WT sequences, by scrolling to the correct menu position you are able to use one encoder for the sequencer position, one for the play mode, the three others for the CC values/Note/Arpeggiator key numbers :) Best Regards, Thorsten. P.S.: the MIDIbox SID provides also a polyphonic mode
  6. see this schematic from Matteo Bosi: http://www.ucapps.de/midibox_ext/ep/expressionpedal.gif Best Regards, Thorsten.,
  7. Hi Steve, thanks for the informations! Every article which should be added to a MIDIbox NG FAQ later will now get a marker in order to simplify the search. FAQMARKER Best Regards, Thorsten.
  8. TK.

    MIDIbox SID V1.5

    Thanks :) Ian: it's better to add a pot behind the audio output, because the volume DAC is limited to 4 bit Btw.: in the meantime an error in the initialization routine of the PIC18F based firmware has been reported - the SID clock output runs with 2 MHz instead of 1 MHz, therefore all notes are transposed by one octave & sometimes the patches don't sound like intended ;-) Note: this bug only affects MIDIbox SIDs which are stuffed with a PIC18F and which are not stuffed with a dedicated 1 MHz oscillator for the SID. in sid_init.inc please change: ;; Initialize Clock Generator (the PWM unit is used for that) movlw 0x04 movwf PR2 movlw 0x24 movwf T2CON movlw 0x0f movwf CCP1CON movlw 0x02 movwf CCPR1L to: ;; Initialize Clock Generator (the PWM unit is used to generate a 1MHz clock with 1:1 duty cycle) movlw 0x09 movwf PR2 movlw 0x24 movwf T2CON movlw 0x0f movwf CCP1CON movlw 0x04 movwf CCPR1L Best Regards, Thorsten.
  9. TK.

    MIDIbox LC V1.1.2

    Hi Jesaiplu, I'm still hoping that somebody writes a walkthrough so that I can focus on the technical stuff (schematics, block diagramms, etc.) ;-) Best Regards, Thorsten.
  10. Ok, who among you origanized this meaningful URL? ;-) Best Regards, Thorsten.
  11. TK.

    MIDIbox SID V1.5

    Hi, Chris: you possibly have to press the "reload" button of your webbrowser to see the updated download page (I guess that you are using the M$ Internet Explorer...) Jeroddumas: sure, this version includes the SIDSW kernel which behaves 1:1 like the PIC16F firmware plus Step A, Step B and Step C of the control surface. Best Regards, Thorsten.
  12. See http://www.ucapps.de/midibox_sid_changelog.html Have a nice weekend! :-) ...and don't forget to publish your selfmade sequences & arpeggiator textures! ;-) Best Regards, Thorsten.
  13. Hi Nat, yes, I know them... the description of these functions can be found in the example files of the mk_syx archive ################################################################################ # Snapshot at PowerOn: if enabled, the box will send all current pot settings # when the power is switched on # Allowed Keywords: "enabled" and "disabled" ################################################################################ [SNAPSHOT_AT_POWERON] disabled ################################################################################ # Auto Snapshot: only usefull if BankStick available. # If enabled, and a bank is changed via Program Change or within the Bank # Submenu, MIDIbox will automagically restore the last-saved settings of the # new bank after the bankchange # Note: you should enable this flag in all banks in order to get it # running properly! # Allowed Keywords: "enabled" and "disabled" ################################################################################ [AUTO_SNAPSHOT] enabled ################################################################################ # MIDI Merger: enable the merger in order to forward the incoming MIDI # events to the MIDI Out. A must if you would like to plug a keyboard # on the MIDI In, or if you want to cascade MIDIboxes # Allowed Keywords: # disabled don't use merger at all # enabled merges all external with internal events # mblink_fp MIDIbox Link Forwarding Point: like a common MIDI merger, # but internal events will be framed so that a MIDIbox Link # End Point can distinguish between a event which has been # sent by a common MIDI device and events which have been # generated by a MIDIbox # mblink_ep MIDIbox Link End Point: merges only external events # from a MBLink FP (Forwarding Point) ################################################################################ [MIDI_MERGER] disabled ################################################################################ # If enabled, the 16 LEDs (32 with the LED extension) reacts on the # same MIDI events which are assigned to the corresponding buttons. # Example: if MIDI Trigger Button #1 is assigned to the controller B0 07, # the LED will turn on if the box *receives* a event B0 07 xx (xx != 0), # and will turn off if the box *receives* B0 07 00 # Note that with the BankStick, this feature consumes about 4 ms on every incoming # MIDI event, therefore it is only optional if you can accept this latency # Allowed Keywords: "enabled" and "disabled" ################################################################################ [MIDI_LEDS] disabled ################################################################################ # Send PC on Bankchange - if enabled, the MIDIbox sends a Program Change # Event on MIDI Channel F (CF <bank>) on every bank change # Very usefull if you would like to change the settings in your MIDI # application on Bank Changes (supported by Logic, Cubase, MIDI-OX Mapper) # Allowed Keywords: "enabled" and "disabled" ################################################################################ [SEND_PC_ON_BANKCHANGE] disabled ################################################################################ # Receive PC for Bankchange - if enabled, the MIDIbox switches the bank # if a Program Change on MIDI Channel F (CF <bank>) has been received # Only usefull if the BankStick is available # Allowed Keywords: "enabled" and "disabled" ################################################################################ [RECEIVE_PC_FOR_BANKCHANGE] disabled ################################################################################ # Touch Sensor Sensitivity # Allowed values: 1 - 32 # Default: 3 ################################################################################ [TOUCHSENSOR_SENSITIVITY] 3 ################################################################################ # LC Emulation ID (in hex format) # Known IDs: 10 - Logic Control # 11 - Logic Control XT # 14 - Mackie Control # other values: enable Houston Emulation # 00 - disable the LC and Houston emulation # # Default: 00 ################################################################################ [LC_EMULATION_ID] 00 ################################################################################ # Disable Navigation Buttons # Allowed Keywords: "enabled" and "disabled" ################################################################################ [NAVIGATION_BUTTONS] enabled ################################################################################ # LED Map: assignes the LED shift registers to the Button Shift # registers or special values # Currently following values are supported: # 0 Default Setting (see Map below) # 1 Button Shift Register 1 (Button ID #1-#8) # 2 Button Shift Register 2 (Button ID #9-#16) # 3 Button Shift Register 3 (F1-F4 and Navigation Buttons: ID #17-#24) # 4 Button Shift Register 4 (Button ID #25-#32) # 5 Button Shift Register 5 (Button ID #33-#40) # 6 Button Shift Register 6 (Button ID #41-#48) # 7 Button Shift Register 7 (Button ID #49-#56) # 8 Button Shift Register 8 (Button ID #57-#64) # 9 Internal Bank (1 of 8) # 10 External Bank (1 of 8) # 11-15 reserved # 16 MIDI Status received for Button ID #1-#8 ([MIDI_LEDS] must be enabled!) # 17 MIDI Status received for Button ID #9-#16 ([MIDI_LEDS] must be enabled!) # 18 MIDI Status received for Button ID #17-#24 ([MIDI_LEDS] must be enabled!) # 19 MIDI Status received for Button ID #25-#32 ([MIDI_LEDS] must be enabled!) # 20 MIDI Status received for Button ID #33-#40 ([MIDI_LEDS] must be enabled!) # 21 MIDI Status received for Button ID #41-#48 ([MIDI_LEDS] must be enabled!) # 22 MIDI Status received for Button ID #49-#56 ([MIDI_LEDS] must be enabled!) # 23 MIDI Status received for Button ID #57-#64 ([MIDI_LEDS] must be enabled!) # 24-31 reserved ################################################################################ [LED_MAP] LED_SR1 = 1 # (Button ID #1-#8) LED_SR2 = 2 # (Button ID #9-#16) LED_SR3 = 3 # (F1-F4 and Navigation Buttons: ID #17-#24) LED_SR4 = 4 # (Button ID #57-#64) LED_SR5 = 5 # (Button ID #25-#32) LED_SR6 = 6 # (Button ID #33-#40) LED_SR7 = 7 # (Button ID #41-#48) LED_SR8 = 8 # (Button ID #49-#56) ################################################################################ ################################################################################ # The ENCS and BUTTONS sections include all settings for pots and buttons # # # ENCS # # The maximum allowed number of encoders: 16 # # Syntax for a encoder entry: # <bank>.<pot-number> = <midi-event0> <midi-event1> [<min value>-<max value>:<default-value>] # # Supported enc MIDI events (. stands for hex digit, vv stands for pot # value with the ranges from <min> to <max>) # # 9. .. (Note On) Example: 90 30 [00-7F] (MIDIbox sends 90 30 vv) # A. .. (Poly Aftertouch) Example: A0 30 [00-7F] (MIDIbox sends A0 30 vv) # B. .. (Controller) Example: B0 07 [00-7F] (MIDIbox sends B0 07 vv) # C. .. (Program Change) Example: C0 [00-7F] (MIDIbox sends C0 vv) # D. .. (Channel Aftertouch) Example: D0 30 [00-7F] (MIDIbox sends D0 30 vv) # E. .. (Pitch Bender) Example: E0 [00-7F] (MIDIbox sends E0 vv vv) # F. .. (Meta Event) Example: F0 01 [00-7F] (*) # # # # BUTTONS # # The maximum allowed number of buttons: 24 # # Syntax for a button entry: # <bank>.<button-number> = <midi-event> @<behaviour> # # Supported button MIDI events (. stands for hex digit) # 9. .. .. (Note On) Example: 90 30 7F @OnOff (MIDIbox sends 90 30 vv) # A. .. .. (Poly Aftertouch) Example: A0 30 7F @OnOff (MIDIbox sends A0 30 vv) # B. .. .. (Controller) Example: B0 07 7F @Toggle (MIDIbox sends B0 07 vv) # C. .. .. (Program Change) Example: C0 05 @OnOff (MIDIbox sends C0 vv) # D. .. .. (Channel Aftertouch) Example: D0 30 7F @OnOff (MIDIbox sends D0 30 vv) # E. .. .. (Pitch Bender) Example: E0 7F 7F @OnOff (MIDIbox sends E0 vv vv) # F. .. .. (Meta Event) Example: F0 01 02 @OnOff (*) # FF .. .. (Special Function) See http://www.uCApps.de/midibox16e/midibox16e_sfb_table.txt # # Supported button behaviours (see MIDIbox tutorial): # @OnOff # @OnOnly # @Toggle # # # (*) A meta event is nothing else than a branch to a special routine # in the firmware, which can be programmed by yourself. With a # meta event you are able to send everthing you want - SysEx # strings, more than one controller event at once, or you can just # toggle pins, switch relays, display text messages and so on... # # The two or three bytes of a meta event are your parameters, do with # it what you want. :) # ################################################################################ # # Available Encoder Modes: # # ENC_MODE_ABSOLUTE send absolute value # ENC_MODE_40SPEED send 40 +/- <speed> (for Native Instruments Software) # ENC_MODE_00SPEED send 00 +/- <speed> (for Steinberg Software) # ENC_MODE_40_1 send 40 +/- 1 # ENC_MODE_00_1 send 00 +/- 1 # ENC_MODE_INCDEC send CC Inc/Dec # ENC_MODE_LCEMU send 0<speed> when turned clockwise, 4<speed> on counter clockwise # (protocol used by Logic Control/Mackie) # ENC_MODE_HOUSTON_EMU send absolute value + Bn <CC+0x20> 00 # (protocol used by Logic Control/Mackie) # # optional speed flags: &NORMAL (default), &FAST or &SLOW # # Example: # ENC_MODE_ABSOLUTE # absolute value, normal speed # ENC_MODE_ABSOLUTE&NORMAL # identical # ENC_MODE_40SPEED&FAST # send 40 +/- <speed>, fast encoder speed # ENC_MODE_INCDEC&SLOW # Inc/Dec Mode, slow speed # ENC_MODE_LCEMU # LC Emulation Mode # ENC_MODE_HOUSTON_EMU # Houston Emulation Mode # ################################################################################ # # Available LED Patterns: # # LED_PATTERN_0 defined in the [LED_PATTERNS] section # LED_PATTERN_1 # LED_PATTERN_2 # LED_PATTERN_3 # ################################################################################ # # MIDIbox16E users are also able to define a display string for every # pot if the bank settings are located in a BankStick # # Syntax: "<string>" <type-identifier> # Example: "Volume Chn 1" DEC # "Pan Chn 14" +-DEC # "CutOff" +-HEX| # # Valid Idendifiers: # DEC: Displays a 3-digit decimal number on the right side # +-DEC: Displays a 3-digit decimal number on the right side based on the # formula: value - ((max-min)/2) # HEX: Displays a 2-digit hex number on the right side # +-HEX: Displays a 2-digit hex number on the right side based on the # formula: value - ((max-min)/2) # Also valid: DEC| # +-DEC| Displays an additional status bar # HEX # +-HEX| # ################################################################################ Best Regards, Thorsten.
  14. Hallo, die analogen Verbindungen sind schonmal optimal! :) Der 100 nF Kondensator macht auf alle Faelle Sinn, damit Stoerungen in der Spannungsversorgung, die insbesondere auch dann auftreten, wenn sich die Motoren bewegen, moeglichst gut herausgefiltert werden. Leider hatte ich noch nie die Moeglichkeit, das Zusammenspiel mit den Panasonic Fadern live zu testen. Ich weiss noch nicht einmal, ob an MIOS evtl. eine spezielle Anpassung vorgenommen werden muesste. Manche Leute berichten, dass sie bestens funktionieren, andere haben die optimalen Settings noch nicht herausgefunden. Dazu muss ich allerdings auch sagen, dass die Motoren nicht so butterweich wie bei High-End Controllern angesteuert werden koennen, weil MIOS die Fadergeschwindigkeit lediglich steuert, und nicht regelt (E-Techniker wissen, was ich meine ;-)) Fuer eine Regelung, die permanent die Fadergeschwindigkeit misst und dementsprechend die Steuerspannung kontrolliert braeuchte man a) einen ausgefeilten Algorithmus, und b) pro Fader einen eigenen Controller, und den Aufwand will und kann ich nicht treiben. Also: mit ner supersanften Ansteuerung wird es so schnell nichts, trotzdem sollte die Faderposition exakt erreicht werden. Bei der Kalibrierung gibt es eigentlich nur wenige Zusammenhaenge, auf die man achten muss: zwischen den Speed-Settings CalibrationDown und CalibrationUp und der MF Spannung gibt es einen direkten Zusammenhang: je niedriger die Spannung, desto hoeher muss der Calibration-Wert eingestellt werden. es gibt 32 Geschwindigkeitsstufen, der Calibration-Wert wird aufaddiert. Mit einem Calibration-Wert von 0x10 (=16) gibt es also nur noch 16 weitere Stufen nach oben bei mir funktioniert der Wert 0x0c ideal die Spannung sollte so eingestellt werden, dass sich die Fader moeglichst leise bewegen und nicht haengen bleiben. AIN deadband: hiermit bestimmt man die Aufloesung des Analog-Digital-Wandlers. Das Deadband sollte so klein wie moeglich gewaehlt werden, um eine moeglichst hohe Aufloesung zu erzielen. Da die Ergebnisse eines ADC vom Prinzip aus mit einem Fehler von einem halben Bit belastet sind, sollte das deadband mindestens auf "1" eingestellt werden. Bei einem Jitter-Problem kann man das Rauschen mit hoeheren Deadband-Werten unterdruecken, auf Kosten der Aufloesung... MF deadband: wenn der Motorfader eine neue Position anfaehrt, so pendelt er sich innerhalb des MF deadbands ein. Je groesser der MF-Deadband-Wert, desto eher kann es passieren, dass er weit vor (oder nach) der Zielposition stehenbleibt. Je kleiner der Wert, desto eher kann es passieren, dass der Fader bis zu 5 mal um die Zielposition herumpendelt, bevor MIOS den Motor schliesslich abschaltet (Ziel nicht erreicht...). Das AIN-Deadband muss kleiner als das MF Deadband sein. Wenn der ADC zu ungenaue Werte liefert, wird es fuer den MF Driver sehr schwierig, die exakte Position anzufahren. Idealwerte (die auch bei Dir bestens funktionieren sollten): AIN Deadband: 1, MF Deadband: 3 ...aber es kann natuerlich auch an einem Verschaltungsfehler (oder an einer kalten Loetstelle, etc.) liegen. Gruss, Thorsten.
  15. Hi Smitch, thanks - it works so well since it is handcoded :) Best Regards, Thorsten.
  16. Hi, yes, the hardware has to support 14-bit values. Most prefered are NRPNs or SysEx streams. The realisation is simple, the enc_speed example is the smallest program which supports up to 16 bit, and it depends on the hardware in which way this number has to be transmitted. Best Regards, Thorsten.
  17. This is no MIOS related question (please keep the archives clean!) Link to original positing: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=concepts;action=display;num=1058143889 Best Regards, Thorsten.
  18. Hi Chriss, Random LFO is one of the new features of the upcoming V1.5 With "andlw 0x07" you've masked out the interesting bits. However, I would recomment following four lines after "movlw TMP5" of the original code: btfsc INDF0, LFO_MODE_SYNC bsf TMP5, 5 btfsc INDF0, LFO_MODE_SYNC_ALL bsf TMP5, 6 (unfortunately the IFSET macro doesn't work with more than three parameters, therefore btfsc == bit test, skip if clear" has to be used without the macro) Best Regards, Thorsten.
  19. Link to the answer: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=troubleshooting;action=display;num=1058373917 (try to keep the archive clean ;-)) Best Regards, Thorsten.
  20. Hi Nat, this is no "Virtual MIDIbox" related question, as the virtual box doesn't support the features (so far as I remember). Btw.: it also doesn't support the encoder type settings like "relative" controllers. An explanation for the switches can be found under http://www.ucapps.de/midibox/mk_syx.zip see the samples/midibox16e*.ini files Best Regardsm, Thorsten.
  21. For the records: problem was that Sephult tried to set a pin with "MIOS_DOUT_Pinset", but the correct name is "MIOS_DOUT_PinSet". The parser of the PIC assembler is case sensitive Best Regards, Thorsten.
  22. Hi dragon, are you using an AC adapter? In this case you could try following circuit in order to get a negative voltage for V0: http://www.ucapps.de/mbhp/mbhp_lcd_neg_voltage.gif http://www.ucapps.de/mbhp/mbhp_lcd_neg_voltage_connection.gif The originator of this circuit is Douglas Pederick. Note: what he calls "HD44780" is the display which requires negative voltage, so in your case the KS0066 - the required V0 voltage of a LCD module is independent from the controller. For the records: graphical LCDs require also a negative voltage, but -10V or lower. A solution for such displays can be found under Concepts->MBHP->LCD Best Regards, Thorsten.
  23. Yes, but only the MIOS based firmware. The merger function had to be switched on/off with the "Link" button, but you can also change the init function to enable the merger by default. Best Regards, Thorsten.
  24. Possibly the answer would be easier for me and more understandable for you, if you could explain how your current solution works so that I only have to write which enhancements are required. Best Regards, Thorsten.
  25. Hi Christoffer, yes, you can use the PSU either of the new or of the old C64 for the 6581 and the 8580 - both units deliver 5VDC and 9VAC (note that the additional 7809 shifts the voltage level to +5VDC+9VDC = 14VDC). My own MIDIbox SID is stuffed with two 6581 and 8580 - in my oppinion the best combination :) Currently it doesn't matter if you are using the PIC16F or PIC18F for the slave cores, but I'm not sure how long I can ensure the availability of the same features for both firmwares (yes, the next V1.5 release will be 1:1 compatible, although my effort for the implementation of the PIC16F adaption was about 4 times higher than for the original PIC18F solution!). So, if you don't already own some old PIC16F, use PIC18F. The PIC18F provides also a much larger MIDI buffer which prevents stucking notes! Best Regards, Thorsten.
×
×
  • Create New...