Author Topic: Device Driver development for Mac OS 9  (Read 745 times)

Offline retpolanne

  • Newcomer
  • *
  • Posts: 3
  • New Member
Device Driver development for Mac OS 9
« on: February 25, 2024, 08:49:40 AM »
Hey there! So, I recently watched a video from Gaming Historian about the Virtual Game Station [1] and I decided to give it a try. It works very well on Mac OS 9, but I lack a usb controller that's compatible. So, I was thinking about coding my own driver for the PS3 sixaxis controller!

There's this doc on [2] that shows us the headers for drivers, [3] a driver written in assembly for old world Macs and [4] a driver apparently written in lisp?

So, I don't have that much experience with coding on the OS 9, so I was wondering if anyone could provide me some guidance on where to start and how to set up my env.

Thanks!

# References

[1] https://www.youtube.com/watch?v=UGHul1PrXCEa

[2] https://dev.os9.ca/techpubs/mac/Devices/Devices-14.html#HEADING14-0

[3] https://github.com/jsdf/pce/blob/46c3ecb36b717fe2f44b36d5ebb44f3c513abf39/src/arch/macplus/pcex/pcex.S

[4] https://github.com/binghe/MCL/blob/97c9da028fc1a168fb33cd8472c8bf330d651507/lib/sysequ.lisp#L1149

Offline joevt

  • Enthusiast Member
  • ***
  • Posts: 71
  • New Member
Re: Device Driver development for Mac OS 9
« Reply #1 on: February 25, 2024, 04:52:23 PM »
I don't think you want a device driver for a USB device.
[3] is a DRVR driver for an emulated storage device? DRVR drivers are 68K.
[4] is more disk driver stuff. Just a bunch of low memory globals equates. It's a lisp binding for classic Mac OS API. Like how Apple has headers for 68K assembly, Pascal, and C.

Is the PS3 sixaxis a HID class USB device? Test that by connecting it to a Mac. Use USB Prober.app to dump info about the device. It will list interfaces of the USB device. If the USB device supports HID, then it will also have a HID descriptor. There's versions of USB Prober that work with Tiger to Monterey and probably beyond.

What does Virtual Game Station require for an input device? I think HID should be sufficient, unless they chose proprietary devices. Does it support any ADB devices? ADB devices are not HID. I suppose one could make a HID driver for an ADB device - I've done that for Mac OS X - not sure if that's possible for Mac OS 9.

There's a USB DDK for Mac OS 9 (1.5.5f1, 1.5.9f1). It also contains a classic version of USB Prober.

Since Virtual Game Station is PowerPC only, and USB doesn't exist for 68K Macs, you probably want your driver to be PowerPC also.

Offline retpolanne

  • Newcomer
  • *
  • Posts: 3
  • New Member
Re: Device Driver development for Mac OS 9
« Reply #2 on: February 26, 2024, 07:31:22 AM »
> Is the PS3 sixaxis a HID class USB device? Test that by connecting it to a Mac. Use USB Prober.app to dump info about the device. It will list interfaces of the USB device. If the USB device supports HID, then it will also have a HID descriptor. There's versions of USB Prober that work with Tiger to Monterey and probably beyond.

I might be wrong or I might be crazy, but I think the DualSense (PS5 controller) have an HID descriptor?

> What does Virtual Game Station require for an input device? I think HID should be sufficient, unless they chose proprietary devices.

Same, I don't think it needs any proprietary drivers.

Offline retpolanne

  • Newcomer
  • *
  • Posts: 3
  • New Member
Re: Device Driver development for Mac OS 9
« Reply #3 on: February 26, 2024, 07:49:44 AM »
This is... unexpected. The PS5 controller works on Mac OS 9!!!! LOL

At least it shows up on USB Overdrive, not working on VGS... yet.

Offline IIO

  • Platinum Member
  • *****
  • Posts: 4446
  • just a number
Re: Device Driver development for Mac OS 9
« Reply #4 on: February 27, 2024, 07:00:41 AM »
after it´ll work with your games, pls use it in some other apps of our choice and let us know.
insert arbitrary signature here