-
Posts
15,253 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Setting Buttton to Toggle mode in MIOS
TK. replied to jeroddumas's topic in MIOS programming (Assembler)
yes, thats correct. But you should use capitalized letters for all constants (register names), just for consistency reasons. Migration of MB64: I'm unsure, although it wouldn't take longer than one day, it's just a low-priority task for me. It could happen in one week or in one month... Best Regards, Thorsten. -
No, in the PIC16F solution the menu buttons are not free assignable, only the MIOS based application will provide this feature (and it will allow to control the button functions also via MIDI for remote control :)) All other buttons are 100% free assignable, so a diagramm isn't really necessary. However, this schematic helps to locate the menu buttons: http://www.ucapps.de/mbhp/mbhp_dinx4_32buttons.pdf Best Regards, Thorsten.
-
mios1.2 and midi sid stepB troubles and questions
TK. replied to chriss's topic in Testing/Troubleshooting
Ok - so when I have nothing else to do I will try it out by myself in order to ensure that it really works. Best Regards, Thorsten. -
Cool! This saved my day! ;-) Best Regards, Thorsten.
-
Hi Sephult, is your core unit running in the meantime? Another user reported exactly the same problem, but we were not able to locate the root cause. It could be the MIDI interface of your PC or a bad soldering on the PCB - i'm unsure. The XTAL shouldn't be a problem if you were able to upload MIOS once. Even more a short circuit somewhere? In the MIOS download section you can now find a CRC test program which calculates an overall checksum over the operating system range. If you are using it with the most recent MIOS V1.3 (which has been updated in the meantime), you should see the value "FD45" on the LCD screen. It might also help to increase the SysEx output buffer size to 2048. This change is (for example) required for the MBHP USB module due to a bug in the microsoft USB driver which inserts some zeroes into the stream if it doesn't fit into one buffer. Best Regards, Thorsten.
-
Hi Pay, a different device ID doesn't change the checksum. But ok, you found your solution :) Best Regards, Thorsten.
-
Hi LO, MIDIbox MF V1.000 was the very first firmware which provided the MIDIbox Link feature, I'm not sure if this was the final solution. The last combination which I've tested some months ago was http://www.ucapps.de/midibox/midibox64_v101b.zip and http://www.ucapps.de/midibox_mf/midibox_mf_v1000pre3.hex.zip MIDIbox MF was the forwarding point, MIDIbox64 the endpoint. If you are already using these versions: do you see the same invalid MIDI events when the position of the boxes in the MIDI chain are exchanged? Best Regards, Thorsten.
-
Hi Che, 11.8V are ok, nothing to be worried about :) Best Regards, Thorsten.
-
Thanks! :) I don't want to start a seperate filter project, my analog skills are low, and there are a lot of functional circuits available in the web. The CA3080 is still available, but very noisy. A multi state filter based on the LM13700 gives better results (I built it some years ago, unfortunately I've no idea where in my flat (or possibly in the cellar?) I can find this board. ;-) However, a Moog cascade filter can be build with common general purpose transistors, just only the resistor values have to be adapted. I will start a new MIDIbox SID analog extensions page in some weeks and add some links to other websites which are specialiced on analog DIY stuff DrBunsen: yes it's possible to replace the 15 select buttons by a matrix of 64 buttons, but this requires some (rel. simple) changes in the firmware. However, I prefer the existing solution, because it's smaller. It doesn't make a big difference from the ergonomic point of view, because mainly you want to see which modulation sources are linked to the targets, the buttons are only used for the configuration, and this will normaly not be changed that much during a playing session. On the other hand: this control surface is not the ideal solution for everybody, our workflows are too different - other variants are welcome! :) Hope to see some nice cases, but especially to hear some great SID tunes in the next weeks/months! :) Best Regards, Thorsten.
-
Pan control will be possible with the AOUT extension :) In the meantime I've revised the PSU circuit for the best signal/noise ratio. No 50/60 Hz hum and no digital HF noise in the background anymore. http://www.ucapps.de/mbhp/mbhp_4xsid_c64_psu_optimized.pdf Results: no heat source within the case anymore, since the +5V are regulated by the external C64 PSU 6581: -76 dB signal/noise ratio 8580: -90 dB signal/noise ratio (CD quality!) Please don't ask if your own PSU variant brings the same results - it was a long try and error session until I found out this solution ;-) Best Regards, Thorsten.
-
In the meantime I found some time to continue with the case. But there are still some issues which have to be solved: due to the 9V output voltage of the C64 PSU and the high current consumption caused by the LEDs and the backlit display, the 7805 gets extreme hot and therefore requires a big heatsink (or just a large metal plate) I haven't found a good solution for mounting the Audio & MIDI plugs, as well as the USB socket at the backsite yet there isn't so much room in the C64 case for more extensions anymore However, here a snapshot of the current status: I've also created a first demo, it's a remix of an older song originally arranged with MIDIbox64SEQ and an AN1x synth. In the remix everything you hear (beside of the Synth Toms in the background ;-)) comes from a MIDIbox SID . Not all sounds are played at the same time, the tracks have been recorded successively. See^H^H^HHear http://www.mp3.de/frequencies "Floating Sequences (SID remix) Part I" I'm not very satisfied with the results... the new (more powerfull) sounds and the old sequences are not really matching - just because the original composition hasn't been made with a MIDIbox SID ;-) Part II is planned, and this demo should give an impression of a new feature: an external Moog filter! I'm in contact with Dirk Lindhof who has a lot of experiences with modular synths - here a link to his homepage http://www.msc175.de/. He will send me a PCB of his 24db Moog filter module in the next days. The MIOS based MIDIbox SID (later also MIDIbox64SEQ) will support an interface function to the MAX525. This DAC provides 4 analog output channels with 12 bit resolution, it will supply the control voltage (CV) for any external extension. Of course, the 4 channels will also be integrated into the modulation matrix, and they will be controllable via CC :) Best Regards, Thorsten. P.S.: StepC is available for download...
-
Hi Pilo, yes, with a 74HC47 and some modifications in the application specific handler up to 24 digits could be driven by one DOUTX4 module - good idea! Best Regards, Thorsten.
-
Panel & Case nearly finished - update :) Best Regards, Thorsten.
-
MIDIboxes of the Week (MBSEQ of DriftZ, Traktor2 Controller of Zekill)
TK. replied to TK.'s topic in MIDIbox of the Week
DriftZ has finished his second sequencer, see: http://users.pandora.be/DriftZ/DriftZ_MBHP_pics.html "just" another MIDIbox of the week. The case is really ergonomic :) Best Regards, Thorsten. -
I'm hoping that this doesn't lead to a star cult and I'm still able to visit an exhibition without sunglasses ;-) if you are interested - some pictures of me which have been made in former times can be found under http://avalon.mud.de (click on "Treffen", search for "avatar"). However, I'm not a photogenic person ;-) Since 4 years I'm employed as Design & Verification Engineer for 16 and 32 bit microcontrollers (C16x and TriCore family) at Infineon Technologies. As I'm not working with ready-made silicons in my job, but mainly with simulation models which are implemented in VHDL or Verilog and which are running on a huge compute farm, the MIDIbox project is the perfect compensation for myself to gain my experiences with "reallife applications". :) not yet ;-) the complete migration of all existing PIC16F projects to MIOS, the release of MIOS under http://www.sourceforge.net, some analog extensions for MIDIbox SID, getting inspired by your suggestions and picking out some interesting stuff for myself. Bicycling, rambling, traveling around the world :) I'm still a human ;-) Best Regards, Thorsten.
-
Setting Buttton to Toggle mode in MIOS
TK. replied to jeroddumas's topic in MIOS programming (Assembler)
Hi Jeroddumas, you have to store the button state in a register, it has to be inverted every time the button is pressed. Possible modification for the AIN64_DIN128_DOUT128 application (untested) - replace USER_DIN_NotifyToggle ;; a button has been pressed or depressed. ;; Send value which has been defined in MIOS_MPROC_EVENT_TABLE ;; save button number in TMP3 - we use it later to print out a message movff MIOS_PARAMETER1, TMP3 ;; save button value in TMP4 movff MIOS_PARAMETER2, TMP4 by: USER_DIN_NotifyToggle ;; a button has been pressed or depressed. ;; Send value which has been defined in MIOS_MPROC_EVENT_TABLE ;; don't continue if button has been depressed IFSET MIOS_PARAMETER2, 0, return ;; toggle button state btf BUTTON_STATE, 0 ;; save button number in TMP3 - we use it later to print out a message movff MIOS_PARAMETER1, TMP3 ;; save button value in TMP4 movff BUTTON_STATE, TMP4 the BUTTON_STATE variable has to be located to a free address in app_defines.h If you want to use more than one toggle button, you could store up to 8 states in this register: USER_DIN_NotifyToggle ;; a button has been pressed or depressed. ;; Send value which has been defined in MIOS_MPROC_EVENT_TABLE ;; don't continue if button has been depressed IFSET MIOS_PARAMETER2, 0, return ;; save button number in TMP3 - we use it later to print out a message movff MIOS_PARAMETER1, TMP3 ;; toggle state of button 0 to 7 movf MIOS_PARAMETER1, W ; get button number call MIOS_HLP_GetBitORMask ; get mask - here for XOR (invert) function xorwf BUTTON_STATE, F ; invert the appr. flag ;; set TMP4 (the button value) depending on flag setf TMP4 ; by default it's set (0x00 will be sent) movf MIOS_PARAMETER1, W ; get button number call MIOS_HLP_GetBitANDMask ; get AND mask andwf BUTTON_STATE, W ; mask out the appr. flag skpz ; skip if flag is zero clrf TMP4 ; else clear TMP4 (0x7f will be sent) More than 8 buttons w/ toggle function can be realized with an array. And if you want to select the toggle function, you need to add a "enable" flag. However, the upcoming migrated MIDIbox64 application will support this on a more comfotable way :) Best Regards, Thorsten. -
Hi Lo, which firmwares are you using exactly? Best Regards, Thorsten.
-
mios1.2 and midi sid stepB troubles and questions
TK. replied to chriss's topic in Testing/Troubleshooting
Hi Chriss, thanks! :) before I have to burn the code into my PIC16F in order to check the settings, could you please ensure that you've downloaded the correct .zip file? Some webbrowsers don't regognize that a file with the same name has been updated, so possibly you've got the old file from the file cache. The new firmware has following timestamp: Jun 24 19:39 midibox_sid_v1.4_to_com.hex Sorry for the circumstances, but I'm not able to burn a PIC16F877 under Linux anymore (no driver for the JDM, and the new PICstart firmware doesn't work with picp) Best Regards, Thorsten. -
Hi Pilo, do you have a link to the pin description? Best Regards, Thorsten.
-
Just use the USER_SR_Service_Prepare hook which is called periodically before the DOUT registers are loaded. The update frequency is 1 mS by default. Example: in app_defines.h following variables have to be assigned to free addresses: DOUT_LED_CTR - a counter which will be incremented on every update cycle DOUT_LED_FLASH_ENABLE - this register holds the information if the LED should flash or not. Up to 8 flags for 8 LEDs can be stored here, if more flags are required, an array should be used (not shown here) Code (untested, but should work) USER_SR_Service_Prepare LED_FLASH_Handler ;; increment counter incf DOUT_LED_CTR, F ;; skip next block if LED should not flash IFCLR DOUT_LED_FLASH_ENABLE, 0, rgoto LED_FLASH_Handler_Skip0 ;; skip if DOUT counter < 128 (bit #7 not set), this leads to a ;; flashing frequency of 1 / (128 * update_cycle) = 1 / (128 * 1 mS) = ca. 8 Hz IFCLR DOUT_LED_CTR, 7, rgoto LED_FLASH_Handler_Skip0 ;; get value of LED at DOUT #0 movlw 0x00 call MIOS_DOUT_PinGet ;; result in MIOS_PARAMETER1, invert it comf MIOS_PARAMETER1, F ;; write back result to DOUT #0 movlw 0x00 call MIOS_DOUT_PinSet LED_FLASH_Handler_Skip0 ;; thats all return Best Regards, Thorsten.
-
Hi, I haven't sent the layout to Mike yet, I will do this now. Best Regards, Thorsten.
-
I just took the cheapest shottky diodes which are available at Reichelt. ;-) I guess that shottkys with I_tot=0.25A should also work Best Regards, Thorsten.
-
Alright - no there won't be a difference. Although the application sends messages to SID3 and SID4 sometimes, it won't stall if the appr. slave cores are not connected to the master. Best Regards, Thorsten.
-
Yes, this is the simplest solution, because the PIC16F firmwares are very static and don't allow so much possibilities like MIOS Best Regards, Thorsten.
-
Jeweils 8 Motorfader benoetigen bis zu 1A Gruss, Thorsten.
