-
Posts
15,254 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
You can use any voltage source, not only pots, but also analog sensors (e.g. light or heat sensors)... and pots of course. If pots are used, just connect the outer pins to J5:Vd (+5V) and J5:Vs (Ground), and the middle pins to J5:A0...J5:A5 Best Regards, Thorsten.
-
Hi Jerry, I recomment to program this in C, at the http://www.ucapps.de/mios_c.html page you will find some examples, how to process the digital inputs and outputs. If "90 29" should control 8 digital outputs at once, then you only need to add: if( evnt0 == 0x90 && evnt1 == 0x29 ) for(i=0; i<8; ++i) MIOS_DOUT_PinSet(i, evnt2 == 0x00 ? 0 : 1); [/code] ...to the MPROC_NotifyReceivedEvnt hook Best Regards, Thorsten.
-
Not before v1.7303 has been released (and this version needs a lot of new documentation as well!) Best Regards, Thorsten.
-
thanks for the input, I've updated the links! A tutorial can be found here http://www.midibox.org/forum/index.php?topic=1504.0 But to make it clear: MIDIbox LC is not intented as a newbie project, it definitely requires a learning curve! If you've never completed a "normal" MIDIbox (like MB64 or MB64E) before, the given informations won't be enough. Best Regards, Thorsten.
-
Hi Olgimat, problem is, that some assembler source files have UNIX style linefeeds. I haven't found the time to upload an update yet (after more than one year you are the second one who asks for this, therefore the low priority ;-)), but there is an easy solution: under Linux type "unix2dos *.inc", or under Windows open the affected .inc files with the wordpad and save them again Best Regards, Thorsten.
-
yes... and the assign function should provide min and max values no, it means: controlling two SIDs with a single core in order to realize stereo effects from a single patch Best Regards, Thorsten.
-
The firmware is final, just only the documentation is missing. However, some infos can be found in this thread, and a drum sound programming example here: http://www.ucapps.de/howto_sid_wavetables_1.html Best Regards, Thorsten.
-
Windows doesn't notice USB-Module with J1 closed
TK. replied to SLP's topic in Testing/Troubleshooting
You will see a 12 MHz sinewave. Not the voltage, but the frequency is too high for your soundcard (I guess that the sample rate isn't higher than 96 kHz?) If it is a reset problem (after reading your postings again, it seems to be the possible root cause - removing the jumper will cause a short reset pulse, the chip will reboot, windows regognizes it, but after a short time the chip will brown out due to missing power...) then you could try the following: use a short cable, connect it with 3.3V, and tip it for a short time on Pin 13 of the AN2131SC (or better: to the connection between C3 and R27). This should cause a reboot. The powerr jumper must be closed of course... If this helps, then maybe the C3 value I've selected (100 nF) was too optimistic, and I have to change the specs to a 1 uF or 10 uF cap Best Regards, Thorsten. -
Windows doesn't notice USB-Module with J1 closed
TK. replied to SLP's topic in Testing/Troubleshooting
Hi Matthias, this is really strange, because it seems, that your USB module is powered from anywhere else? Are you using the MIDIbox-Link port(s)? In this case please ensure that the +5V lines at J8 and J9 are not connected to the core module. In order to exclude all source of errors, it's better to do the first test without any MIDI connection. Another question: which Windows version are you using (WinME, Win2000 or WinXP)? Best Regards, Thorsten. -
yes, in addition you have to connect the clock line of the shift registers to another PIC pin, see also the note in this interconnection diagram: http://www.ucapps.de/mbhp/mbhp_sid_c64_psu.pdf Best Regards, Thorsten.
-
Yes, the MCLOCK_BPMSet() function is the right one, because it's always called when the BPM rate is initialized or modified. With "bpmCC = (unsigned char)value" you are trying to access a variable (name: "value") which doesn't exist. But without loosing too much words: it's really not required. Just write MIOS_MIDI_TxBufferPut(bpm - 80) instead of MIOS_MIDI_TxBufferPut((unsigned char)value); Best Regards, Thorsten.
-
midibox Sid: where to find LFO absolute values
TK. replied to Alkex's topic in MIOS programming (Assembler)
Hi Alex, the LFO values are 16bit values, which are stored in a special structure. Without loosing too much words (because I think that the data structure is obvious): with movff SID_LFO1_BASE + SID_LFOx_RVALUE_H, WREG you will copy the high byte of the LFO1 output value into the working register with "clrc" and "rrf WREG, W" you can shift it to the right in order to get a 7bit value, which could be transmitted via CC Best Regards, Thorsten. -
me too... for all 8bit processors I know this statement is not true. E.g. assembly language allows a totally different use of data memory, the code can store and access informations much more efficiently than a C compiler would ever allow. A more explicit example: C stores temporary variables on a stack, and stack operations consume a lot of cycles. In assembler, you can define your own set of temporary variables, and you have to manage resource conflicts by yourself. This also means, that such optimized data structures are mostly not relocatable, and hard to modify - but they are powerful! On the other hand: the architectures of modern 32bit CPUs provide a huge instruction set to support C compilers. There are so many possible variations for different situations, that on large projects a C compiler mostly creates a better/faster code than you could ever program in assembly language (within the same time). And another point: for finding new algorithms the use of high level languages definitely makes sense to save time, but if CPU load and memory consumption does matter, the job is not finished once the algorithm is working - the next step is to translate it into handwritten assembly code. Best Regards, Thorsten.
-
Hi Michel, in principle the code looks ok, but you don't need the bpmCC variable. It's even not required to convert this value into a different number format, because hexadecimal and decimal are just different forms to display/input values, but both will be translated into binary numbers by the compiler/assembler. One thing which should be considered is, that you have to take care for underruns. The clockbox provides BPM rates from 48 to 255. this means, as soon as the BPM are less than 80, you will get a negative result. For an "unsigned char" this means, that the result will be >=128 (since there is no sign), and such a value should not be sent as 3rd byte of a CC, since it violates the MIDI protocol (only values between 0 and 127 are allowed). So, you could add an if condition which ensure that values <80 and >(80+128) are not sent Best Regards, Thorsten.
-
Hi Ilmenator, yes, there are changes, they are described here: http://www.ucapps.de/mios_v1_7_hardware_mods.html Best Regards, Thorsten.
-
Windows doesn't notice USB-Module with J1 closed
TK. replied to SLP's topic in Testing/Troubleshooting
Hi, J1 is a power output socket, don't close it, because this will cause a short circuit. Or do you mean the nameless socket, which is close to the USB socket? This one must be closed, otherwise the module won't be powered. Strangely this doesn't match with your description, therefore I'm a little bit confused. Could you please describe the problem in other words? Best Regards, Thorsten. -
Hi Dan, the links are not working (propably because these are temporary URLs), to which part # are you refering for? Best Regards, Thorsten.
-
The shift registers (SR) used to control DIN events can be mapped to the 16 shift registers, which are provided by MIOS. If all 16 shift registers are allocated by rotary encoders, then they cannot be used for "button inputs" (of cause...) - so there are many constraints which have to be taken into account, unfortunately nobody has written a graphical main.asm configuration tool yet ;-) therefore there is no other way than reading the details in main.asm Best Regards, Thorsten.
-
I guess that the OPL3 is part of one of the ASIC chips, so: no documentation, no chance to get use of it. But it's interesting, that the YAC512 stuffed. Propably because it's a mixed signal design... Yes, you have to hunt for a second card Best Regards, Thorsten.
-
Hi Dave, alright, so it seems that with v1.7a it's not possible to save the patch if no BankStick is connected (or in your case: regognized). I remember that this issue was reported long time ago. Some hints for debugging: check the 1k resistor, and especially the isolated cable between J4:SC and Pin #28 (!!!) of the PIC (it was pin #22 in older MIOS versions). The SID will output a sweeped sound once it detects the BankStick. The first time it will propably format the Stick, this will take ca. 1 minute. During formatting, you will here some beeps Best Regards, Thorsten.
-
Hallo, dieses Thema hatten wir vor ein paar Tagen schonmal: http://www.midibox.org/forum/index.php?topic=6051.0 solange die Baudrate bereits stimmt, kannst Du die ID auch mit der change_id Applikation aendern Gruss, Thorsten.
-
Du haettest die vorderen Buttons um 90° drehen koennen, dann waeren die verbreiterten Loecher nicht noetig gewesen, und die Buttons wuerden auch besser sitzen. Falls Du den entspr. Aufwand nicht scheust, koenntest Du die Buttons nochmal abloeten, und woanders auf die Platine hinsetzen - es lohnt sich :) Tja, das war besonders tricky: die 3 Module sind auf Pappe geschraubt, dann habe ich mir aus dem Baumarkt ein paar Halteklippse besorgt, welche man normalerweise zum Montieren von diesen Alu-Gardinenstangen hernimmt. Die Klippse sind mit Superkleber befestigt, die Module habe ich einfach druntergeschoben. Das haelt nun seit zwei Jahren ziemlich gut: das zweite DOUT Modul befindet sich unter der Modulationsmatrix - ich habe es ebenfalls mit diesen Klippsen befestigt, als Isolierung dient ein Flachbandkabel zwischen DOUT und der Buttonplatine. Zusaetzlich habe ich noch Widerstaende durch die Bohrungen gesteckt, und mit der Buttonplatine verloetet - sitzt, wackelt und hat Luft ;-) Links unten siehst Du uebrigens ein Reichelt-Tuetchen, in dem ich das DINX1 Modul versteckt habe... (diese Bilder beweisen, warum ich mit der MBSID niemals in Produktion gehen sollte ;-) Gruss, Thorsten.
-
Maybe the crystal is not connected properly anymore? Best Regards, Thorsten.
-
Hi, yes, you can chain as many modules as you want, see also http://www.ucapps.de/midibox_link.html The last core in the chain has to be configured as "MIDIbox Link Endpoint", the other ones as "MIDIbox Link Forwarding Point". In MB64, this can either be done from the LCD menu (but this requires, that each core has connected a dedicated LCD), or from Serge's Editor, or from a .syx created with the mk_syx script Best Regards, Thorsten.
