Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. 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.
  2. 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.
  3. 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.
  4. Did you already read the comments in the example applications? Best Regards, Thorsten.
  5. fine! :) Best Regards, Thorsten.
  6. 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
  7. 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
  8. 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.
  9. The hidden treasures - thanks :) Best Regards, Thorsten.
  10. Hi Synthex, did you connect all open analog inputs to ground? Best Regards, Thorsten.
  11. 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.
  12. 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.
  13. ... and here a link for Linux fans: http://www.lionstracs.com (the software of this workstation will be open source) Best Regards, Thorsten.
  14. Thanks a lot for your comments on how you solved the problems! Therefore: FAQMARKER & have fun! :) Best Regards, Thorsten.
  15. TK.

    MIDIBOX PLUS

    No - MIDIbox Plus is no modular design, and the flash memory is 100% allocated... :-/ Best Regards, Thorsten.
  16. 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.
  17. 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.
  18. 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.
  19. Hi, the 1.2k resistor is used to pull-up the open drain output of the 6N138. It's strange that the circuit works w/o power, because the optocoupler should electrically isolate the core module from the MIDI Out of your computer - the only possible current source. Did you mount the 6N138 in the right direction? Did you remove the 6N138 when working with the gameport? Best Regards, Thorsten.
  20. Hi William, search for digital pots with 3-wire interface (SPI), example: http://www.maxim-ic.com/DigitalPotentiometers.cfm they can be daisychained like it has been done for the DIN and DOUT modules. So in fact only latency requirements limit the number of addressable devices per chain. The aout_example_v1_4.zip under MIOS->Download demonstrates, how to control multiple devices via SPI this circuit will kill you, once more than 4 bit resolution is required ;-) Best Regards, Thorsten.
  21. Hi, > thanks for that great debug-sheet!!! I hope that it will provide so much checks in the future that everybody will be able to locate the errors w/o searching in the forum for hints :) > What´s exactly to measure at RA4 ? The resistor should be 1k > instead of 10k. My core voltage is 5.09 V and at RA4 i > do have 0.1V. You are right, this was an error in the schematic. The voltage level at RA4 isn't for interest. Although it's nice to know that it's 0V, this means that the bootstrap loader has switched on the output driver (and therefore: that the PIC is running). > The LED on RX pin lits, but doesn´t flicker when receiving > a sysex-stream. The voltages on the 138 are ok. how about > checking the optocoupler by connecting 5V/0V over 220Ohm > to the input? a good idea! I've added a new item to the list Is this test working: http://www.ucapps.de/mbhp/mbhp_core_midiin_debug2.gif If it does, there must be a problem with the optocoupler > Also the 1:1 connection to the gameport doesn´t solve the problem. Could be a driver problem - the gameport of my old mainboard also never worked under Windows, but only under Linux... ;-) > I think it is perhaps a wrong mios/bootstrap combination? No, the bootstrap loader works independent from MIOS > I downloaded bootstrap 1.1b and mios 1.4, wrote the bootstrap > with ID 0 to the pic. And you receive "F0 00 00 7E 40 00 01 F7" which indicates that the device ID is set correctly (with another device ID, for example 0x42, you would receive F0 00 00 7E 40 42 01 F7) > When sending the sysex to the pic, he doesnt react. my midi > interface is good, too (send/rec-sysex). ??? Now you will find another new item which demonstrates how to loopback MIDI w/o PIC. This helps you to ensure that the hardware itself is working ok > Is there another possibility to check midi-in, perhaps i can upload > a tool via jdm? this would be more complicated and fault-prone than using the boostrap loader > in addition: midiox says with the input "port" is sometimes > --- and sometimes xxx I know this effect, must be an imperfection in MIDI-Ox > one more: i´ve soldered the 10mhz osc inside the pic-socket, > but this shouldn´t make any problems. Your bootstrap loaders sends a proper request, so the PIC is running fine. So, check out the two new tests under http://www.ucapps.de/howto_debug_midi.html Best Regards, Thorsten.
  22. Hallo Peter, mit MIOS laesst sich der Bildschirm relativ einfach zentrieren, fuer ein 2x24 Display muessen folgende Zeilen unter USER_Init eingefuegt werden: USER_Init movlw 0x04 movwf MIOS_PARAMETER1 movlw 0x44 movwf MIOS_PARAMETER2 movlw 0x18 movwf MIOS_PARAMETER3 movlw 0x58 goto MIOS_LCD_YAddressSet Gruss, Thorsten.
  23. Servus Lemonhorse, die PIC16F Version werde ich in Zukunft wahrscheinlich nicht mehr erweitern - zu aufwaendig. Die naechsten anstehenden Features lassen sich sowieso nur mit der PIC18F Version realisieren (analoge Outputs, selektierbarer BankStick, verschiedene Split und Layerfunktionen). Damit eruebrigt sich Frage 2 (bei der PIC18F Version werden keine Abstriche gemacht). Zu Frage 1: die Unterstuetzung eines 4x20 LCD ist von meiner Seite nicht vorgesehen - meine eigene Hardware steht und wird sich auch nicht mehr aendern :) Die Displays der PIC18F Slaves werden folgende Info zeigen: das passt auch auf ein 2x16 LCD :) Gruss, Thorsten.
  24. Hi, you can change the direction by inverting the incrementer value in USER_ENC_NotifyChange. Example (not checked) USER_ENC_NotifyChange ;; inverting the incrementer: ;; if negative: incrementer = NOT incrementer ;; if positive: incrementer = (NOT incrementer) + 1 comf MIOS_PARAMETER2, W IFCLR MIOS_PARAMETER2, 7, addlw 1 movwf MIOS_PARAMETER2 ;; continue... Best Regards, Thorsten.
  25. Hi, there are some examples in mb64_meta.inc But the virtual midibox doesn't support meta events, so you have to build a real one, first Best Regards, Thorsten.
×
×
  • Create New...