Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: [1]   Go Down

Author Topic: XSKey Emulator for OS X  (Read 301 times)

Windoze

  • 32 MB
  • ***
  • Posts: 44
XSKey Emulator for OS X
« 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.
Logged

ssp3

  • 512 MB
  • *****
  • Posts: 930
Re: XSKey Emulator for OS X
« Reply #1 on: January 12, 2025, 10:36:59 AM »

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: [Select]
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
« Last Edit: January 12, 2025, 05:26:44 PM by ssp3 »
Logged
If you're not part of the solution, you're part of the problem.

Knezzen

  • Staff Member
  • 1024 MB
  • ******
  • Posts: 1275
  • Pro Tools Addict!
    • Macintosh Garden
Re: XSKey Emulator for OS X
« Reply #2 on: January 12, 2025, 11:30:03 AM »

Wonderful! I'll give it a go right away :)
Logged
Pro Tools addict and staff member at Mac OS 9 Lives!, System 7 Today and Macintosh Garden.

IIO

  • Staff Member
  • 4096 MB
  • *******
  • Posts: 4683
  • just a number
Re: XSKey Emulator for OS X
« Reply #3 on: January 12, 2025, 02:25:50 PM »

you posted in public section and everyone knows what people will do. ;)

but luckily you use version numbers.
Logged
insert arbitrary signature here

joevt

  • 64 MB
  • ****
  • Posts: 106
  • New Member
Re: XSKey Emulator for OS X
« Reply #4 on: January 12, 2025, 03:44:51 PM »

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.

Code: [Select]
# 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.
Logged

AtariMan

  • 64 MB
  • ****
  • Posts: 108
Re: XSKey Emulator for OS X
« Reply #5 on: January 12, 2025, 07:23:25 PM »

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!
Logged
Pro Tools TDM 5.1.1

redstudio

  • 64 MB
  • ****
  • Posts: 127
  • New Member
Re: XSKey Emulator for OS X
« Reply #6 on: January 13, 2025, 03:02:02 AM »

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...
Logged

ivanshpak

  • 64 MB
  • ****
  • Posts: 81
  • New Member
Re: XSKey Emulator for OS X
« Reply #7 on: January 13, 2025, 01:23:43 PM »

Works great, 6.4.1 on Powerbook 867MHz 12 inches, Tiger 10.4.11

Thank you! Great job!
Logged

Windoze

  • 32 MB
  • ***
  • Posts: 44
Re: XSKey Emulator for OS X
« Reply #8 on: Yesterday at 10:03:13 AM »

@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!
Logged

cyberish

  • 128 MB
  • ****
  • Posts: 135
  • new to the forums
Re: XSKey Emulator for OS X
« Reply #9 on: Yesterday at 01:18:42 PM »

Amazing stuff! Thank you so much!
Is Logic Node working this way too? Will try asap.

Logged

smilesdavis

  • Moderator
  • 512 MB
  • *****
  • Posts: 1002
  • ...
Re: XSKey Emulator for OS X
« Reply #10 on: Yesterday at 02:21:42 PM »

@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
Logged
...

Windoze

  • 32 MB
  • ***
  • Posts: 44
Re: XSKey Emulator for OS X
« Reply #11 on: Today at 04:34:51 AM »

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...
Logged
Pages: [1]   Go Up

Recent Topics