Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. Hi Nacho, if verify fails with both programmers, possibly the10k pull-down resistor is not connected to pin RB3? Best Regards, Thorsten.
  2. I've the soundblaster reference book (since more than 10 years now ;-)) which contains all the details, but thanks anyhow :) Best Regards, Thorsten. P.S.: no, I haven't started with the hard/software yet...
  3. I've the soundblaster reference book (since more than 10 years now ;-)) which contains all the details, but thanks anyhow :) Best Regards, Thorsten. P.S.: no, I haven't started with the hard/software yet...
  4. Hi Flecko, it doesn't really matter if you are asking on a MIDIbox related topic or not, most of us are interested in any DIY project and in exchanging experiences. Based on your descriptions I guess that the R4 SID is really dead, but the R3 behaves correctly. The DC offset changes with the volume - this "feature" makes it possible to playback audio samples with 4-bit resolution. Did you also try the other voices? Maybe it's just a configuration problem... it especially makes sense to write defined values into every register (just write a zero into unused registers) for a proper setup For testing the SID: maybe you should give us your location so that somebody from the same country could help you (-> minimal shipping costs) Best Regards, Thorsten.
  5. Hi Dan, here the same: if you promise that you will write a report about the integration for the MIDIbox portal and send it to Poeloq until the 1st November, I will give you some step by step instructions ;-) Best Regards, Thorsten.
  6. TK.

    MIDIbox64 V2.0

    Hi Ian, if you promise that you will write a report about the integration for the MIDIbox portal and send it to Poeloq until the 1st November, I will give you some step by step instructions ;-) Best Regards, Thorsten.
  7. Yes, so there is a high possibility that your SID is still working. Did you fix the WR# (or CS#) clue logic in the meantime so that register transfers are working like specified? fine! :) Best Regards, Thorsten.
  8. TK.

    Core und Fader

    Hallo Bernd, jep - in dieser Applikation senden und empfangen die Fader CC#0 bis CC#7 auf MIDI-Kanal 1 per default Falls Du eine hoehere Aufloesung probieren moechtest, koenntest Du auch einfach die MIDIbox LC Applikation einladen, hier senden und empfangen die Fader PitchBender Events. Solange Du den 10k Pull-Up an Pin RD1 und den 1k Pull-Up an Pin RA4 nicht vergessen hast, kann nichts ungewolltes passieren. Gruss, Thorsten.
  9. Addendum: falls das Brummen vom MIDI-Kabel her kommt, einfach das Kabel zur Masse an CORE:J12 abknippsen Gruss, Thorsten.
  10. No, the caps cannot be the reason for this behaviour. You hear the oscillator running in background - thats the known 6581 SID bug. But you don't hear the main sound, and this is strange. It really seems that the internal circuit is affected (maybe between oscillators and the amplifier stage). Best Regards, Thorsten.
  11. SmashTV: I noticed the same, some PIC18F are working fine with an unmodified JDM, some others require an additional external power supply for programming, even if they are from the same batch. But the 10k resistor is required anyhow. After production the so called low voltage programming mode is enabled by default, it has to be disabled with the 10k pull-down. If pin RB5 is floating, you've a 50:50 chance that the programming procedure will pass (depends on supply voltage, ambience temperature, etc...). Once you've programmed the PIC, the LVP is disabled and therefore the programming will also work w/o the 10k pull-down. Dan: could you please try the most recent version again - I don't believe that the small changes made in the update are the reason. If you hear this sound again, create a backup of your system like described here: http://www.ucapps.de/mios/mios_backup.txt and send me the files so that I'm able to "clone" your setup Best Regards, Thorsten.
  12. Some SIDs are getting very hot due to leackage issues, this differs with every chip revision and therefore isn't really an indicator if your SID is still ok or not. Do you hear strange noise when the reset is active (=0V)? This would be a simple way to check if "anything" is working. You could try it also without the transistor (but don't forget the 1K pull-down behind the Audio Out) --- with care! I would also add a 100 Ohm resistor in series to ensure that an unintentional short doesn't damage the output stage. Best Regards, Thorsten.
  13. Hi Wancho, a nice design :) 1) yes, you need 4 buttons for the menu navigation. Maybe I will rename the buttons sooner or later to make the function more clear, in the common MIDIbox applications they are used as "Left", "Right", "Exit" (formerly called Exec) and "Exec" (formerly called Snapshot) Button. 3) beside of the menu navigation buttons, I would add at least 8 additional buttons without LEDs. Most programs are providing a bunch of useful MIDI remote functions which make live easier, for example the possibility to switch to different screen views, to open a tool, to save a song, etc... also the MIDIbox offers so called "special functions" which can be assigned to those buttons, e.g. to change directly to a special submenu, to increment/decrement the bank.... If you want to try the MB64seq application, at least 4 additional buttons are required anyhow. 2) This can simply be done by merging the led_digits_mtc application with the MB64 application (copy leddigits.inc and mtc.inc into the mb64 directory, include them from the main.asm and follow the instructions which are given in the file headers). The led_digits_mtc application comes also with a schematic, the shift registers used for the digits are freely assignable. 3 DOUT registers are allocated by the MTC digits handler, and this is exactly the number of registers which are currently not used in your setup. So - you don't need to buy an additional module :) Best Regards, Thorsten.
  14. Hi Dan, I don't agree, every page is listed on the navigation bar, so you only have to refer to the titles like "Concepts->MIOS->Introduction". By doing so, a new viewer will regognize that there are even more pages related to MIOS which maybe provide exactly for what he was looking for. The root cause for the bad overview is, that the pages grown up with the years and need some overwork. I've planned this for the time after the PIC16F phase out. Ok, but it wasn't really my intention to prevent direct links, this is more an imperfection caused by the way how I realized the navigation bar. I don't know how to make it better without producing much more net-traffic (e.g. by including the HTML code for the navigation bar directly into every page). Best Regards, Thorsten.
  15. Yes, thats the error - you've connected two clock domains together and this requires a proper asynchronous bus interface, at least the chip select line should never be activated when the data is not stable. Best Regards, Thorsten.
  16. Hallo, ja, Du kannst den BankStick auch direkt anloeten - kein Problem. Bei dem Taster handelt es sich um einen Momentary Switch, er sollte also funktionieren. Gruss, Thorsten.
  17. FSR2 is not restored when an interrupt has been invoked, only FSR0, FSR1, TBLPTR[LH], TABLAT and MIOS_PARAMETER[123] --- the reason for this is, that you normaly never need a third pointer, only on very special cases, so I decided to left it out to ensure best performance. Yes, by temporary disable interrupts with IRQ_DISABLE it's possible to use all three pointers in your main program. After the use of FSR2 you can enable interrupts again with IRQ_ENABLE. FSR2 don't has to be saved/restored. Such a routine should never run longer than ca. 300 uS to ensure the realtime capability (especially: receiving MIDI events). Yes, you can use FSR1 in between MIOS calles in your main program and in interrupt service routines w/o problems. The reason why I suggest FSR0 is not to confuse newbies too much... There is no MIOS task which uses FSR0, so it can be used without any danger. Best Regards, Thorsten.
  18. I'm not sure why it does only work with MIOS V1.3 at your board, either you are not using the original MIOS and SID releases (download them again, ensure that MIOS V1.4 is correctly uploaded by using the CRC test), or MIOS V1.4 is more sensible to a hardware error. There is only one reason for an endless reformat: if the 1k pull-up at RA4 is not connected, regardless if a BankStick is available or not this is a *must*. You could measure the voltage at this resistor just to ensure that the +5V are there. You could also try another application which uses a BankStick like the bs_xfer example to ensure that MIOS can access your bankstick. Best Regards, thorsten.
  19. Very strange - the problem must be hardware related, because I didn't notice such bankstick problems on any MIOS core. Best Regards, Thorsten.
  20. Hallo Andreas, ok, hier die ersten Tips die Du mal ausprobieren solltest: Versorgungsspannung variieren - du verwendest scheinbar das Reichelt Netzteil - bestens, hier kann man verschiedene Spannungen einstellen, probiere einfach mal alle Einstellungen aus, es kann nichts kaputt gehen. Wenn die Spannung zu hoch ist, werden die Spannungsregler (7805, 7812) etwas heiss, aber hier geht es ja zunaechst einmal darum, die Brummquelle herauszufinden... brummt der SID eigentlich auch dann, wenn der MIDI-Stecker nicht eingesteckt ist? Falls nicht, wird das Brummen von einer Masseschleife verursacht (schlechtes MIDI Interface) das gleiche gilt fuer den Audio-Out, aber hier wird es schwieriger. Hast Du den SID mal an eine Stereoanlage o.ae. angeschlossen, brummt es dann immer noch? den Audio-In koenntest Du mal probehalber kurzschliessen (auf Masse legen) Gruss, Thorsten.
  21. Hallo Matthias, Jein. Das mit den Endlosreglern klappt so wie Du es beschrieben hast, hierzu musst Du lediglich in cs_menu_enc_table.inc folgenden Code: CS_MENU_ENC_TABLE ;; OSC "Env" Layer ;; Function name parameter menu offset cursor pos CSENC_ENTRY CS_MENU_ENC_CHANGE_OSC, CS_SID_VOICEx_DELAY, CS_MENU_OSC, 0x03, 0x03 CSENC_ENTRY CS_MENU_ENC_CHANGE_OSC, CS_SID_VOICEx_ATTACK, CS_MENU_OSC, 0x03, 0x04 CSENC_ENTRY CS_MENU_ENC_CHANGE_OSC, CS_SID_VOICEx_DECAY, CS_MENU_OSC, 0x03, 0x05 CSENC_ENTRY CS_MENU_ENC_CHANGE_OSC, CS_SID_VOICEx_SUSTAIN, CS_MENU_OSC, 0x03, 0x06 CSENC_ENTRY CS_MENU_ENC_CHANGE_OSC, CS_SID_VOICEx_RELEASE, CS_MENU_OSC, 0x03, 0x07 ersetzen durch: CS_MENU_ENC_TABLE ;; Env "Assign" Layer ;; Function name parameter menu offset cursor pos CSENC_ENTRY CS_MENU_ENC_CHANGE_MENU_P1, 0x00, 0x00, 0x00, 0x00 CSENC_ENTRY CS_MENU_ENC_CHANGE_MENU_P2, 0x00, 0x00, 0x00, 0x00 CSENC_ENTRY CS_MENU_ENC_CHANGE_MENU_P3, 0x00, 0x00, 0x00, 0x00 CSENC_ENTRY CS_MENU_ENC_CHANGE_MENU_P4, 0x00, 0x00, 0x00, 0x00 CSENC_ENTRY CS_MENU_ENC_CHANGE_MENU_P5, 0x00, 0x00, 0x00, 0x00 Doch die Selektierungstaster sowie das Datawheel werden auch weiterhin notwendig sein, es gibt einige Untermenues (wie bspw. das "Edit Name" menue), in der sie gebraucht werden. Falls Du Platz sparen moechtest, koenntest Du bspw. Alps Encoder mit einem eingebauten Button verwenden. Der Conrad-Link funktioniert nicht... Im PIC18F452 kann man nur einen einzigen Patch abspeichern. Gruss, Thorsten.
  22. Could you please check it with a connected BankStick, just to give me more input? Best Regards, Thorsten.
  23. A really good question, because this is a point which has not been documented very well yet. so: FAQMARKER the PIC18F offers two different addressing modes: ACCESS and BANKED ACCESS is the default mode, so you don't have to specify it explicitely on every instruction. It's independent from the BSR and allows you to access addresses between 0x00-0x7f and 0xf80-0xfff (SFR range) directly without initializing the BSR for BANKED accesses you have to ensure that the BSR is set correctly. So, if you are doing a lot of BANKED operations to addresses between 0x80 and 0x37f (other addresses are reserved for MIOS), you should initialize the BSR before. so long as the BANKED addresses are in between a page of 128 bytes (0x80), you don't have to reinitialize the BSR before every access. This influences the "coding style": addresses which belong together should be located in between a 128 bytes range in order to reduce code (the need to change the BSR) it's alway possible to copy a register value to another register by using the "movff" instruction independent from the source/target address without initializing the BSR. So, the easiest way to copy any register to the working register is: "movff ANY_REGISTER, WREG" --- but note that the "movff" instruction allocates 4 bytes, a common instruction (also SET_BSR) is only 2 bytes long, so this method should only be used if just only one register has to be copied. As soon as you plan to access more than 2 register of the same 0x80 page, it makes sense to change the BSR or: it sometimes makes sense to address the register indirectly by using FSR0 (main program) or FSR2 (interrupt service routine). The FSR has to be initialized with "lfsr FSRx, ANY_REGISTER", thereafter you can access it via "INDF0", "POSTINC0", "POSTDEC0", "PLUSW0", etc... note that most MIOS function are changing the BSR and FSR1 and don't restore it to the old value (to save execution time). This means: if a change of BSR is notified in the MIOS function description, and if you are using BANKED accesses, you have to restore BSR after every MIOS call. So, if you have a lot of interaction between MIOS and your main program, the use of indirect addressing (FSR0/FSR2) or the use of "movff" should be prefered in order to save code space Hint: registers which have to be accessed very often should just be located below 0x80 so that you don't have to take care for the page pointer. For example, MIOS_PARAMETER[123], TMP[12345] and IRQ_TMP[12345] are located between 0x00-0x0f which makes the use of this most frequently used addresses very easy Best Regards, Thorsten.
  24. Thanks for the input, I will take this into account when I update the MBHP_JDM page next time. Oddly enough that for the 8.7V zener diode you have to decrease the IO delay, however... Best Regards, Thorsten.
  25. Yes, please check the driver application first. Thereafter you are able to integrate the driver into the SID application by replacing the app_lcd.inc file and by selecting the custom LCD like shown in USER_Init Note that I never tried a T6963C display with the SID application, so when it doesn't work, it could be a bug in the driver which I cannot check (I don't own such a display). Note also that the performance of the T6963C in horizontal mode is not high enough for the SID application, so you possibly have to take the veritcal mode Best Regards, Thorsten.
×
×
  • Create New...