Jump to content

Knas

Members
  • Posts

    5
  • Joined

  • Last visited

    Never

About Knas

  • Birthday 01/01/1

Profile Information

  • Gender
    Not Telling

Knas's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

0

Reputation

  1. Hmm.. that's the same output voltage i get. Weird, as i understand it, the SID *should* be a little noisy right? Mine is dead quiet. Is there by any chance a maximum delay inbetween CS low-to-high or similar? I'm really confused.... I have two SIDs, and one of them *did* work about a year ago. Is there any other voltages i should expect at specific pins? Karl
  2. Hi, i'm currently building a SID synthesizer utilizing the MIDIBox SID sid-module and a homebrewn core. Since i have no sound output (not even noise) from my SID i have a few questions: a) What minimal SID initialization is neede for sound output? The one i'm using right now is going like this: 1. Reset 2. Set DCO1 tune high (reg. 0x01) to app. C3 (0x08) 3. Set DCO1 PWM high (reg 0x03) to 1:1 duty (0x08) 4. Set DCO1 square on and gate on (reg 0x04 to 0x41) 5. Set DCO1 sustain to highest and release to lowest (reg 0x06 to 0xF0) 6. Set main volume (reg 0x18) to highest (0x0F) I'd guess some of this is redundant, but i tried everything to make it work... b) What's the expected voltage at the Audio Out Pin and the output transistor respecitvely. I've doublechecked that the apropriate data is indeed being put on the appropriate pins, i'm using extensive delays both for each high to low CS transition as well as inbetween each data shift. 1Mhz Clock input seems to be fine (shows app. 2,5v on my DMM), it's running hot but that's common as i understand it. I'm a little worried about groundloops, the SID is hooked up to a switching PSU and the output is connected to audio input on my laptop. Allthough on my scope (which is a home built crap-o-tron soundcard-scope introducing a third PSU in the net) shows nothing weird. Any help greatly appreciated Karl
  3. Thorsten, would you mind supplying me with your working code for the PIC? I can't seem to get this damn thing working.... Knas
  4. Thanks Thorsten, i finally got to try and implement the code, still no midi ports though at least this doesn't appear as a "composite device" which - as i've understood - is part of the problem. I'm thinking that i've done something seriously wrong here since none of the code i've tried so far has worked - even though they've apparently worked for other people. I'm wondering if i need to get a class-specific request (which i never get as far as i can see) before windows decides to install the midiports. Maybe the buffersize is incorrect, though i've tried changing the size in the descriptor so far without luck. Okay, this is the only changes i've made to the HID example to make it go midi: * Changing descriptor * Adding typedefs for calculating the descriptor size microchip-style * Changed the ClassReqHandler[1] to point at a function of my own (USBCheckMIDIStreamRequest) * Changed the initializationroutine for the endpoints * Changed ProcessIO to look for incoming events * Changed EP0_BUFF_SIZE to 64 (i tried 8 as well, but i guess it should be 64 with this descriptor, right?) Right now i'm just looking for some kind of request that is not directed to an interface, or a request that is not a STANDARD_REQUEST type deal. Just anything. Here's a piece of the code i've changed, it might not be fully functioning, just a brief explanation of what i'm trying to do: #define MIDI_UEP UEP1 #define MIDI_BD_OUT ep1Bo #define MIDI_BD_IN ep1Bi #define MIDI_BD_OUT ep1Bo #define MIDI_BD_IN ep1Bi //Called when we get Set Config Handler request and Configured State void MIDIInitEP(void) { MIDI_UEP = EP_OUT_IN|HSHK_EN; // Enable 2 data pipes MIDI_BD_OUT.Cnt = sizeof(midi_out); // Set buffer size MIDI_BD_OUT.ADR = (byte*)&midi_out; // Set buffer address MIDI_BD_OUT.Stat._byte = _USIE|_DAT0|_DTSEN; // Set status MIDI_BD_IN.Cnt = sizeof(midi_in); // Set buffer size MIDI_BD_IN.ADR = (byte*)&midi_in; // Set buffer address MIDI_BD_IN.Stat._byte = _UCPU|_DAT1; // Set status } void USBCheckMIDIStreamRequest(void) { if(SetupPkt.Recipient != RCPT_INTF) return; /* Use debug functions here to show that we've got something that is *not* directed to an interface for once. I also tried if(SetupPkt.RequestType == STANDARD) return; just to see if i could get *anything* */ } #define mMIDITxIsBusy() MIDI_BD_IN.Stat.UOWN #define mMIDIRxIsBusy() MIDI_BD_OUT.Stat.UOWN void ProcessIO(void) { if((usb_device_state < CONFIGURED_STATE)||(UCONbits.SUSPND==1)) return; if(usb_device_state == DETACHED_STATE) return; if(UCONbits.SUSPND==1) return; if (!MIDI_BD_OUT.Stat.UOWN) { // == 0) { hdebug('R','x',' ',' ') } if (!MIDI_BD_IN.Stat.UOWN) { //== 1) { hdebug('T','x',' ',' ') } } A few things are a little unclear to me, for one i can't quite wrap my head around how to monitor the UOWN bit, also the whole buffer deal is a little uncertain for me now. I might have forgot to add something in the code, but hopefully not. Oh, also, i'm using the pic18f2455 but that shouldn't be a problem i guess. Thanks Knas
  5. Hi, sorry if this post has nothing really to do with uCapps's stuff, but i'm quite desperate for information; I'm doing a USB module that's supposed to take MIDIStream data as input from a computer, when connected the device is enumerated but no midi ports show up. It's a classic, i've found the same problem all over the internet but i'm yet to find a sollution. Does anyone have any hints about how to solve this?? I'm currently using WinXP and have tried to use the MBHP USB descriptors but without success. (note! i'm *not* going to try and do a midi-out so no silicon-bug problems here.. ) Thanks Knas
×
×
  • Create New...