Jump to content

Antichambre

Programmer
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    101

Everything posted by Antichambre

  1. It needs to implement HID on USB HS(As FS) but it's pin PB12->PB15 which are used for J8/9 https://stm32f4-discovery.net/2014/08/library-31-usb-hid-host-for-stm32f4xx-devices/ Good night! Bruno
  2. I have friends who are very good musicians and they have no problem to use an electronic gear but they do not know in which direction to turn a screwdriver! hihi you will surely succeed in reassuring some and they will succeed, for others it's just impossible! But your right, we will talk about this later and elsewhere and avoid to pollute this fresh and new Andy's topic... Sorry Andy ;)
  3. Hi All, Here the new firmware version with the LED_METER workaround http://www.midibox.org/dokuwiki/doku.php?id=midibox_tia#firmware1 This is Academic Planner's box, he sent me it as I can work on a faulty one: This is fine now! Best regards Bruno
  4. It's not my thing but I have to admit that I follow them now!
  5. Hello, I found the issue but I'm not able to explain it. There's a flag to refresh the LED_METER in tia_sr.inc: This flag is set on each TIA registers value change: bsf TIA_LEDMTR_STAT, TIA_LEDMTR_AUDX_REQ in TIA_SR_Handler ;; -------------------------------------------------------------------------- ;; Check for changes in TIA registers, transfer values to TIA ;; and handle Wavetable ;; -------------------------------------------------------------------------- TIA_SR_Handler btfsc TIA_STAT, TIA_STAT_ENGINE_DISABLE return ;call TIA_WT_Handler ; call wavetable handler before continue _TIA_SR_Handler TIA_SR_Start TABLE_ADDR TIA_SR_REGWRITE_TABLE ; contains order of register accesses movlw 6 ; number of registers (0x06) movwf TMP1 ; TMP1 is the loop counter lfsr FSR0, TIA_BASE ; store base address of TIA registers in FSR0 lfsr FSR1, TIA_SHADOW_BASE ; store base address of shadow registers in FSR1 IRQ_DISABLE ; disable interrupts TIA_SR_Loop tblrd*+ movf TABLAT, W movff PLUSW0, MIOS_PARAMETER2 ; store value of TIA in MIOS_PARAMETER1 and increment FSR0 BRA_IFSET TIA_STAT, TIA_STAT_FORCE_REFRESH, ACCESS, TIA_SR_Transfer; don't skip if refresh has been forced movf PLUSW1, W ; get content of appr. shadow register cpfseq MIOS_PARAMETER2, ACCESS; transfer to TIA if not equal rgoto TIA_SR_Transfer rgoto TIA_SR_Next ; skip following code if equal TIA_SR_Transfer ;; register change: write value into shadow register and transfer it to TIA movf TABLAT, W movff MIOS_PARAMETER2, PLUSW1 ; store value in shadow register movf TABLAT, W ; extract address, add offset addlw 0x05 movwf MIOS_PARAMETER1 ; store in address register rcall TIA_SR_Write ; transfer to TIA bsf TIA_LEDMTR_STAT, TIA_LEDMTR_AUDX_REQ TIA_SR_Next decfsz TMP1, F ; decrement loop counter until it is zero rgoto TIA_SR_Loop IRQ_ENABLE ; enable interrupts again bcf TIA_STAT, TIA_STAT_FORCE_REFRESH; clear refresh request (if it has been set before) return When the LED_METER Handler is called It first checks the flag and decides what to do ;; -------------------------------------------------------------------------- ;; LEDMTR module Handler ;; -------------------------------------------------------------------------- TIA_LEDMTR_Handler SET_BSR TIA_BASE ; prepare BSR for TIA register access BRA_IFCLR TIA_LEDMTR_STAT, TIA_LEDMTR_AUDX_REQ, ACCESS, TIA_LEDMTR_Handler_End TIA_LEDMTR_Handler_Meter_Norm bcf TIA_LEDMTR_STAT, TIA_LEDMTR_AUDX_REQ clrf TIA_LEDMTR_VALUE movlw 0x01 cpfslt TIA_AUDV0 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR0 movlw 0x07 cpfslt TIA_AUDV0 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR1 movlw 0x0b cpfslt TIA_AUDV0 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR2 movlw 0x0e cpfslt TIA_AUDV0 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR3 movlw 0x01 cpfslt TIA_AUDV1 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR4 movlw 0x07 cpfslt TIA_AUDV1 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR5 movlw 0x0b cpfslt TIA_AUDV1 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR6 movlw 0x0e cpfslt TIA_AUDV1 bsf TIA_LEDMTR_VALUE, TIA_LEDMTR7 movf TIA_LEDMTR_VALUE, W movwf MIOS_PARAMETER1 rgoto TIA_LEDMTR_Handler_Set TIA_LEDMTR_Handler_Set movlw TIA_LEDMTR_REG rcall TIA_LEDMTR_Write TIA_LEDMTR_Handler_End return It seems to be something like a RAM issue. cause when I change the TIA_LEDMTR_STAT register address in app_defines.h it solves the problem. This is what I changed: ;; ========================================================================== ;; free: 0x027-0x066 ;; ========================================================================== MIDI_RXTX_RX_CTR EQU 0x067 MIDI_RXTX_TX_CTR EQU 0x068 MIDI_RXTX_BEAT_CTR EQU 0x069 ;; ========================================================================== TIA_LEDMTR_STAT EQU 0x06a TIA_LEDMTR_VALUE EQU 0x06b to ;; ========================================================================== ;; free: 0x027-0x04f ;; ========================================================================== TIA_LEDMTR_STAT EQU 0x050 TIA_LEDMTR_VALUE EQU 0x051 ;; ========================================================================== ;; free: 0x052-0x066 ;; ========================================================================== MIDI_RXTX_RX_CTR EQU 0x067 MIDI_RXTX_TX_CTR EQU 0x068 MIDI_RXTX_BEAT_CTR EQU 0x069 ;; ========================================================================== ;; free: 0x06a-0x06b I've checked for address conflict, there's no :( If anyone can explain me it, he is welcome !!! Best regards Bruno PS: I will share a new firmware version asap...
  6. This is a really beautiful gear!!! This sequencer could have the same success as the Sequentix Cirklon. It would be great to have an official builder in each country to allow everyone to become a owner! Bravo les gars!!!
  7. Hello, About programming, maybe buy a core as you can directly program with the MIOS32, better for sharing your project here and MIDI features are already available ;) For your Voice PCB, don't forget to design it for Wide and Narrow 3396 Packages! I will folloow this ;) Best Regards Bruno
  8. I think it's the opposite, most of your synth understand Running status. Only very very old synth don't recognize it. This is the case for the early Yamaha DX7, Ensoniq Mirage and Sequential Circuits Prophet t8. This is because running status was not initially included in the MIDI spec. Running status is a way to optimize the rate of your data in a midi connection. For example if you send 2 consecutive CC midi events with the same channel. - First event will be 3 bytes -> first byte is putted in memory(event type+channel), this is the running status byte. - Second event will be only composed by the two last bytes(cc number and value) You will send 5 bytes instead of 6 for the two first events. Some explanation here Best Bruno
  9. http://www.midibox.org/dokuwiki/doku.php?id=midibox_tia#customized_labels ;)
  10. I built more than 10 boxes and I never got this issue. Academic Planner has the same issue as you on 1 of his 3 built synth, he will send it to me as I can fix it. This is just a question of time... ;) Best regards Bruno
  11. For me you just quote the full post, with pictures too ;)
  12. For everybody ! In case of led meter strange behaviour. Upload a refreshed version on the HEX here, upload it to the box ;) https://www.dropbox.com/s/bfjf11v8xdav585/setup_tia_cartridge.hex?dl=1 and trash the old one! Thank you Best regards Bruno
  13. Clever hybrid! I didn't know Stagelight seems to be a very intuitive software. How do you select the part which is controlled by the NG? Did you find a way for the NG to follow the stagelight track selection? Anyway, very good project Roberto! But I'm afraid for you that people will ask you more information to build their own ;) Best regards Bruno
  14. don't worry about this message, did you try it with the MIOS Studio first?
  15. You're welcome, thanks to you for sharing your questions here, it can be useful for other people too ;)
  16. Great! Forget your Arduino, come to our Core! This is made for that... MIDI Application! Yes, it is... It's regular MIDI data, rate... I think there's just no optocoupler, then it works with an UART directly connected to ;) Best Bruno
  17. Hello, The wire? Are you talking about the one of the sync O0->O2 This wire details and schematic are only for people who wants to make their own board, don't follow this. Obviously this wire is a track on your board! This is the schematic of your board: HIhi! The shop where you got the components is an old one, no? :) You used disc caps, this is vintage ! ;) JP3/4/5 are for expansion(AUX), you will not use the AUX pins, then it doesn't matter here ;) Beautiful pictures thank you for sharing it :) You're very close to get it sounding now! Best Bruno
  18. Hello Nicolas, First... Welcome in the MIDIBox community!!! Tried and works for me ;) Don't try open the included file, just download the whole zip with the icon(top/right)
  19. Yes, there's 3 VCA inside the 2069, would be a shame to do not use it. Best regards
  20. @FantomXR Yes you're right but push-pull is sometime necessary e.g. behind a 3mm front panel.
  21. Hi, this microSD will be difficult to solder cause the pin are under the socket, better to choose an other one with pin on side and push-pull... Here an Hirose model with good supply and availability. Mouser : 798-DM3AT-SF-PEJM5 con_hirose.lbr Best Bruno
  22. Quality seems very good! Paint is beautiful! Since the beginning you like to play with the color!!! ;) I don't know why but i like this blue! ;) Great work! Best Bruno
×
×
  • Create New...