Jump to content

TK.

Administrators
  • Posts

    15,253
  • Joined

Everything posted by TK.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Hi Dan, today I came across the same bug and now I understand your question! ;-) Since I don't want to release V1.5 before the weekend, here a quickfix: open "sid_mproc.inc" and search for CS_MENU_MS_Send_SysExDump_TxReq exchange call CS_MENU_MS_Send_SysExDump_TxReq ; request CS update movlw 0xff movwf INDF1 by: call CS_MENU_MS_Send_SysExDump_TxReq ; request CS update movlw 0x8f ; update after ca. one second movwf INDF1 Best Regards, Thorsten.
  8. Alright - just a new possible error found which can be made ;-) Best Regards, Thorsten.
  9. Hallo, ja da laeuft definitiv etwas falsch - die Abweichung sollte niemals groesser als +/- (MF Deadband / 2) -bezogen auf den 10-bit Wert - sein. Ist vielleicht zuviel Rauschen auf den analogen Eingaengen? Welchen Wert zeigt der Jitter Monitor an? (siehe MIOS->Download) Gruss, Thorsten.
  10. I've made a snapshot of IC-Prog for the case that you want to change the device ID before burning the firmware into the PIC: The EEPROM address is: 7F Best Regards, Thorsten.
  11. I just have uploaded a MP3 which compares the two filters on a very extreme situation: an evelope sweeps the frequency over the whole cutoff range. Btw: the sample is the absolute MP3 killer, a bitrate below 320 results into a lot of digital noise: http://www.ucapps.de/midibox_sid/mbsid_v1_5_filter.mp3 1) 6581 with low-pass 2) 8580 with low-pass 3) 6581 with high-pass 4) 8580 with high-pass Best Regards, Thorsten.
  12. Hi dragon, in theory you could test the LCD with a PC, the are several software drivers available in the web which get use of the parallel port. But using a core module should be easier. Is this display working with a PIC16F? Do you see a black line at the top all the screen (normaly the display will be initialized after the first level bootstrap loader phase has been finished - ca. 2 seconds after reset Which return value is sent by MIOS with following SysEx request string: F0 00 00 7E 40 00 0D 02 00 0B 0A 00 00 00 01 00 00 00 00 F7 If the communication with the LCD has been established, the return message should be: F0 00 00 7E 40 00 0F 00 02 F7 If the LCD is not connected, the return message is: F0 00 00 7E 40 00 0F 00 07 F7 Best Regards, Thorsten.
  13. I must say that I haven't expected this quality from a 8580. At many websites you can read that the filter of the 8580 are worse compared to the 6581, so I didn't try to improve the sound until last week - the result is amazing. No, the 6581 filter cannot be improved. They have a very warm, but sometimes also slushy (german: "matschig") and distorting sound. The cutoff frequency goes over the whole 11 bit range. The 8580 filters have a limited range of only 9 bit (sometimes you will hear "clicks" when sweeping the values very slowly), but it sounds precise and strong. Also the signal/noise ratio is much better (less than -90 dB) However, due to the different characteristics it makes sense to use both chips in a 4*SID box (like me :)) For example, the distorting lead sound from the mbsid_demo8.mp3 cannot be realized with a 8580.. Best Regards, Thorsten.
  14. Hi Pay_c, Mike sent me two prototype PCBs last week, but due to the nice weather I haven't found the time to solder & check them, yet. However, I already gave him my "go" as I don't expect problems. Mike will provide the boards in his online shop as soon as he finished the first batch (possibly Friday) Best Regards, Thorsten.
  15. Hi Jim, as you want to have the minimum latency not only for the last "changed" inputs (which is great for a MIDI controller), but for all keys, it makes sense to disable the "Dynamic Priority" feature (-> MIOS_AIN_DynamicPrioSet) so that you have the best latency for all inputs. This would result to: best case latency: 200 uS (microseconds) worst case latency: number of inputs * 200 uS For 61 inputs: 12.2 mS Divided over two cores: 6.1 mS which is already ok when you take the latency caused by the MIDI protocol into account - Note On + 2 MIDI controllers, optimized for "running status": 9n NN VV Bn C1 V1 C2 B2 makes 8 bytes * 320 uS = 2.5 mS Multiple cores can be chained by using the integrated MIDI merger. See also Concepts->MIDIbox Link->Introduction. The additional latency can be ignored, as the MIDI In/Out streams are buffered and handled in background. Best Regards, Thorsten.
  16. Hi, just measure the number of cycles between two encoder pulse transitions. Than lower this value, than higher the rotation speed. Unfortunately Mackie didn't specify an equation for the "number of ticks" conversion, but from my experience a maximal number of vv=3 for full speed (==minimum number of cycles between two transitions) works fine. Best Regards, Thorsten.
  17. Hi Dan, no, an additional PSU is not required for the 6581 and you can also use the C64-II PSU instead of the old one. See also this article: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=parts_q;action=display;num=1057652794 You cannot improve the filters by changing the caps. But MBSID V1.5 will come with a special option for the 8580 which enhances the filter range. In the meantime I've realized that the 8580 filter is better than the 6581 filter - see also this MP3 which has been recorded with a single 8580: http://www.ucapps.de/midibox_sid/mbsid_v1_5_wt+arp2.mp3 (MBSID V1.5 Presets, Patch #64 :-)) Best Regards, Thorsten.
  18. Hi Dan, the stucking notes problem is caused by jsynth, I will try to find a workaround for the next release. You always have to enable the link when you want to send data from your PC to a slave. Otherwise you will only hear the patch which has been sent by the master before. And this is propably the point which wasn't clear yet (in order to avoid confusion, I will only explain one usecase here): you don't have to use jsynth to update a slave patch, just select the patch from the control unit. Try the following: fill the BankStick of the master core with your favourite patches select SID2 select a patch ensure that the Link is enabled play some notes if this doesn't work, the device IDs are not configured correctly. It's possible to determine the ID by changing 16 ping requests with 16 different ID numbers, you could use IC-Prog to change the ID, but it's much easier to change them via MIDI. The procedure is explained under MBHP->MIDIbox SID->Step B. When chaning the device ID, only the appr. core should be connected to the MIDI Out of your PC. Maybe you have to change some MIDI wires temporary for this setup... Best Regards, Thorsten. P.S.: check also the MIDI channels of the slave cores, they are configured by the master after every startup, and you are able to change the channels from the CFG menu P.S.2: it is possible to change the device IDs of the slaves without changing the MIDI wires by uploading a MIOS application which just forwards the incoming MIDI data. You could use the "Small Skeleton" and enable the MIDI merger in USER_Init: movlw MIOS_MIDI_MERGER_ENABLED call MIOS_MIDI_MergerSet
  19. the page design is very clearly arranged - fine :) I will provide some fresh sequencer loops and arpeggiator patterns with the next "MIDIbox SID service pack" V1.5 - the new capabilities of the integrated wavetable sequencer makes the MBSID to a small groovebox ;-) Best Regards, Thorsten.
  20. Yes, it seems that sometimes the new server is overloaded :-/ I'm not sure if it would work better with PHP and mySQL Best Regards, Thorsten.
  21. Hi Sephult, a list of MIDI events can be found here: http://www.borg.com/~jglatt/tech/midispec.htm It would be very helpful if you could compile a special list for MIOS users (it could be included under HOWTOs->mios_tables.inc) - the coding is simple when hexadecimal numbers are used: B stands for "MIDI controller" 0 for the MIDI channel (0-15 == channel 1-16) the next 7-bit value indicates the MIDI controller number Note On events: use 9 instead of B Note Off events: use 8 instead of B the next 7-bit value indicates the note number If the two bytes of a table entry are matching with the received MIDI event, the USER_MPROC_NotifyFoundEvent function will be called by MIOS. The first two MIOS_PARAMETER[12] variables contain the same bytes like the appr. table entry, the third variable (MIOS_PARAMETER3) contains the CC value (on MIDI controller events) or the velocity value (on note On/Off events) Special case: if a Note On event with velocity == 0x00 has been received, it has to be handled like a Note Off event (see MIDI specification) Best Regards, Thorsten.
  22. Hi LO, I noticed that without this "clicker" the encoder doesn't send clean pulses, so that MIOS sometimes isn't able to determine the correct direction. However, I will try to add a new encoder type which reacts only on the two clean flangs (means: the quadrupled resolution will be halfed to double resolution). Best Regards, Thorsten.
  23. Hi Chriss, unfortunately such a modification requires a lot of small changes in different files. A more comfortable solution is not possible due to timing reasons. So: the LED status has to be saved in a temporary register. See cs_menu_leds.inc, search for "LFO waveform" -- there are still 3 bits free in TMP5 which could be used. Once this assignment has been made, you can access to this status register in cs_menu_io_tables.inc (take the last DOUT_ENTRY as example) In cs_menu_io_tables.inc you also have to call a function when the "sync" button has been pressed (see CS_MENU_BUTTON_LFO_Wav as example) search for "CS_MENU_BUTTON_LFO_Wav" in cs_menu_buttons.inc --- just copy & paste the function, rename the label to "...LFO_Sync" change the cursor position from 0x01 to 0x04 Best Regards, Thorsten.
  24. Hi Jeroddumas, you have to insert a blank (space or tab character) before the "btg" instruction, otherwise the assembler assumes that "btg" is a label and "BUTTON_STATE" the instruction. Best Regards, Thorsten.
  25. The baudrate can be changed with MIOS_MIDI_InterfaceSet. With MIOS_MIDI_TxBufferFlush the MIDI out buffer can be emptied before switching to another interface. A pin could be used to switch between two interfaces (just use two AND gates and an inverter to multiplex the signal), but this would be an application specific feature. Best Regards, Thorsten.
×
×
  • Create New...