From: <bjj...@ya...> - 2018-07-04 16:02:44
|
Sounds like a cool project. I have a vague memory that the BII serial code gets a value from the guest saying which mode it would like to use when opening the port, and that one of the possibilities is MIDI. So maybe you could modify the serial code to use the host's MIDI infrastructure (ALSA, PulseAudio, SDL, etc. -- probably whatever BII is using for audio) in that case. I doubt you'd have to deal with the low level details of Mac serial port clocking. BII doesn't really emulate hardware, it intercepts driver calls in software. Disclaimer: I haven't looked at the code, or used Basilisk, in 15 years or so... I'm amazed I'm still on this mailing list. :) So I may be way off base. Good luck, Brian Sent from my android device. -----Original Message----- From: Brent Busby <br...@ke...> To: Discussions related to the development of Basilisk II <bas...@li...> Sent: Mon, 02 Jul 2018 5:55 PM Subject: Re: [B2-devel] Midi support in Basilisk (by hook or by crook) Ricky Zhang <zha...@gm...> writes: [...] > TBH, I still don’t understand the MIDI application INs and OUTs. How > and why do you expose serial port in guest OS to the serial port in > host OS? Do you have serial/parallel port MIDI keyboard (a physical > hardware in host OS)? Yes, the usefulness of this is for people who want to run legacy Midi applications in the real world outside the emulator, either with physical equipment (my case), or to communicate with software instruments/effects running in the host OS, or possibly doing both at the same time. I've seen some threads in the E-maculation forums from people wanting similar things over the years, and generally they were told that the time synchronization would be too difficult to provide steady tempo, so it wasn't worth doing. So I went into this thinking that if that were the only hindrance, then don't worry about it and just let the bytes come out as they will. A patch editor doesn't need steady tempo, and probably in many cases the timing jitter for actual sequencer playback wouldn't be that bad on a modern machine anyway, especially if the software running in the emulator was slaved to time from the host OS. And it turns out that old Mac serial ports are a much murkier subject than the aforementioned concerns about time stability allude to. Like, lions and tigers and bears, oh my sort of murkier. It wants a 1MHz signal of some kind coming into a pin on the port that normal telecomm doesn't even use, which would probably have to be emulated to satisfy what applications like SPVE are wanting to see. (Or at least the driver would have to be lied to so it thinks the signal is there, while actually getting the 31250 baud timing another way.) Here are a few links to the threads I saw, just so you know I'm not the only person who'd like to do something like this: https://www.emaculation.com/forum/viewtopic.php?f=1&t=9103 https://www.emaculation.com/forum/viewtopic.php?f=6&t=8364 https://www.emaculation.com/forum/viewtopic.php?t=7277 https://www.emaculation.com/forum/viewtopic.php?f=1&t=7674 https://www.emaculation.com/forum/viewtopic.php?f=20&t=7668 https://www.emaculation.com/forum/viewtopic.php?f=6&t=8439&start=50 https://www.emaculation.com/forum/viewtopic.php?f=20&t=9459 https://www.emaculation.com/forum/viewtopic.php?t=5657 https://www.emaculation.com/forum/viewtopic.php?f=34&t=7047&start=1025 Here's someone wanting to try QEMU for this, with different problems (of course, because true VM's are very isolated from their hosts): https://www.emaculation.com/forum/viewtopic.php?f=34&t=9601 Also, there's a whole web site for running studio apps on pre-OSX here, but they seem to be very hostile to any kind of emulation. They want real old Macs, which doesn't seem to me like a solution that will last too long: http://www.macos9lives.com/ |