VOGONS


HardMPU, anyone?

Topic actions

Reply 220 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t
keropi wrote:

you need to start looking on the ICs then and make sure the PIC is programmed correctly

Yeah I'll test all ICs. The MPU is programmed correctly, save for a bit of ambiguity for the clock fuses detailed above.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 221 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

Gah I just realized that I programmed the MPU for "external oscillator" (0000) instead of "full-swing crystal oscillator" (0111). Be right back. 🤣

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 222 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

Okay, programming the correct oscillator fuses made the error at the start of Gateway go away. So presumably now the device is recognized as an intelligent mode MPU. But I still get no output to the MT32, neither in Gateway nor in Monkey Island.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 223 of 608, by keropi

User metadata
Rank l33t++
Rank
l33t++

just to be sure, test that 74series logic ICs with the TL866's test function

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 224 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

All ICs test good.

Time to take out the oscilloscope I guess.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 225 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

Here's what I got so far.
I first checked the oscillator to make sure it's working. The oscilloscope shows a beautiful 20MHz sine wave.
Then I went directly to checking the output - pin6 on the output connector. And guess what, I see a stream of bits flowing out when a game is running. So the card is working and is putting data out, but the MT32 doesn't see it as valid MIDI data.

Calling ab0tj for further ideas.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 226 of 608, by keropi

User metadata
Rank l33t++
Rank
l33t++

weird, don't forget to update when you find the cause... just to be 101% sure, triple check the midi-out pinout

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 227 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

A bit busy with the family now, but when I get the chance (probably later tonight) I will put together a quick-n-dirty output adapter for the _actual_ pinout on the card, as opposed to one deducted from the schematic. That should put to rest any doubts about connectivity. Need to find my stash of small proto boards so I can use PCB-mount DB9M and DIN-5F connectors.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 228 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

And it's confirmed. The signal from output pin 6 when fed directly into the MT32 via a custom cable isn't considered a valid MIDI stream by the synth, as it doesn't react at all. Even though it does seem to contain bits of data when viewed on the oscilloscope.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 229 of 608, by ab0tj

User metadata
Rank Member
Rank
Member

Oh, just saw all this... For some reason I wasn't getting notification emails from the thread anymore. Does the signal on the scope look like the correct baud rate (~32kHz)? It might be dividing the clock down with certain clock fuse settings. I'll go check again what exactly they should be set to.

Reply 230 of 608, by ab0tj

User metadata
Rank Member
Rank
Member

For reference, here are the settings I used when programming the Atmega. This seems to equate to a value of 0x17 in the fuses. Not sure where the first '1' goes in your programmer?

Also, you said you were feeding pin 6 straight into the MT32, but MIDI is a current loop interface so make sure you're hooking up all 3 of the MIDI signals (pins 1, 2 and 6).

Attachments

  • unnamed.jpg
    Filename
    unnamed.jpg
    File size
    74.61 KiB
    Views
    824 views
    File license
    Fair use/fair dealing exception
Last edited by ab0tj on 2017-09-08, 16:09. Edited 1 time in total.

Reply 231 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

Can't really tell what the baud rate is by looking at the scope. It's an old, old Hitachi analog scope from the 1970s or so, can't freeze the signal or do any fancy visualizations with it. With an irregular signal, all I see is 2 voltage level lines connected by edges here and there. 😀

When I said "feeding right into..." I meant not using the pre-made cable but instead using my own homemade one. It did connect all 3 wires (gnd, Vcc and signal). Well the surrogate Vcc that is pin 2 anyway. 😀

I'll have to double check on the fuse settings, but that'll be some other day. I entered a pretty big crunch at work today, likely to go into the weekend and possibly beyond... Just got home, barely had the strength to have dinner and getting to bed right after I write this.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 233 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t
ab0tj wrote:
stamasd wrote:

Well the surrogate Vcc that is pin 2 anyway. 😀

Pin 2 should be GND... 1 is the "VCC through a resistor" pin

Yeah, pin 1. I was tired when I wrote that and didn't have the energy to check.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 234 of 608, by ab0tj

User metadata
Rank Member
Rank
Member
stamasd wrote:

Yeah, pin 1. I was tired when I wrote that and didn't have the energy to check.

Gotcha. Just wanted to double-check in case that might be the issue.

I don't know how your programmer manages the fuse bits, but make sure CKDIV8 is disabled. That will make it appear to work but the MIDI baud rate will be 8 times too slow.

Reply 235 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t
ab0tj wrote:
stamasd wrote:

Yeah, pin 1. I was tired when I wrote that and didn't have the energy to check.

Gotcha. Just wanted to double-check in case that might be the issue.

I don't know how your programmer manages the fuse bits, but make sure CKDIV8 is disabled. That will make it appear to work but the MIDI baud rate will be 8 times too slow.

Gotcha. By "disabled" you mean, in Atmel-speak, "not programmed" I think. I.e. not set to zero. Because I just checked on my work laptop, the default for ATMega1284 in the MiniPro software for the TL866 (which you can find at http://www.autoelectric.cn/MiniPro/minipro_setup.rar ) is CKDIV8=0 checked, which programs CKDIV8 with a zero i.e. sets it. That may be the issue. I will check when I get home.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 237 of 608, by stamasd

User metadata
Rank l33t
Rank
l33t

Bad news again. That's not the problem. The CKDIV8 was disabled in the 1284 I was using.

Just to eliminate any doubt, I played with the fuses until I had the exact same configuration as yours. Then I burned 2 chips with the firmware and these fuses. Tested both of them in the board. No MIDI data seen by the MT32. 😀

Capture.jpg

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 238 of 608, by keropi

User metadata
Rank l33t++
Rank
l33t++

^ dead ATMEGA? could be! Settings are OK with the same values so that's not the problem 101%

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website