Mac OS 9 Lives
Digital Audio Workstation & MIDI => Digital Audio Workstations & MIDI Applications => Logic Audio by Emagic => Topic started by: Windoze on January 12, 2025, 06:23:05 AM
-
It took way too long... I had to learn more about IOKit (And especially IOUSBFamily) than I ever wanted...
There were countless kernel panics while developing... But finally here it is:
The XSKey Emulator in a version for OS X is done.
Sadly the simple drag & drop installation like on OS 9 is not possible on OS X.
So this emulator is a kext (Kernel Extension) that simulates a whole USB controller with a XSKey plugged into it.
As for compatibility, it works on 10.3 up to 10.9 on PPC, Intel 32bit & Intel 64bit.
Maybe it also works on 10.10+ but it is unsigned and if I remember correctly kext signing is enforced starting with 10.10.
I tested Logic 5.5, 6.0, 6.4, 7.2 and the SoundDiver 3.1 Beta all working fine for me.
I ask everone who downloads the emulator to let me know if it works correctly for them.
Also please don't distribute it outside this forum for now. I will upload it to the garden for everyone if it
seems to work ok, but I want to "Beta Test" it a bit first.
-
Kudos to you, Windoze!
As for compatibility, it works on 10.3 up to 10.9 on PPC, Intel 32bit & Intel 64bit.
Maybe it also works on 10.10+ but it is unsigned and if I remember correctly kext signing is enforced starting with 10.10.
I can try it on 10.10, if you wish. With what app?
I usually chop off all signatures of modified binaries, but I've never tried it on 10.10.x kexts.
Can something like this from one particular tool help?
Code Signing Options:
--sig Show code signature in binary (if any)
--sign [adhoc] self-sign with no certificate (default)
--sign [sha1] self-sign with SHA-1 instead of SHA-256
--ident _ident_ provides binary identity (fake, of course)
--sident _sident_ provides signing identity (Hash, TeamID or Apple ID, MacOS builds only)
--teamid _teamid_ provides team (fake, of course) and forces 0x20200
-
Wonderful! I'll give it a go right away :)
-
you posted in public section and everyone knows what people will do. ;)
but luckily you use version numbers.
-
As for compatibility, it works on 10.3 up to 10.9 on PPC, Intel 32bit & Intel 64bit.
Maybe it also works on 10.10+ but it is unsigned and if I remember correctly kext signing is enforced starting with 10.10.
I made pciutils/DirectHW.kext for macOS 10.4 to 15 (for the lspci and setpci commands). The kext is unsigned so some requirements are necessary to make it work. Below are some notes.
It says for 10.9.5 that it should be installed to /System/Library/Extensions. For every other OS version, install to /Library/Extensions if it exists. It says for 10.10 to add "kext-dev-mode=1" to boot-args. For 10.11 and higher, you need to disable SIP.
# tested build10.6 DirectHW.kext
arch darwin darwin2 darwin3 intel-conf1 How to load unsigned DirectHW.kext
10.4.11 Tiger p - - p -
10.5.8 Leopard pP - - pP -
10.4.11 Tiger i i - p i pi
10.5.8 Leopard ix ix - p ix pix
10.6.8 Snow Leopard x ix - p ix pix
10.7.5 Lion x ix - ix ix
10.8.5 Mountain Lion x ix - ix ix
10.9.5 Mavericks x ix - ix ix install to /System/Library/Extensions.
10.10.5 Yosemite x ix ix ix ix add "kext-dev-mode=1" to boot-args.
10.11.6 El Capitan x - - ix ix disable SIP.
10.12.6 Sierra x - panic ix ix disable SIP.
10.13.6 High Sierra x ix ix/panic ix ix disable SIP.
10.14.6 Mojave x ix ix ix ix disable SIP.
10.15.7 Catalina x x x x x disable SIP.
11.7.2 Big Sur x x x x x disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.
12.6.2 Monterey x x x x x disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.
13.1 Ventura x x x x x disable SIP. Install to /Library/Extensions. Allow in "Security & Privacy" preferences panel. Restart.
kernel user
p = ppc 10.1 10.1
P = ppc64 - 10.5 SDK (only works on PPC Mac)
i = i386 10.4 10.4
x = x86_64 10.6 10.6
a = arm64 11 11
- for 10.1 to 10.3 : use GCC 3.3 and the oldest SDK.
- for 10.4 Xcode 2.2.x or 2.3, use GCC 4.0 and 10.4 SDK (not 10.4u).
- for 10.4 Xcode 2.4 or later, define KPI_10_4_0_PPC_COMPAT for PPC architecture, use 10.4u SDK for both PowerPC and Intel.
- for ppc64 user, 10.5 SDK has 64 bit libraries.
# darwin doesn't work from ppc userspace because AppleACPIPlatformExpert user client doesn't support cross endian.
# darwin doesn't work with ppc kernel since ppc doesn't have ACPI and doesn't use AppleACPIPlatformExpert.
# intel-conf1 method only supports registers 00-FF.
# both darwin3 and intel-conf1 require DirectHW.kext.
# darwin3 requires joevt/directhw.
# ppc userspace requires joevt/directhw.
# darwin and darwin2 require boot-args to contain "debug=".
# all require administrator rights.
# darwin2 requires OS X 10.10 or later.
# darwin2 panics in OS X 10.13 if boot-args does not contain "debug=".
# darwin and darwin2 don't seem to work in OS X 10.11; instead, use Darwin3 or intel-conf1 with DirectHW.kext.
-
On Power Macintosh G4/1.42 DP under Panther works without problems.
So far I have only tested Logic Pro 6.
Thank you very much for your work!
-
tested on protools 6.41 on osx 10.3 .. Epic plugins work! great job! (I would have also liked to try Logic 6.4.1 OSX but on Host there is a 6.4.1 disk image that I was unable to open...
-
Works great, 6.4.1 on Powerbook 867MHz 12 inches, Tiger 10.4.11
Thank you! Great job!
-
@ssp3
I think when using 10.10+ one can just use Logic 8 and don't need any dongle emulator...
The EPIC plugins and SoundDiver are PPC only anyway
@joevt
Thanks for the table. I will save that for future reference :)
@redstudio
Since I have no ProTools hardware I couldn't test the plugins.
Thanks for the info!
-
Amazing stuff! Thank you so much!
Is Logic Node working this way too? Will try asap.
-
@ssp3
I think when using 10.10+ one can just use Logic 8 and don't need any dongle emulator...
The EPIC plugins and SoundDiver are PPC only anyway
@joevt
Thanks for the table. I will save that for future reference :)
@redstudio
Since I have no ProTools hardware I couldn't test the plugins.
Thanks for the info!
what hardware do you need? ill send you
-
what hardware do you need? ill send you
Thanks for the offer, but I don't really have a use for a ProTools system.
In this case it would have just been testing if the plugin loads...
-
if you ever wanna go after other dongles like prosoniq sonicWORX, cubase score/audio v1, emagic notator/logic, waves v2, let me know
-
I decided to upload the emulator to the garden, so it is public for everyone now!