wierd_w wrote on 2024-08-20, 05:03:
It might be worthwhile to make sbemu 'multi cpu aware', just to saddle core 1 (and not core 0) with such servicing.
That would require the implementation of a multi-core process scheduler in SBEMU. At that point, we'd be basically turning SBEMU into a mini-OS. Although it's an intriguing idea to unlock the unused core(s) of modern multi-core CPUs in DOS, it would blow up the scope of the SBEMU project considerably. Perhaps if an EMM manager such as Jemm could be extended to offer multi-core support, and expose such functionality through some sort of DOS API, that could be a way for SBEMU and other emulators to tap into such functionality.
Even on single core systems, if you can get 2 lpt ports, (consuming both irqs 5 and 7), then covox speech can be on lpt1 and opl3lpt can live on lpt2.
Yeah, I'd very much like to see support for such parallel port devices in SBEMU. But at some point, wouldn't it all become too big to integrate into a single emulator? Perhaps at that point it might be worth considering spinning off SBEMU into such a sound "redirector" project that would redirect sound and music to other device types, as opposed to emulating such devices completely in software. Either that, or make SBEMU more modular, with the ability to have it load different output/backend drivers, as needed. A GitHub issue already exists for this.
wierd_w wrote on 2024-08-21, 12:39:
I am curious what porting method was used for linux kernel driver integration.
I'd want to try integrating intel_sst and intel_sst_acpi, to see if I can get my baytrail audio turned on.
A "porting guide" for sound drivers from the Linux kernel has been requested in this GitHub topic. jiyunomegami, who introduced the first ported Linux drivers in the SBEMU project, replied in that issue thread with quite useful pointers and information, which should provide you with a decent starting point. By the way, any additional info and examples that anybody could contribute in that thread would be absolutely welcome! 🙏🏽