Jump to content

Rio

Members
  • Posts

    714
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by Rio

  1. Unfortunately, I do not have enough idea of asm, but I was able to implement at least a CC 120 (for a chosen midi channel), which reloads the same preset, which internally resets the registers. Maybe it is useful for someone to manually delete the hanging tone. At least you have to add following code in these files:

    sid_midi.inc (insert before CC 123 detection: -->   ;; check if All Notes Off (CC#123 == 0))

    ;; #######################################################
    ;; # CC 120 reload preset
    ;; #######################################################
    
        ;; check if CC 120 (CC#120)
        movlw    0x78
        cpfseq    SID_MIDI_PARAMETER1, BANKED
        rgoto    SID_MIDI_CC_NoInitPreset
        movf    SID_MIDI_PARAMETER2, BANKED
        bz    SID_MIDI_CC_NoInitPreset
    SID_MIDI_CC_InitPreset
        goto    CS_MENU_MS_NotifyInitPreset
    SID_MIDI_CC_NoInitPreset
    
    ;; #######################################################
    ;; # END MODIFICATION
    ;; #######################################################

     

    cs_menu_ms.inc (insert before program change routine -> ;;  This function is called to forward a Program Change event to the control surface)

    ;; #######################################################
    ;; # init/reload preset routine
    ;; #######################################################
    
    ;; --------------------------------------------------------------------------
    ;;  This function is called to forward a Init Preset event to the control surface
    ;;  Input:
    ;;     o midi channel in SID_CURRENT_CHANNEL
    ;;     o patch number in SID_MIDI_PARAMETER2 of INDF0 lower value
    ;; --------------------------------------------------------------------------
    CS_MENU_MS_NotifyInitPreset
        ;; request patch send to SIDs with matching channel number
        SET_BSR    SID_BASE
        clrf    PRODL            ; PRODL used as counter
    CS_MENU_MS_NotifyInitPresetL
        ;; calc pointer to channel entry
        lfsr    FSR0, CS_MENU_SID_M_CHN
        movf    PRODL, W
        addwf    FSR0L, F
    
        ;; check if channel number matches
        movf    INDF0, W
        xorwf    SID_CURRENT_CHANNEL, W, BANKED
        andlw    0x0f
        bnz    CS_MENU_MS_NotifyInitPresetLN
    
        ;; get patch number matches (in this case don't change the patch)
        movlw    (CS_MENU_SID_M_PATCH-CS_MENU_SID_M_CHN) & 0xff
        addwf    FSR0L, F
        andlw    0x7f
    
        ;; copy INDF0 to SID_MIDI_PARAMETER2 and masked 0x7f
        movf    INDF0, W
        andlw    0x7f
        movwf    SID_MIDI_PARAMETER2
    
        ;; store patch number
        movff    SID_MIDI_PARAMETER2, INDF0
    
        ;; skip if patch change already requested
        movlw    (CS_MENU_TX_M_CTR-CS_MENU_SID_M_PATCH) & 0xff
        addwf    FSR0L, F
        BRA_IFSET INDF0, 7, ACCESS, CS_MENU_MS_NotifyInitPresetLN
        ;; request patch change
        movlw    0x81
        movwf    INDF0
    CS_MENU_MS_NotifyInitPresetLN
        incf    PRODL, F
        BRA_IFCLR PRODL, 2, ACCESS, CS_MENU_MS_NotifyInitPresetL
    
        return
    
    ;; #######################################################
    ;; # END MODIFICATION
    ;; #######################################################

    I know, it's not the best solution (I miss my assembler depth ... actually I just wanted to refresh the SR :doubt:). However, you must be aware that this will cause any changes to the preset to be lost. ..most of the code was taken from the program change routine. This CC is useful for me, after the 6581 was used and the SID is still audible after use. I can then trigger this CC to end the hanging sound.

    Greetings, rio

  2. ##################################################
    # Running status optimisation
    # Enabled by default, should be disabled if a MIDI
    # device connected to a MIDI port doesn't fully
    # comply to the MIDI specification.
    # Expects two parameters: port number and 0/1 to
    # disable/enable the optimisation.
    ##################################################

    Can someone explain me what the difference is to 'normal' midi out or what exactly does that do? Most of my synths/device don't understand this optimization... 

    Greetings,

    rio

  3. I would like to take this opportunity to say "thank you" again. After years of working with it, I can still discover new things, implement my ideas and nice that the firmware for the LPC17 was still in place, which I still use. The device is or remains the heart of my synthesizer & it runs stable & fine - I do not know any other hardware that covers the range or is so flexibly applicable. By the way, mentioned that the firmware is also open source.

    Best regards, rio

    • Like 1
  4. Hi,

    Yesterday I played around with the loopback feature. If I had set a track to bus 1 then I can already see the NRPN LSB descriptions for the CC inside that track - nice, but If i choose another bus (2,3,4) the standard description of the CCs is shown again. Is that intended or a visual bug?

    best regards,

    rio

  5. since V4.093:

    Quote

     

    MIDIboxSEQ V4.093
    ~~~~~~~~~~~~~~~~~

       o notes in edit screen are displayed transposed now

     

    Is it possible to include this representation as an option (e.g. display edit notes transposed: yes/no) in the option page? For me, it's quite difficult  to find or remember the original/root notes of the track again when editing live.

  6. hi,

    When "Midi Remote Key" is pressed, you can control multiple SEQ functions with different midi notes (which can be triggered by your controller or keyboard):

    http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fsequencers%2Fmidibox_seq_v4%2Fdoc%2Fmbseqv4_remote_functions.txt&peg=2562

    PS: If you have general questions to "how to use the SEQ", then it's best to create an own thread.

    Greetings, rio

  7. 10 hours ago, K-rAd said:

    i'm still running v4.091.

    There is an issue with the  midi input. I cannot enter a C-6 with midi input.

    When i watch the "midi monitor" it shows a sysex output on that note.

    Also if I play a C-6 while on the "mute" page it will unmute all the tracks. ahh!

    I'm not sure how to fix this.  Please help.

     

    As i remember, C-6 is the default remote key that is configurable to V4.093 in MBSEQ_HW.V4 file:

    ##################################################
    # MIDI Remote Keyboard Function
    ##################################################
    
    # The note number which activates the remote function
    # 96 = C-6 (some MIDI monitors display C-5)
    # 0 disables the remote keyboard function
    MIDI_REMOTE_KEY 96
    
    # The CC number which activates the remote function
    # (e.g. to control it with a footswitch)
    # Allowed numbers: 1-127 for CC#1..CC#127
    # 0 disables the function (default)
    MIDI_REMOTE_CC 0

     

    ..but since V4.094, it's configurable in Option Page, like TK mentioned here:

    http://midibox.org/forums/topic/13137-midibox-seq-v4-release-feedback/?page=49#comment-179576

    Greetings,

    rio

  8. Hi,

    I've been thinking a bit about how to get ride off the SID 6581 'hanging VCA' bug in a different way (except of the use of a noise gate). In most cases, I only want to stop that annoying sound in an easy way at silence - so at the end of a song or a jam. At the moment I just change a preset for SID 6581 core(s) to stop the sound manually. But that is awkward.

    So my question: Is it possible to trigger the SID_SR_Refresh for predefined SID ID(s) by an special CC or (or thinkable by "Midi Stop")? maybe configured for concerned core IDs in * .asm?

    Sadly, I just do not have enough knowledge of ASM and the SID engine itself, but I can understand some sources looking over it. 

    E.g. I do not know how to address a SID engine directly for the case of refreshing and if that works as expected. For example, I would like to know how to select the respective SID Core (or how parameters needs to be configured for that use case), which is needed before a SID_SR_Refresh. Pls, could someone possibly point me to the right direction?

    Greetings,

    rio

  9. hey,

    just a few tips from my own experience:

    Make sure not to touch the pins or to create fast friction there. Ground yourself to earth for a few seconds before removing/inserting the chips (for example, 2-3 seconds touching the heater in the room) or better wearing an ESD protection bracelet while working, which is connected e.g. to the heater.

    Quote

    But this last friday suddenly one of the sid didnt sound as always.

    Maybe the chip (or even some parts of it inside) just died of old age or just because of an ESD someday.

    But you can also check for a cold solder of pins on the board, where by mechanical changes the pins sometimes have contact or not.

    greetings,

    rio

  10. thx, but therefor I haven't the negative VCC– for TL082 or TL084.

    I search a solution, where I can reuse the 9V~ or 14Vdc or 5Vdc of C64 optimized PSU schematic.

    Greetings,

     

    EDIT:

    Could that following circuit (Figure. 3) work too? No additional OPAmp is needed:

    https://www.edn.com/electronics-blogs/the-practicing-instrumentation-engineer/4422750/Simple-circuits-reduce-regulator-noise-floor

    rio

  11. Hello,

    I was looking for a simple stereo solution for a noise gate to reduce noise of a pair of SID 6581. I know, that is a common thread already here:

    ... but, there are some limitations for me. For example, it is not soooo easy to get all the parts or transistors must matched (!) and so I was more looking for a rather simple smart solution. So I found the following:

    http://www.electroschematics.com/250/stereo-noise-blanker-suppressor-limiter/

    which looks very simple. But the author mentioned:

    Quote

    The maximum input level is 210mV and the distorsion is less than 0.01%.

    Would that be ok for the SID 6581? Or is there something against the solution or would the output voltage of the SID be too high for that?

    Greetings,

    rio

  12. yes, the way is correct:

    1. burn bootloader,

    2. transfer MIOS via MIDI

    3. transfer App via MIDI

     

    that PICS are kinda robust!! I don't think they are defected anyhow. but take care about your chip types:

    http://www.sprut.de/electronic/pic/typenliste_16_bit_kern.txt

    Name         Pins Prog EEPRM TMR Capt PWM UART SSP CAN USB ADC IO-
                      [kB]        -ure CMP /SPI I2C             Pins
    
    
    18F4585        40   48  1024  4    2   2  1/1  1/1   1   -  11   36
    
    18F4680        40   64  1024  4    2   2  1/1  1/1   1   -  11   36
    
    18F4685        40   96  1024  4    2   2  1/1  1/1   1   -  11   36

     

    as you can see, your selected types haven't enough prog. RAM for your app (in the case of MBSIDV2). the last number of the PIC18F4685 has a special meaning:

    5 - 150%  FLASH-Memory and more RAM

     

    But any other PIC18F4520 app would fit in that range. You can use that pics for own programming stuff too... ;) If you need help getting SDCC & last Code::Blocks running for that case, do not hesitate to ask me.

    greetings!

  13. I will try to answer some of your questions.. but not about the programmer itself

    First what the readme of mios1.9h says:
     

    Quote

     

    C) Update a PIC with Bootloader V1.1 and MIOS V1.8 or older

    This MIOS release doesn't contain a special binary for bootloader
    update V1.1->V1.2 anymore. If you still use a PIC with old bootloader
    (which is obsolete since more than 3 years now), please contact
    tk@midibox.org to get individual informations about the update path
    (files are not officially released to avoid unnecessary confusion).

     

    But that PIC18F452 will not run for SIDV2. Best you take new preburned PIC18F4685 instead. But if you want to get your burner running, maybe someone else can tell you something more specific.

     

    Quote

    I have 4 core boards currently, all with bootloader 1.1c (according to the stickers from Smash) and MIOS 1.5 based on what the LCD showed as the SID would boot.

    if you want to upgrade to SIDv2 and you also have 4 SID boards for your 4 cores, the stereo setup for SIDv2 would be an option.

    http://www.ucapps.de/midibox_sid_manual_hw.html

    http://www.ucapps.de/midibox_sid_manual_up.html

     

    Quote

    But I'm also hesitant to order a PIC18F4685 since I'm having such a bad go of flashing here.

    Burning could be done by someone, who sells the PIC18F4685 ICs, (e.g. by Mike Midishop in Germany - He also sells burner circuit boards). Maybe TK can help you out or someone else in the forum at your location.

    If the bootloader is on it, then you can play up the MIOS1.9h and also change the ID (for the respective slave core) and all this via MIOS Studio.
    In MIOS Studio you can now perform an "Alive" request on the Core ID - It should work.

    If you want to resurrect (upgrade) your PIC18F452 for other purpose, then you can certainly ask the same person to burn your PICs too. I had never build or use an own programmer, so I can't help out here.

     

    Quote

    I had to use external 5v to power it because the internal wasn't able to create enough voltage (I tried direct USB ports, powered hub and non powered hub on both mac and pc with no luck so stuck with external.)

    I also power up everything with external power supplies and not via USB.

    Greetings & good luck.

    rio

     

     

  14. you mean, that LED light was annoying, so you disabled it, right? And bridging was an option. But sorry, I don't get your words:

    Quote

    I should have done that either onto the right side of the SMD LED's or onto the left side of the corresponding resistors on the LPCxPresso board.

    If I take a look at the board above, what exactly did you bridge? only the LEDs and not the LED resistors infront? And that's how you changed that and we could do it that way, right? Maybe you can disable it via application code, as it is possible for the power LED too.

    Greetings,

    rio

×
×
  • Create New...