GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

Meow_2004 wrote:Hello! Couple of Things that I will try for the following:

DP2: Look at Page 59 for this error, @alex195812 I'll try your build, and try -M g3beige or whatever it's called
DP3: Will use 10.0's Disk Utility to format the disk, and try to install again.
DP4: Will try commands from previous posts
PB: Will try to find something to make it work.
To try my builds you have to be on Mac OS X,not Windows,remember?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

@alex195812: If you have your source code available, I might be able to provide a windows build.

Best,
Cat_7
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

Oh,it's nice to have Windows builds,too!Thanx!Here is the source: https://drive.google.com/open?id=0B69bs ... HAwSkRGZ1U
The latest ProgrammingKid cocoa file(if needed): http://www.mediafire.com/file/247u52aky ... file_3.zip
Openbios binary(Old World vga,screamer,sungem and Steven's patch to support DP1/Server boot):
https://drive.google.com/open?id=0B69bs ... mdIa2t0Um8 Breaks OS 9.0/9.04 boot(no fix yet).
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Here is a Windows build of that source:

http://www.open.ou.nl/hsp/downloads3/Wi ... 2-2017.zip

It contains:
-two qemu builds, one supporting gtk2 and sdl 1.2 and one supporting gtk2 and sdl 2.0
-the required openbios file
-dependencies
No qemu-img.exe or example batch file.

The cocoa GUI enhancements are of course only applicable to OSX builds.

All GUIs have issues: gtk doesn't track the mouse OK, and sdl can lead to an always on context menu. Best result when using the sdl2 build. Also remember to set program compatibility to Windows 7. You have been warned....

Best,
cat_7
Last edited by Cat_7 on Wed Feb 01, 2017 11:02 am, edited 1 time in total.
Reason: fixed download link
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

As I know that wine 2.0 supports 64-bit applications for OS X,I've tried (just for curiousity) the sdl20 build in wine 2.0-rc6(from https://www.wine-staging.com).Had to add qemu_vga.ndrv and efi-ne2k_pci.rom(symlink).Both gtk and sdl work(at least I managed to boot my Panther system).Works slower than on host,but resolutions and sound are present(though sound delays and echoes much longer than on host).Didn't try but from my experience with 32-bit wine-qemu combination,slirp networking should work,too.I wonder if mingw64 can install and work on 64-bit wine.In 32-bit wine mingw works.
Last edited by alex195812 on Wed Feb 01, 2017 2:33 pm, edited 2 times in total.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

ummmmmm, is it available for windows yet? or no?
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by darthnvader »

I may have found an issue, with ADB:

Code: Select all

 +-o mac-io@3  <class IOPCIDevice, registered, matched, active, busy 0, retain count 16>
    |       +-o Heathrow  <class Heathrow, registered, matched, active, busy 0, retain count 22>
    |         +-o via-cuda@16000  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 9>
    |         | +-o AppleVIA  <class AppleVIA, !registered, !matched, active, busy 0, retain count 5>
    |         |   +-o cuda  <class AppleVIADevice, registered, matched, active, busy 0, retain count 6>
    |         |     +-o AppleCuda  <class AppleCuda, registered, matched, active, busy 0, retain count 8>
    |         |       +-o IOCudaADBController  <class IOCudaADBController, !registered, !matched, active, busy 0, retain count 8>
    |         |         +-o 2-00@2  <class IOADBDevice, registered, matched, active, busy 0, retain count 6>
    |         |         | +-o AppleADBKeyboard  <class AppleADBKeyboard, registered, matched, active, busy 0, retain count 8>
    |         |         |   +-o IOHIDSystem  <class IOHIDSystem, registered, matched, active, busy 0, retain count 10>
    |         |         |   | +-o IOHIDUserClient  <class IOHIDUserClient, !registered, !matched, active, busy 0, retain count 5>
    |         |         |   | +-o IOHIDParamUserClient  <class IOHIDParamUserClient, !registered, !matched, active, busy 0, 
retain coun$
    |         |         |   +-o IOBSDConsole  <class IOBSDConsole, !registered, !matched, active, busy 0, retain count 5>
    |         |         |   +-o IOHIDKeyboardDevice  <class IOHIDKeyboardDevice, registered, matched, active, busy 0, retain 
count 6>
    |         |         |     +-o IOHIDLibUserClientIniter  <class IOHIDLibUserClientIniter, !registered, !matched, active, busy 
0, ret$
    |         |         +-o 3-00@3  <class IOADBDevice, registered, matched, active, busy 0, retain count 6>
    |         |           +-o AppleADBMouseType2  <class AppleADBMouseType2, registered, matched, active, busy 0, retain count 7>
    |         |             +-o IOHIDPointingDevice  <class IOHIDPointingDevice, registered, matched, active, busy 0, retain 
count 6>
    |         |             | +-o IOHIDLibUserClientIniter  <class IOHIDLibUserClientIniter, !registered, !matched, active, busy 
0, ret$
    |         |             +-o IOHIDSystem  <class IOHIDSystem, registered, matched, active, busy 0, retain count 10>
    |         |               +-o IOHIDUserClient  <class IOHIDUserClient, !registered, !matched, active, busy 0, retain count 5>
    |         |               +-o IOHIDParamUserClient  <class IOHIDParamUserClient, !registered, !matched, active, busy 0, 
retain coun$
    |         +-o adb  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 8>
    |         +-o keyboard@8  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 6>
    |         +-o power-mgt  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 7>
    |         +-o nvram@60000  <
Seems to me, we should be seeing mouse@9 under adb?

Should look something like:

Code: Select all

 +-o adb  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 8>
    |         +-o keyboard@8  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 6>
               +-o mouse@9  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 6>
Image
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

Would you please tell where from the code is?I cannot figure out myself.
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

Meow_2004 wrote:ummmmmm, is it available for windows yet? or no?
Yes,it is.See Cat_7's post above.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by darthnvader »

alex195812 wrote:Would you please tell where from the code is?I cannot figure out myself.
Alex, i'm not sure if you were replying to me, but it's an ioreg run from the command line in 10.3.9 under Qemu -M g3beige.

I thought I was on to something, but the IOReg from a Gossamer Class G3 /with ADB show the same thing, no mouse@.

Code: Select all

+-o via-cuda@16000  <class AppleMacIODevice>
    | |   |   | | {
    | |   |   | |   "AAPL,phandle" = <ff842748>
    | |   |   | |   "name" = <"via-cuda">
    | |   |   | |   "IOInterruptControllers" = ("IOPrimaryInterruptController")
    | |   |   | |   "reg" = <0001600000002000>
    | |   |   | |   "compatible" = <"via-cuda">
    | |   |   | |   "IOInterruptSpecifiers" = (<00000012>)
    | |   |   | |   "device_type" = <"cuda">
    | |   |   | |   "IODeviceMemory" = ("IOSubMemoryDescriptor is not serializable")
    | |   |   | |   "AAPL,interrupts" = <00000012>
    | |   |   | | }
    | |   |   | | 
    | |   |   | +-o AppleVIA  <class AppleVIA>
    | |   |   |   | {
    | |   |   |   |   "IONameMatch" = ("via-pmu","via-cuda")
    | |   |   |   |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |   |   |   "IOClass" = "AppleVIA"
    | |   |   |   |   "IOProviderClass" = "AppleMacIODevice"
    | |   |   |   |   "IOProbeScore" = 0
    | |   |   |   |   "CFBundleIdentifier" = "com.apple.driver.AppleVIA"
    | |   |   |   |   "IONameMatched" = "via-cuda"
    | |   |   |   |   "vectors" = (<00000000>,<00000001>,<00000002>,<00000003>,<00000004>,<00000005>,<00000006>)
    | |   |   |   | }
    | |   |   |   | 
    | |   |   |   +-o cuda  <class AppleVIADevice>
    | |   |   |     | {
    | |   |   |     |   "IOInterruptControllers" = ("VIAInterruptController","VIAInterruptController","VIAInterruptControlle$
    | |   |   |     |   "IOInterruptSpecifiers" = (<00000000>,<00000001>,<00000002>,<00000003>,<00000004>,<00000005>,<000000$
    | |   |   |     |   "name" = "cuda"
    | |   |   |     |   "IODeviceMemory" = ("IOSubMemoryDescriptor is not serializable")
    | |   |   |     | }
    | |   |   |     | 
    | |   |   |     +-o AppleCuda  <class AppleCuda>
    | |   |   |       | {
    | |   |   |       |   "IOProviderClass" = "AppleVIADevice"
    | |   |   |       |   "IONameMatch" = "cuda"
    | |   |   |       |   "IOProbeScore" = 0
    | |   |   |       |   "IONameMatched" = "cuda"
    | |   |   |       |   "IOClass" = "AppleCuda"
    | |   |   |       |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |   |       | }
    | |   |   |       | 
    | |   |   |       +-o IOCudaADBController  <class IOCudaADBController>
    | |   |   |         | {
    | |   |   |         | }
    | |   |   |         | 
    | |   |   |         +-o 2-05@2  <class IOADBDevice>
    | |   |   |         | | {
    | |   |   |         | |   "handler id" = 5
    | |   |   |         | |   "default handler id" = 5
    | |   |   |         | |   "default address" = 2
    | |   |   |         | |   "address" = 2
    | |   |   |         | | }
    | |   |   |         | | 
    | |   |   |         | +-o AppleADBKeyboard  <class AppleADBKeyboard>
    | |   |   |         |   | {
    | |   |   |         |   |   "HIDInterfaceID" = 2
    | |   |   |         |   |   "HIDKind" = 1
    | |   |   |         |   |   "IOProviderClass" = "IOADBDevice"
    | |   |   |         |   |   "IOProbeScore" = 1000
    | |   |   |         |   |   "CFBundleIdentifier" = "com.apple.driver.AppleADBKeyboard"
    | |   |   |         |   |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |   |         |   |   "IOClass" = "AppleADBKeyboard"
    | |   |   |         |   |   "HIDKeyMapping" = <00000800013901013802013b03013a040137051552414c535455455857565b5c434b517b7$
    | |   |   |         |   |   "ADBVirtualKeys" = "0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x$
    | |   |   |         |   |   "HIDSubinterfaceID" = 5
    | |   |   |         |   |   "ADB Match" = "2"
    | |   |   |         |   |   "PowerBook fn Foward Delete" = 1
    | |   |   |         |   | }
    | |   |   |         |   | 
    | |   |   |         |   +-o IOHIDSystem  <class IOHIDSystem>
    | |   |   |         |   | | {
    | |   |   |         |   | |   "HIDAutoDimTime" = <000000458c1572f9>
    | |   |   |         |   | |   "IOMatchCategory" = "IOHID"
    | |   |   |         |   | |   "IOClass" = "IOHIDSystem"
    | |   |   |         |   | |   "HIDParameters" = {"HIDStickyKeysDisabled"=<00000000>,"HIDKeyRepeat"=<0000000004f790d5>,"H$
    | |   |   |         |   | |   "HIDBrightness" = <00000040>
    | |   |   |         |   | |   "IOProviderClass" = "IOResources"
    | |   |   |         |   | |   "IOProbeScore" = 0
    | |   |   |         |   | |   "HIDAutoDimState" = <00000000>
    | |   |   |         |   | |   "CFBundleIdentifier" = "com.apple.iokit.IOHIDSystem"
    | |   |   |         |   | |   "IOResourceMatch" = "IOKit"
    | |   |   |         |   | |   "HIDIdleTime" = <000000004d4f4506>
    | |   |   |         |   | | }
    | |   |   |         |   | | 
    | |   |   |         |   | +-o IOHIDUserClient  <class IOHIDUserClient>
    | |   |   |         |   | |   {
    | |   |   |         |   | |   }
    | |   |   |         |   | |   
    | |   |   |         |   | +-o IOHIDParamUserClient  <class IOHIDParamUserClient>
    | |   |   |         |   |     {
    | |   |   |         |   |     }
    | |   |   |         |   |     
    | |   |   |         |   +-o IOBSDConsole  <class IOBSDConsole>
    | |   |   |         |       {
    | |   |   |         |         "IOProviderClass" = "IOResources"
    | |   |   |         |         "IOProbeScore" = 0
    | |   |   |         |         "IOMatchCategory" = "IOBSDConsole"
    | |   |   |         |         "CFBundleIdentifier" = "com.apple.iokit.IOHIDSystem"
    | |   |   |         |         "IOResourceMatch" = "IOBSD"
    | |   |   |         |         "IOClass" = "IOBSDConsole"
    | |   |   |         |       }
    | |   |   |         |       
    | |   |   |         +-o 3-01@3  <class IOADBDevice>
    | |   |   |         | | {
    | |   |   |         | |   "handler id" = 1
    | |   |   |         | |   "default handler id" = 1
    | |   |   |         | |   "default address" = 3
    | |   |   |         | |   "address" = 3
    | |   |   |         | | }
    | |   |   |         | | 
    | |   |   |         | +-o AppleADBMouseType4  <class AppleADBMouseType4>
    | |   |   |         |   | {
    | |   |   |         |   |   "HIDPointerAccelerationType" = "HIDMouseAcceleration"
    | |   |   |         |   |   "HIDInterfaceID" = 2
    | |   |   |         |   |   "JitterNoClick" = 1
    | |   |   |         |   |   "IOPersonalityName" = "AppleADBMouseType4"
    | |   |   |         |   |   "accltpad" = <0000b0007470616400070000000000010001000000010000000020000005000123c60001000000$
    | |   |   |         |   |   "Trackpad Jitter Max delta" = 16
    | |   |   |         |   |   "HIDPointerContactToMove" = <00000000>
    | |   |   |         |   |   "IOProviderClass" = "IOADBDevice"
    | |   |   |         |   |   "CFBundleIdentifier" = "com.apple.driver.AppleADBMouse"
    | |   |   |         |   |   "HIDKind" = 2
    | |   |   |         |   |   "HIDPointerAccelerationSettings" = (<00000000>,<00002000>,<00005000>,<00008000>,<0000b000>,<$
    | |   |   |         |   |   "HIDPointerResolution" = <00c80000>
    | |   |   |         |   |   "JitterNoMove" = 0
    | |   |   |         |   |   "HIDPointerConvertAbsolute" = <00000000>
    | |   |   |         |   |   "IOClass" = "AppleADBMouseType4"
    | |   |   |         |   |   "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |   |         |   |   "IOProbeScore" = 20000
    | |   |   |         |   |   "acclAAPL" = <0000800040323030000200000000000100010000000100000001000000090000713b0000600000$
    | |   |   |         |   |   "HIDSubinterfaceID" = 4
    | |   |   |         |   |   "ParentKey" = "KEXTBundle?com.apple.driver.AppleADBMouse"
    | |   |   |         |   |   "ADB Match" = "3-01"
    | |   |   |         |   |   "Trackpad Jitter Milliseconds" = 750
    | |   |   |         |   | }
    | |   |   |         |   | 
    | |   |   |         |   +-o IOHIDSystem  <class IOHIDSystem>
    | |   |   |         |     | {
    | |   |   |         |     |   "HIDAutoDimTime" = <000000458af98799>
    | |   |   |         |     |   "IOMatchCategory" = "IOHID"
    | |   |   |         |     |   "IOClass" = "IOHIDSystem"
    | |   |   |         |     |   "HIDParameters" = {"HIDStickyKeysDisabled"=<00000000>,"HIDKeyRepeat"=<0000000004f790d5>,"H$
    | |   |   |         |     |   "HIDBrightness" = <00000040>
    | |   |   |         |     |   "IOProviderClass" = "IOResources"
    | |   |   |         |     |   "IOProbeScore" = 0
    | |   |   |         |     |   "HIDAutoDimState" = <00000000>
    | |   |   |         |     |   "CFBundleIdentifier" = "com.apple.iokit.IOHIDSystem"
    | |   |   |         |     |   "IOResourceMatch" = "IOKit"
    | |   |   |         |     |   "HIDIdleTime" = <000000004e6b3066>
    | |   |   |         |     | }
    | |   |   |         |     | 
    | |   |   |         |     +-o IOHIDUserClient  <class IOHIDUserClient>
    | |   |   |         |     |   {
    | |   |   |         |     |   }
    | |   |   |         |     |   
    | |   |   |         |     +-o IOHIDParamUserClient  <class IOHIDParamUserClient>
    | |   |   |         |         {
    | |   |   |         |         }
    | |   |   |         |         
    | |   |   |         +-o e-c0@e  <class IOADBDevice>
    | |   |   |           | {
    | |   |   |           |   "handler id" = 192
    | |   |   |           |   "default handler id" = 192
    | |   |   |           |   "default address" = 14
    | |   |   |           |   "address" = 14
    | |   |   |           | }
    | |   |   |           | 
    | |   |   |           +-o AppleADBDisplay  <class AppleADBDisplay>
    | |   |   |               {
    | |   |   |                 "IOClass" = "AppleADBDisplay"
    | |   |   |                 "IOPersonalityName" = "AppleADBDisplay"
    | |   |   |                 "IOProviderClass" = "IOADBDevice"
    | |   |   |                 "modes850" = <000000dc0000008c0000009a0000009e000000aa000000d2000000d0000000fa00000106000001$
    | |   |   |                 "CFBundleIdentifier" = "com.apple.driver.AppleADBDisplay"
    | |   |   |                 "modes750" = <000000dc0000008c000000aa000000d2000000fa0000010600000118>
    | |   |   |                 "modesStudio" = <000000d20000008c000000aa>
    | |   |   |                 "ADB Match" = "*-c0"
    | |   |   |                 "adb4Modes" = "modes850"
    | |   |   |                 "IOMatchCategory" = "IODefaultMatchCategory"
    | |   |   |                 "IOProbeScore" = 2000
    | |   |   |                 "adb1Modes" = "modes750"
    | |   |   |                 "adb2Modes" = "modes750"
    | |   |   |                 "adb3Modes" = "modes850"
    | |   |   |                 "ParentKey" = "KEXTBundle?com.apple.driver.AppleADBDisplay"
    | |   |   |                 "adb5Modes" = "modes750"
    | |   |   |                 "adb6Modes" = "modesStudio"
    | |   |   |               }
    | |   |   |               
    | |   |   +-o adb@0,0  <class AppleMacIODevice>
    | |   |   |   {
    | |   |   |     "AAPL,phandle" = <ff843628>
    | |   |   |     "AAPL,connector" = <"adb">
    | |   |   |     "device_type" = <"adb">
    | |   |   |     "name" = <"adb">
    | |   |   |     "compatible" = <"adb">
    | |   |   |   }
    | |   |   |   
    | |   |   +-o keyboard@0,0  <class AppleMacIODevice>
    | |   |   |   {
    | |   |   |     "reg" = <000000000000000000000000>
    | |   |   |     "AAPL,phandle" = <ff843740>
    | |   |   |     "device_type" = <"keyboard">
    | |   |   |     "name" = <"keyboard">
    | |   |   |     "IODeviceMemory" = ("IOGeneralMemoryDescriptor is not serializable")
    | |   |   |   }
    | |   |   |   
    | |   |   +-o power-mgt@0,0  <class AppleMacIODevice>
    | |   |       {
    | |   |         "reg" = <000000000000000000000000>
    | |   |         "AAPL,phandle" = <ff8448a0>
    | |   |         "device_type" = <"power-mgt">
    | |   |         "name" = <"power-mgt">
    | |   |         "IODeviceMemory" = ("IOGeneralMemoryDescriptor is not serializable")
    | |   |         "compatible" = <"power-mgt">
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

I see it there:

Code: Select all

| |   |   |         | +-o AppleADBMouseType4  <class AppleADBMouseType4>
    | |   |   |         |   | {
    | |   |   |         |   |   "HIDPointerAccelerationType" = "HIDMouseAcceleration"
    | |   |   |         |   |   "HIDInterfaceID" = 2
    | |   |   |         |   |   "JitterNoClick" = 1
    | |   |   |         |   |   "IOPersonalityName" = "AppleADBMouseType4"
And in the first ioreg list:

Code: Select all

0, ret$
    |         |         +-o 3-00@3  <class IOADBDevice, registered, matched, active, busy 0, retain count 6>
    |         |           +-o AppleADBMouseType2  <class AppleADBMouseType2, registered, matched, active, busy 0, retain count 7>
    |         |             +-o IOHIDPointingDevice  <class IOHIDPointingDevice, registered, matched, active, busy 0, retain
count 6>
And anyway,the mouse actually works in 10.3.9,doesn't it?
By the way,adb mouse doesn't work in DP1,Leopard(in later adb-kbd doesn't work,too) and works "crazy" in OS 9.For Leopard,ozbenh made the fixes,but they are tied with new mac99p profile.His changes are present in August Cat_7's build,but are missing in mine.ozbenh repo is here: https://github.com/ozbenh/qemu If it were possible to "extact" adb-related changes and to apply them to mac99/g3beige,then,maybe...
Last edited by alex195812 on Wed Feb 01, 2017 4:05 pm, edited 1 time in total.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by darthnvader »

alex195812 wrote:I see it there:

Code: Select all

| |   |   |         | +-o AppleADBMouseType4  <class AppleADBMouseType4>
    | |   |   |         |   | {
    | |   |   |         |   |   "HIDPointerAccelerationType" = "HIDMouseAcceleration"
    | |   |   |         |   |   "HIDInterfaceID" = 2
    | |   |   |         |   |   "JitterNoClick" = 1
    | |   |   |         |   |   "IOPersonalityName" = "AppleADBMouseType4"
And in the first ioreg list:

Code: Select all

0, ret$
    |         |         +-o 3-00@3  <class IOADBDevice, registered, matched, active, busy 0, retain count 6>
    |         |           +-o AppleADBMouseType2  <class AppleADBMouseType2, registered, matched, active, busy 0, retain count 7>
    |         |             +-o IOHIDPointingDevice  <class IOHIDPointingDevice, registered, matched, active, busy 0, retain
count 6>
And anyway,the mouse actually works in 10.3.9,doesn't it?
Yes, it works fine, I was trying to track down why it doesn't work in OS X Sever 1.x.

Look under +-o adb:

Code: Select all

 +-o adb  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 8>
    |         +-o keyboard@8  <class AppleMacIODevice, registered, matched, active, busy 0, retain count 6>
Then look at the Open Firmware device tree, from my picture, mouse@9 should be in the IOReg too, because it exists in the device tree of Open Firmware, but OS X must destroy that entry when it loads the Kernel, likely because ADB keyboards have a ADB port on them for the mouse.

Doesn't really matter, if the IOreg from a real mac doesn't have it, as I posted about the Gossamer class, then I was just leading us down a dead end anyway. However, the Gossamer class IOReg keyboard@0, not keybord@8, so there maybe something to that.

I'm trying to track down, in Qemu's source code, where this is set, if it is hard coded in the source code, I'd like to try and change it, so the keyboard is @0,0 not @9, but I'm not sure it matters.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by darthnvader »

I made a little hack to the Qemu source code, so no adb kbd/m was in the device tree:

Image

But, when I boot Server, it still registers an adb kbd/m

Image

So, either BootX, or the Kernel is hardcoded to create this in the device tree, so it may not be unreasonable to expect that these devices need to be @0,0, rather than @9.

I can't find anywhere in the Qemu source code that hardcodes these devices to be @9( kbd ) and @8( mouse ), but that doesn't mean it isn't there, I may have just not found it yet.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

I seem to recall that the mouse and keyboard are hardcoded into the kernel. BootX allows an override, which is what allows for USB interfaces to connect, but the kernel is looking for ADB at a specific location. I remember getting really confused about this when I was adding multiple mice and assigning them via OpenFirmware didn't seem to make any difference once the kernel loaded. Your investigations appear to bear this out.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

How do you set compatibility mode to Windows 7? For alex195812's build
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by steventroughtonsmith »

darthnvader wrote:I made a little hack to the Qemu source code, so no adb kbd/m was in the device tree:

Image

But, when I boot Server, it still registers an adb kbd/m

Image

So, either BootX, or the Kernel is hardcoded to create this in the device tree, so it may not be unreasonable to expect that these devices need to be @0,0, rather than @9.

I can't find anywhere in the Qemu source code that hardcodes these devices to be @9( kbd ) and @8( mouse ), but that doesn't mean it isn't there, I may have just not found it yet.
I am not the right person to be trying to explain this, but it looks like CUDA (timing perhaps?) is responsible for the keyboard/mouse not working. Figuring this out requires a deep dive into the roughly contemporary kernel source http://vpsland.superglobalmegacorp.com/ ... 0.3.tar.gz and knowledge of a lot of low level CUDA specifics and how to debug them in qemu. You'll want to be recompiling qemu and probably openbios with a bunch of extra logging added just to get a start at this.

mach remaps all the adb devices at boot, so the IDs shouldn't matter. From what I can see, adb absolutely is functioning to some extent, but the emulation may not be correct enough for this version of mach in Server 1.x to accept it.

Extra eyes would surely be appreciated, but know going in that this doesn't seem like it's a trivial fix. There's been an off-forum discussion going on about this for the last couple weeks as we try and upstream changes to openbios :smile:
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

How do I set compatibility mode to Windows 7, using alex's build?
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

right click qemu program -> properties -> compatibility -> check "run this program in compatibility mode for" and select Windows 7. Click OK.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

Thanks! Will try these out on Saturday!
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

steventroughtonsmith wrote:
darthnvader wrote: Extra eyes would surely be appreciated, but know going in that this doesn't seem like it's a trivial fix. There's been an off-forum discussion going on about this for the last couple weeks as we try and upstream changes to openbios :smile:
Could you please point to the place where the discussion is going on?
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

Wow.

1 word to say on how much progress QEMU has been going through for the past few years.
We can run pretty much almost anything from QEMU, which is really cool.
I just wanna say Thank You for making QEMU better, and to making these OS's work
steventroughtonsmith
Student Driver
Posts: 20
Joined: Fri Jan 06, 2017 10:02 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by steventroughtonsmith »

alex195812 wrote:
steventroughtonsmith wrote:
darthnvader wrote: Extra eyes would surely be appreciated, but know going in that this doesn't seem like it's a trivial fix. There's been an off-forum discussion going on about this for the last couple weeks as we try and upstream changes to openbios :smile:
Could you please point to the place where the discussion is going on?
e-mail :lol:
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

Quick Question:

You can boot server, but the only problem is the mouse and keyboard, right?
alex195812
Mac Mechanic
Posts: 169
Joined: Mon Aug 29, 2016 3:44 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by alex195812 »

Yes,it is.A tough problem for now.
User avatar
Meow_2004
Granny Smith
Posts: 108
Joined: Thu Jan 05, 2017 6:24 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Meow_2004 »

Ohhhhhhhh, cool. :)

Today you can now boot:

DP1(?)
DP2
DP3
DP4
Public Beta
Server 1.0, (kind of, mouse and keyboard don't work)
10.0
10.1
10.2
10.3
10.4(?)
10.5 (with mac99p)

(?) means maybe
Post Reply