Giter VIP home page Giter VIP logo

Comments (14)

rhargreaves avatar rhargreaves commented on May 30, 2024

Which model EverDrive are you using? And just to confirm - you're using some sort of serial to controller port device?

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

Thanks for your reply,

Previously I tried with:
-MegaDrive I & II
-Everdrive MD as described here: https://segaretro.org/Everdrive_MD
-A USB serial cable connected to port 2 as described here: https://github.com/rhargreaves/mega-drive-serial-port#hardware

In my latest attempt I have used:
-MegaDrive II
-A MegaDrive cartridge PCB with a programmed 27c322
-A USB serial cable connected to port 2 as described here: https://github.com/rhargreaves/mega-drive-serial-port#hardware

The latest attempt was the most promising because it showed "serial 4800bps", but also an error when I run "mega-midi-ping-pong"

I tried several usb2serial adapters. They all worked flawlessly with your mega-drive-serial-port diagnostic tool. When I send a string of text to the MegaDrive it displays just fine.

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

To clarify myself further I have attached photo's of the error message and the ttl-usb-serial devices
IMG_9678
IMG_9679
IMG_9680
IMG_9681

from mega-drive-midi-interface.

rhargreaves avatar rhargreaves commented on May 30, 2024

Interesting...

Can I ask what MIDI data you're sending to the device when it came up with "unknown status" of FD and FF? Was it just what came up when you tried running the ping pong tool?

It's possible there might have been a regression in the later versions of the interface (probably when I was adding support for the EverDrive PRO). Could you try an older version, perhaps as far as this one? https://github.com/rhargreaves/mega-drive-midi-interface/releases/tag/v0.4.4

I'll see if I can reproduce it on my side.

from mega-drive-midi-interface.

rhargreaves avatar rhargreaves commented on May 30, 2024

You could also try and setting a lower baud rate by changing this line of code and re-compiling.

serial_init(SCTRL_4800_BPS | SCTRL_SIN | SCTRL_SOUT | SCTRL_RINT);

Unfortunately there's no way to modify this at runtime.

from mega-drive-midi-interface.

rhargreaves avatar rhargreaves commented on May 30, 2024

I've just tested the v0.6.6 version with a serial cable and it's working OK for me. I am using a PAL Mega Drive Model 1 VA6.

"Unknown status" just means "I've read this byte but I don't know what to do with it."
So 0xFD 0xFF got sent to the Mega Drive over the serial cable, telling you that at least it's receiving data, even if it isn't able to interpret the data into MIDI that it supports. (Technically 0xFF according to MIDI 1.0 is "Reset", but it doesn't implement it)

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

Ok after reading it worked for you I gave it another go. I found a way to make it sort of work :)

-start the Midi Interface (it will show "Waiting")
-start Hairless serial midi bridge
-the Midi Interface (it will show "Serial 4800bps")
-started MidiKeys to send some notes
-at this point the Sega Midi Interface will just respond with Unknown status FF or FE
-Start the Arduino IDE and open a Serial window @ 4800bps
-The Interface now responds on input from MidiKeys and SendMidi from command line

When I start the Arduino IDE and open a Serial window the Sega comes to live ???

I then used SendMidi from the command line to change to Dynamic mode and also changing the instruments is no problem.

If I try to send notes from Logic Pro. the Sega just hangs on one note and crashes.

So I'm not sure what is happening here, but I'm happy to see it works. Now I do need to find why it is not working from Logic Pro as this is my main DAW

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

As I had a hunch the problem was with Hairless or OsX IAC converting the midi to serial. I wrote a small program today for Arduino to simply forward the midi input at 4800bps. I also added a few shortcut buttons to quickly switch between Dynamic/Static mode and some instruments. This works really nice :) Again thanks for developing this project!

from mega-drive-midi-interface.

rhargreaves avatar rhargreaves commented on May 30, 2024

Glad you got it working - at least some way!
I'm curious as to why Logic Pro crashes it. Are you able to log the MIDI data sent to the interface somehow? Hairless has a debug option where it prints the events sent. I wonder if it's sending some SysEx and the interface is getting stuck on it.

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

I have tried it again, but the log Hairless keeps is to short so I used MidiMonitor.

The setup is the same as before.
-MegaDrive II
-start Hairless
-send midi command from terminal to see if there is a connection -> results in error
-start Arduino interface (I guess to set the right speed 4800bps)
-send midi command from terminal to see if there is a connection -> and now it works.
-start Logic Pro
-start new project
-add new External Instrument, selecting IAC Bus
-create new midi region
-press a random note

now it's stuck and from what I see the note off command is not send. I have not seen any SysEx command in the log.

edit I have tested this on 2 different Mac's both running Catalina both act the same.

here is the log:

//sendmidi command to switch to Dynamic mode to IAC Bus, but result is error
12:00:33.537 From Bus 1 Control 1 General Purpose 5 127
//arduino started, now the MegaDrive switches to dynamic mode.
12:00:50.344 From Bus 1 Control 1 General Purpose 5 127
//sending one note from Logic
12:01:41.660 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80
12:01:41.677 From Bus 1 Note On 1 C3 80

and this keeps going until I switch of the MegaDrive

from mega-drive-midi-interface.

rhargreaves avatar rhargreaves commented on May 30, 2024

Without note offs, continual note ons will cause the interface to run out of channels to play the note! Is it actually making any sound when logic sends those events?

Logic not sending note offs is a bit strange. The interface can either handle note off events, or note on events with velocity of zero, so if you can get Logic to do either of those things then it shouldn't run out of channels!

from mega-drive-midi-interface.

vandoeselaar avatar vandoeselaar commented on May 30, 2024

Well the MegaDrive is overloaded for sure. It plays some notes but then just halts.

I'm really thinking this must be some problem with the software converting midi to serial. I have never had any problems with other synths.

So I will just use the little device I build for this.

IMG_0012
IMG_0011
IMG_0010

from mega-drive-midi-interface.

RomaRogov avatar RomaRogov commented on May 30, 2024

Hello!

I've had the same issue when I tried to connect with my genesis via USB to TTL cable.
At the end I wrote program for Teensy too and now it works well!
Teensy behaves as USB-MIDI device and I found it more useful than additional software.
I want to leave code for teensy here, so anybody who has suffered from this issue may fix it easily; code is pretty simple though.
https://github.com/rhargreaves/mega-drive-midi-interface/files/6278704/teensy_midi.zip

And thanks for your work, open-sourced alternative for genMDM is a great thing!
I'm learning so much just from looking into the code!

from mega-drive-midi-interface.

robbennet avatar robbennet commented on May 30, 2024

@vandoeselaar would you be open sharing your schematic/design for the device you build that uses 5 pin Midi din instead of usb midi? Am I right in assuming that you got this working without routing through a DAW and instead just use straight midi from a keyboard? Would love to have any info on this you're willing to share!

from mega-drive-midi-interface.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.