-
Posts
15,253 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Hi uclaros, if this happens again, could you please create a snapshot of the system state by sending F0 00 00 7E 40 00 0D 02 00 00 00 00 06 00 00 00 00 00 00 F7 to your MIDIbox - thereafter MIOS will send the whole SRAM content, it can be recorded with the SysEx tool of MIDI-Ox (see also http://www.ucapps.de/mios/mios_backup.txt). Store it under the name "sram.syx" Thereafter create a backup of the flash/EEPROM and BankStick (if available) and send me the 4 files, so that I can reconstruate the scenario. Best Regards, Thorsten.
-
This is real DIY - great! Best Regards, Thorsten.
-
A good beginning :) I don't expect that somebody is able to realize an application from scratch without starting with the basics - learning by doing. Once you know most of the instructions by heart it will be easier and faster to implement (or to adapt) simple functions, but for more complex interactions between MIOS and external hardware it could take weeks, months or years to get a deeper understanding - not about programming itself, but about the process flow in the system. This is something which cannot be learned within 3 days (or did somebody learn algebra in his first school class? ;-)) Have fun! :) Best Regards, Thorsten.
-
Perfect! You are also welcome! :) We will continue the discussion via mail Best Regards, Thorsten.
-
MIOS1.4b, MB64 2.1, (MB64E/MBMF/MIDIO/MIDImon) 2.0
TK. replied to TK.'s topic in MIOS programming (Assembler)
> 4 patterns is more than enough for me of course! Thats the reason why I didn't waste SRAM for those patterns. Sure, you will have access to the patterns regardless if a BankStick is connected or not. Best Regards, Thorsten. -
MIOS1.4b, MB64 2.1, (MB64E/MBMF/MIDIO/MIDImon) 2.0
TK. replied to TK.'s topic in MIOS programming (Assembler)
Now, you are limited to 4 configurable patterns which are stored in the flash memory (internal bank). However, this isn't really a limitation, the Logic Control also supports only 4 different patterns for example. Best Regards, Thorsten. -
MIOS1.4b, MB64 2.1, (MB64E/MBMF/MIDIO/MIDImon) 2.0
TK. replied to TK.'s topic in MIOS programming (Assembler)
Hi Nat, a good question! The limitation of the PIC16F based firmware was, that the MIDI receiver only captured incoming button events from the internal bank. With the MIOS version this is no issue anymore, but now the LEDring patterns are only taken from the internal bank. However, since 4 different patterns can be defined, this should be acceptable. Best Regards, Thorsten. -
Hi Pilo, I didn't know if you are still working on this project or if you already gave up due to the missing skills, but now, where you are learning Java, I guess that you are exactly the right person who can help me (remember that the final GUI will be the standard tool for every MIOS user - this should boost the motivation ;-)) As for the MIDI driver, I can only say that Wire works very fine under Windows, but the alternative Native Java option doesn't. However, maybe a bug in jsynth itself? Some examinations from your side would be fine - so long as a SysEx string of more than 1000 bytes can be sent and received at the same time, the API will be sufficient. Support for Linux (tritonus) isn't so important yet - I wasn't able to get it running on my PC (neither on my 4*2 USB interfaces, nor on the RME Multiface), but I hope that with Linux 2.6 (which comes with the overworked ALSA library) this issue will be solved, especially because of the improved realtime capabilities. So - focus on Windows first (since most people are also working under this platform). For Mac: let us hope that it will run ;-) GUI: it should be written in a way which allows me (and others of course) to add options to the menu easily for new MIOS features. Main reason: I don't want to bother you when I've implemented a new function into MIOS which requires a tool update (it would take more time to describe the required changes than to make it oneself) Unfortunately I never was able to start your midi.java application due to the tritonus issues, so I don't know what you've already done. So, for the first try please don't use an external package. Menu functions which should be available for the first shot: File->Open File...: supported file types: .hex and .syx - when a file is opened, a function has to be triggered which converts the content to an immediate data format. This format (and the appr. conversion routines) will be added by me later File->Save File as...: supported file types: .syx and .inc, here also a conversion function has to be called which will be added later File->Quit of course ;-) Window->MIDI Transfer: a window with a down- and upload button should pop up. This window should also contain a status message (the appr. code will be added later) Window->MIDI Exec: to trigger a MIOS function, the window should contain a field for the input address, WREG, MIOS_PARAMETER1, 2, 3... and for the output: WREG, MIOS_PARAMETER1, 2, 3 Window->SRAM Monitor: should look like a hex monitor (16 bytes per line, entry field for new address and number of lines, and a Read/Write button) Window->MIDI Monitor: should display incoming MIDI events Window->MIDI Sender: should allow to send some MIDI bytes over the interface (similar to the SysEx command window of MIDI-Ox) Window->MIOS Status: should request some dedicated SRAM addresses and display the content in readable form. I only need a scrollable list + a update button Options->MIDI devices: to select the MIDI ports Help->About a copyright message with your name :-) You don't need to program the functions itself, just only the GUI framework (and more if you want :-) Just ask if anything isn't clear enough (-> email). No need to hurry! Best Regards, Thorsten.
-
Hi *, the PIC16F phase out is nearly finished, here some new stuff: MIOS V1.4b required for some of the new applications http://www.ucapps.de/mios/mios_v1_4b.zip http://www.ucapps.de/mios_changelog.html MIDIbox64 V2.1 http://www.ucapps.de/mios/midibox64_v2_1.zip http://www.ucapps.de/midibox64_changelog.html MIDIbox64E V2.0 http://www.ucapps.de/mios/midibox64e_v2_0.zip http://www.ucapps.de/midibox64e_changelog.html MIDIbox MF V2.0 http://www.ucapps.de/mios/midibox_mf_v2_0.zip http://www.ucapps.de/midibox_mf_changelog.html MIDIO128 V2.0 http://www.ucapps.de/mios/midio128_v2_0.zip http://www.ucapps.de/midio128_changelog.html MIDImon V2.0 http://www.ucapps.de/mios/midimon_v2_0.zip http://www.ucapps.de/midimon_changelog.html For the records: the old PIC16F firmwares have been removed from the official pages and can now be found under http://www.ucapps.de/pic16f_firmwares.html Some pages now contain additional informations, don't forget to press the reload button of your webbrowser to see the new content (do it also on the navigation bar: Right-click on the bar->Frames->Reload Frame) Have fun! :) Best Regards, Thorsten.
-
Hallo Andy, da ist einiges durcheinandergeraden... grundsaetzlich gilt: fuer den PIC16F gibt es weder MIOS, noch den Bootstrap Loader, sondern nur ein einziges .hex File, das man mit dem JDM in den PIC flashen kann (midibox64_v101b.zip). Das Updaten der Firmware via MIDI ist nicht moeglich, die MIOS Applikationen sind darauf nicht lauffaehig. Die PIC16F Firmwares werden schon seit Anfang des Jahres nicht mehr weiterentwickelt - was nicht heissen soll, dass sie nicht bereits maechtigere Features bieten als manch kommerzieller Controller... ;-) Trotzdem werden diese Versionen bald von meiner Webseite verschwinden, weil ich sie nicht mehr supporten kann (meine MIDIboxen sind alle auf PIC18F umgeruestet) Und nun die Richtigstellung zu Deinen Fragen: 1) gilt nur fuer PIC18F452 2) das Perl-Script konvertiert lediglich das .hex zu einem .syx File, dieses kann mit MIDI-Ox zum PIC18F uebertragen werden. Eine Step-by-Step Guide gibt es hier: http://www.ucapps.de/mios_bootstrap.html - sie gilt jedoch wie gesagt nicht fuer den PIC16F 3) mit der virtual MIDIbox kannst Du die MIDIbox konfigurieren, der Code wird dabei nicht geaendert, es wird auch kein .hex file erzeugt, sondern die Konfigurationsdaten werden via MIDI zur MIDIbox uebertragen 4) richtig - gilt uebrigens sowohl fuer die PIC16F version der MIDIbox64, wie auch fuer die MIOS Version Hoffe alle Klarheiten beseitigt zu haben... ;-) Gruss, Thorsten.
-
Did you already read the comments in the example applications? Best Regards, Thorsten.
-
fine! :) Best Regards, Thorsten.
-
An example is in the request queue, but it could take some weeks until I will find the time (programming effort: 5 minutes, documentation effort: at least 1 hour). When you go through the existing MIOS applications, you will find a lot of advanced examples (see MB64), but no application gives an explicit step by step instruction for the integration, mostly the routines are spreaded over different files. So, if you can't wait: try to understand the purpose of USER_DIN_NotifyToggle, search in the other examples how messages are print out, and then you will possibly be able to work it out by yourself. Best Regards, Thorsten. P.S.: another tip: see midibox_tc: ;; calculate pointer to the bank label (defined in tc_labels.inc): ;; TC_BANK_LABELS + 16 * TC_BANK TABLE_ADDR TC_BANK_LABELS ; this macro sets the base address movf TC_BANK, W ; get bank number mullw 16 ; * 16 -> result in PROD[LH] movf PRODL, W ; add offset (bank*16) to TABLPTR addwf TBLPTRL, F ; low-byte movf PRODH, W addwfc TBLPTRH, F ; high-byte (+carry bit on overrun) ;; print string by using the MIOS_LCD_PrintPreconfString function movlw 16 ; 16 characters call MIOS_LCD_PrintPreconfString
-
Hi, I would like to create an OS-independent upload/download/debug GUI for MIOS, based on Java. Unfortunately my Java skills are not high enough for creating a new application from scratch. I've experiences in enhancing existing Java code for my needs (see MIDIbox SID editor, which is based on jsynth), but I've no idea how to create a menu, a toolbar, a filebrowser, a selection bar, a hex-monitor window, etc... Therefore I'm searching for somebody with java experiences who would like to setup a GUI framework, so that it's easier for me to integrate the hex2syx and syx2hex conversion routines, the RAM monitor, etc.. into that thingy Is anybody interested? :-) Best Regards, Thorsten. P.S.: For the connection to the MIDI interface I would recomment to re-use the existing driver which comes with jsynthlib, it works under Windows/Mac/Linux
-
Just for clarification before I can give you an useful answer: did you also connect the unused analog pins of the PIC (Port J5) to ground? Best Regards, Thorsten.
-
The hidden treasures - thanks :) Best Regards, Thorsten.
-
Hi Synthex, did you connect all open analog inputs to ground? Best Regards, Thorsten.
-
Hi Erik, some informations can be found here: http://www.ucapps.de/mios/mios_sysex_implementation.txt and in the mk_dbg.pl script which is part of the MIOS release. A frontend tool for these debugging possibilities would be very great! It could also provide an automatic .hex->.syx conversion and upload on-the-fly. Unfortunately my programming skills on GUIs are not good enough, so any help in this direction would be welcome. Best Regards, Thorsten.
-
Hi Dimitris, you can assume that every character LCD on the market is compatible to HD44780, even if they are sold under another name (like KS00070) Douglas has integrated a special page for 4x20 display into the MB64 application, it will be published with the next release. Best Regards, Thorsten.
-
... and here a link for Linux fans: http://www.lionstracs.com (the software of this workstation will be open source) Best Regards, Thorsten.
-
Thanks a lot for your comments on how you solved the problems! Therefore: FAQMARKER & have fun! :) Best Regards, Thorsten.
-
No - MIDIbox Plus is no modular design, and the flash memory is 100% allocated... :-/ Best Regards, Thorsten.
-
Perfect!!! :) It shows shows again, that gameports are not reliable on every PC. Maybe I should highlight this in the interconnection diagram. Concerning the 5.6k resistor: I'm not sure about its function, it was a suggestion made by an experienced guy - I guess that it controls the bias level between the two integrated transistors - on the other hand: in the datasheet it's left open... could you please check if your MIDI In still works without R5? Best Regards, Thorsten.
-
everything is possible, thats the problem... ;-) You could try to burn the .hex file of MIOS directly into the PIC. This step isn't recommented under normal circumstances (since the first level bootstrap loader is essential), but it could help you to debug the MIDI IO With MIOS only the upload request won't appear anymore after startup, but you will be able to send various requests to the second level BSL: http://www.ucapps.de/mios/mios_sysex_implementation.txt With F0 00 00 7E 40 00 0D 01 00 58 28 00 01 00 00 00 00 00 00 F7 the MIDI merger will be enabled - thereafter every incoming MIDI event should be echoed. Best Regards, Thorsten.
-
What happens when you send following SysEx message to the core? F0 00 00 7E 40 00 02 20 00 00 01 01 02 03 04 05 06 07 08 09 0a 0b F7 It should return: F0 00 00 7E 40 00 0E 03 28 ... Note: if the bootstrap loader doesn't reboot periodically, you must send the dump within the first 2 seconds after power-on! Best Regards, Thorsten.
