Preferences manager for OSX

About BasiliskII, a 68k Mac emulator for Windows, MacOSX, and Linux that can run System 7.x through MacOS 8.1.

Moderators: Cat_7, Ronald P. Regensburg

User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

Hello,

Renegade, I think you must have tried the build 1, this bug was reported by emendelson some days ago and fixed in build 2.

I just finished build 3, which adds support for SheepShaver! It also adds an option to import the default prefs files. A few keys will be ignored, they are reported in the logs. If you want some more detailed keys to be there, let me know.

Also, emendelson's suggestion of an inline button is implemented.

Please find it here:

https://github.com/sentient06/Medusa/re ... g/v1.2.0b3

Remember these are betas, so compatibility between them is limited. I noticed issues when updating between different builds of the same version (1.2b1 to 1.2b3, for example). So I'd suggest you clean all files generated by Medusa. They are the following:

Preferences file:
~/Library/Preferences/Giancarlo-Mariot.Medusa.plist
Core-data files dir:
~/Library/Medusa
Application support dir:
~/Library/Application Support/Medusa

If you have any suggestions for improvement, specially when it comes to missing preference keys, please let me know.

By the way, I tried, to the best of my knowledge, to document all SheepShaver preferences here:

https://github.com/sentient06/Medusa/wi ... X-and-Unix

If you have more details to share, I will be happy to update this page. Please feel free to use the content anywhere you want.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Preferences manager for OSX

Post by adespoton »

I should send you one of my PearPC bundles so you can add support for that too :D
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

adespoton wrote:I should send you one of my PearPC bundles so you can add support for that too :D
Hey, I actually thought of that! :mrgreen:

Thing is, I don't like Basilisk II and SheepShaver messing my environment and creating invisible files everywhere (Linux-like) and I really hate those multi-platform ugly GUIs that pretty much just write a text file. So I decided to do this app to leave everything tidy.

I considered supporting PearPC, Mini vMac, QEMU and Shoebill, but Mini vMac has it's own sort of "philosophy" of how it should work and I'll just leave it be. Although PearPC could fit in this project, maybe I should start a new project for PearPC and QEMU and leave Medusa alone. Shoebill is not mature yet, I guess I'll wait and see.

For the moment I will leave these GUI projects and focus on improving my knowledge of emulation in general and try to help with the emulators when I am able. Too many projects are stuck out there.
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

I can't seem to get Medusa to work; I can't add ANY of my ROMs to the "Assets Manager" or the VMs. Am I missing some configuration somewhere? I'm using Medusa 1.2.0b3 on OS X Yosemite 10.10

Image

Image
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Preferences manager for OSX

Post by Ronald P. Regensburg »

Did you use the "+" button to add ROM files to the list?
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

Ronald P. Regensburg wrote:Did you use the "+" button to add ROM files to the list?
Yes, I tried the "+", I tried dragging and dropping. I even tried to force open a rom file by extension association in info properties of the .ROM files. I tried everything I know. Has anyone else gotten this to work on Yosemite? I'd like to know so I can narrow it down to if it's just a problem with Yosemite, or my specific machine and configuration.

Box comes on to select ROMs after clicking "+" but list is still blank after making a selection, and list under the VM is blank as well.
Image
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

Hello,

I never tested in Yosemite.. that looks bad..

I was thinking at least the button should work fine; probably something changed in Yosemite that prevents the file to be added.

I'll look into it, no panic!

Thanks for the feedback!
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

Renegade, please update to build 3. This bug was already fixed.

Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?

In case you don't know how, you will probably find the application called "Console" in the "/Applications/Utilities" directory.
Open it, click on "clear display" and execute Medusa.

There are always some messages there to help debugging.

Image

Oh yes, to copy the log lines, use the menu Edit > Copy. Plain right-click doesn't work.
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

sentient06 wrote:Renegade, please update to build 3. This bug was already fixed.

Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?

In case you don't know how, you will probably find the application called "Console" in the "/Applications/Utilities" directory.
Open it, click on "clear display" and execute Medusa.

There are always some messages there to help debugging.

Image

Oh yes, to copy the log lines, use the menu Edit > Copy. Plain right-click doesn't work.
Sorry it took so long to reply; I guess I didn't have a subscription to this thread so I didn't know you had posted here. Anyways... I did as you instructed and below are the results:

Code: Select all

11/12/14 3:16:55.740 PM Medusa[6544]: Current Version of .xcdatamodeld file: 1.2.0.2
11/12/14 3:16:55.916 PM Medusa[6544]: You must specify the URL of the appcast as the SUFeedURLKey in either the Info.plist or the user defaults!
11/12/14 3:16:55.945 PM Medusa[6544]: (
	0   CoreFoundation                      0x00007fff9a35064c __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00007fff9aa446de objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff9a3504fd +[NSException raise:format:] + 205
	3   Sparkle                             0x00000001000b5b99 Sparkle + 11161
	4   Sparkle                             0x00000001000b5c6f Sparkle + 11375
	5   Sparkle                             0x00000001000b5531 Sparkle + 9521
	6   Foundation                          0x00007fff950a1023 __NSFireTimer + 95
	7   CoreFoundation                      0x00007fff9a2a3b44 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
	8   CoreFoundation                      0x00007fff9a2a37d3 __CFRunLoopDoTimer + 1059
	9   CoreFoundation                      0x00007fff9a316d9d __CFRunLoopDoTimers + 301
	10  CoreFoundation                      0x00007fff9a260268 __CFRunLoopRun + 2024
	11  CoreFoundation                      0x00007fff9a25f838 CFRunLoopRunSpecific + 296
	12  HIToolbox                           0x00007fff97c0343f RunCurrentEventLoopInMode + 235
	13  HIToolbox                           0x00007fff97c031ba ReceiveNextEventCommon + 431
	14  HIToolbox                           0x00007fff97c02ffb _BlockUntilNextEventMatchingListInModeWithFilter + 71
	15  AppKit                              0x00007fff8eda8821 _DPSNextEvent + 964
	16  AppKit                              0x00007fff8eda7fd0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
	17  AppKit                              0x00007fff8ed9bf73 -[NSApplication run] + 594
	18  AppKit                              0x00007fff8ed87424 NSApplicationMain + 1832
	19  Medusa                              0x00000001000011c4 start + 52
	20  ???                                 0x0000000000000001 0x0 + 1
)
11/12/14 3:16:56.166 PM sandboxd[6403]: ([429]) storeuid(429) deny mach-lookup com.apple.dock.server
11/12/14 3:17:19.508 PM Medusa[6544]: assertion failed: 14A389: libxpc.dylib + 97940 [9437C02E-A07B-38C8-91CB-299FAA63083D]: 0x89
11/12/14 3:17:42.909 PM Medusa[6544]: Selected files: (
    "file:///Users/ryan/Library/Application%20Support/Medusa/ROMs/QUADRA%20650.ROM"
)
11/12/14 3:17:42.909 PM Medusa[6544]: File did not pass validation for ROM.
11/12/14 3:18:24.256 PM Medusa[6544]: Selected files: (
    "file:///Applications/BasiliskII/PERFORMA.ROM"
)
11/12/14 3:18:24.256 PM Medusa[6544]: File did not pass validation for ROM.
I don't understand it saying that File did not pass validation for ROM because I use these exact ROMs with my Virtual Machines that run just fine. and I've gotten several of them from different sources.
but in particular it failed on the one that was recruited from Redundant Robot that is mentioned in the Guides.

Hope this helps, thank you for this wonderful creation. :)
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Preferences manager for OSX

Post by emendelson »

sentient06 wrote:Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?
Medusa seems to work perfectly under OS X 10.10 Yosemite. I can't imagine what's wrong in Mac8a's system. Everything works correctly here.
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

emendelson wrote:
sentient06 wrote:Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?
Medusa seems to work perfectly under OS X 10.10 Yosemite. I can't imagine what's wrong in Mac8a's system. Everything works correctly here.
That's both encouraging and discouraging, lol.
I'm glad to know it's working in Yosemite, I'm sad to learn that it doesn't work on my specific machine. I wish I knew the differences in setup that may be causing this discrepancy. Did you have to do any extra steps or change any configuration files? Do the ROMs have to be renamed to "Mac OS ROM"? I don't know if it matters, but I also installed the beta test of Mac ROMan also from sentient06
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Preferences manager for OSX

Post by emendelson »

Mac8a wrote:
emendelson wrote:
sentient06 wrote:Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?
Medusa seems to work perfectly under OS X 10.10 Yosemite. I can't imagine what's wrong in Mac8a's system. Everything works correctly here.
That's both encouraging and discouraging, lol.
I'm glad to know it's working in Yosemite, I'm sad to learn that it doesn't work on my specific machine. I wish I knew the differences in setup that may be causing this discrepancy. Did you have to do any extra steps or change any configuration files? Do the ROMs have to be renamed to "Mac OS ROM"? I don't know if it matters, but I also installed the beta test of Mac ROMan also from sentient06
No special setup. No renaming. I just downloaded it and it worked.
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

emendelson wrote:
Mac8a wrote:
emendelson wrote:
Medusa seems to work perfectly under OS X 10.10 Yosemite. I can't imagine what's wrong in Mac8a's system. Everything works correctly here.
That's both encouraging and discouraging, lol.
I'm glad to know it's working in Yosemite, I'm sad to learn that it doesn't work on my specific machine. I wish I knew the differences in setup that may be causing this discrepancy. Did you have to do any extra steps or change any configuration files? Do the ROMs have to be renamed to "Mac OS ROM"? I don't know if it matters, but I also installed the beta test of Mac ROMan also from sentient06
No special setup. No renaming. I just downloaded it and it worked.
What machine are you running? Are you on 64 bit or 32 bit?
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Preferences manager for OSX

Post by emendelson »

Mac8a wrote: What machine are you running? Are you on 64 bit or 32 bit?
MacBook Air 2012. Yosemite only runs 64-bit, I believe.
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

emendelson wrote:
Mac8a wrote: What machine are you running? Are you on 64 bit or 32 bit?
MacBook Air 2012. Yosemite only runs 64-bit, I believe.
My MacBook Air is one year behind yours. While Yosemite runs in 64-bit, apps can be 32-bit or set to run in 32-bit; AFAIK SheepSaver and BasiliskII are set to run in 32-bit mode by default. And from Mavericks onward seem to break if ran in 64-bit; you can tell this by right clicking one of the two mentioned apps (like SheepShaver) and clicking "Get Info" You'll notice a box ticked "Open in 32-bit mode"
Mac8a
Student Driver
Posts: 19
Joined: Sun Nov 09, 2014 2:20 pm

Re: Preferences manager for OSX

Post by Mac8a »

Mac8a wrote:
sentient06 wrote:Renegade, please update to build 3. This bug was already fixed.

Mac8a, it will take some time for me to get an updated OSX to test it properly, could you please check the logs?

In case you don't know how, you will probably find the application called "Console" in the "/Applications/Utilities" directory.
Open it, click on "clear display" and execute Medusa.

There are always some messages there to help debugging.

Image

Oh yes, to copy the log lines, use the menu Edit > Copy. Plain right-click doesn't work.
Sorry it took so long to reply; I guess I didn't have a subscription to this thread so I didn't know you had posted here. Anyways... I did as you instructed and below are the results:

Code: Select all

11/12/14 3:16:55.740 PM Medusa[6544]: Current Version of .xcdatamodeld file: 1.2.0.2
11/12/14 3:16:55.916 PM Medusa[6544]: You must specify the URL of the appcast as the SUFeedURLKey in either the Info.plist or the user defaults!
11/12/14 3:16:55.945 PM Medusa[6544]: (
	0   CoreFoundation                      0x00007fff9a35064c __exceptionPreprocess + 172
	1   libobjc.A.dylib                     0x00007fff9aa446de objc_exception_throw + 43
	2   CoreFoundation                      0x00007fff9a3504fd +[NSException raise:format:] + 205
	3   Sparkle                             0x00000001000b5b99 Sparkle + 11161
	4   Sparkle                             0x00000001000b5c6f Sparkle + 11375
	5   Sparkle                             0x00000001000b5531 Sparkle + 9521
	6   Foundation                          0x00007fff950a1023 __NSFireTimer + 95
	7   CoreFoundation                      0x00007fff9a2a3b44 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
	8   CoreFoundation                      0x00007fff9a2a37d3 __CFRunLoopDoTimer + 1059
	9   CoreFoundation                      0x00007fff9a316d9d __CFRunLoopDoTimers + 301
	10  CoreFoundation                      0x00007fff9a260268 __CFRunLoopRun + 2024
	11  CoreFoundation                      0x00007fff9a25f838 CFRunLoopRunSpecific + 296
	12  HIToolbox                           0x00007fff97c0343f RunCurrentEventLoopInMode + 235
	13  HIToolbox                           0x00007fff97c031ba ReceiveNextEventCommon + 431
	14  HIToolbox                           0x00007fff97c02ffb _BlockUntilNextEventMatchingListInModeWithFilter + 71
	15  AppKit                              0x00007fff8eda8821 _DPSNextEvent + 964
	16  AppKit                              0x00007fff8eda7fd0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
	17  AppKit                              0x00007fff8ed9bf73 -[NSApplication run] + 594
	18  AppKit                              0x00007fff8ed87424 NSApplicationMain + 1832
	19  Medusa                              0x00000001000011c4 start + 52
	20  ???                                 0x0000000000000001 0x0 + 1
)
11/12/14 3:16:56.166 PM sandboxd[6403]: ([429]) storeuid(429) deny mach-lookup com.apple.dock.server
11/12/14 3:17:19.508 PM Medusa[6544]: assertion failed: 14A389: libxpc.dylib + 97940 [9437C02E-A07B-38C8-91CB-299FAA63083D]: 0x89
11/12/14 3:17:42.909 PM Medusa[6544]: Selected files: (
    "file:///Users/ryan/Library/Application%20Support/Medusa/ROMs/QUADRA%20650.ROM"
)
11/12/14 3:17:42.909 PM Medusa[6544]: File did not pass validation for ROM.
11/12/14 3:18:24.256 PM Medusa[6544]: Selected files: (
    "file:///Applications/BasiliskII/PERFORMA.ROM"
)
11/12/14 3:18:24.256 PM Medusa[6544]: File did not pass validation for ROM.
I don't understand it saying that File did not pass validation for ROM because I use these exact ROMs with my Virtual Machines that run just fine. and I've gotten several of them from different sources.
but in particular it failed on the one that was recruited from Redundant Robot that is mentioned in the Guides.

Hope this helps, thank you for this wonderful creation. :)
@emendelson what does your Console look like? I've tried deleting and removing all traces of Medusa, reboot and attempted to reinstall, only to encounter the same results. Do you have any ideas or suggestions as to what could be the culprit causing the problem?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Preferences manager for OSX

Post by Ronald P. Regensburg »

Mac8a wrote:And from Mavericks onward seem to break if ran in 64-bit;
SheepShaver runs fine in 64-bit mode in Mavericks, but not in Yosemite.

Just a thought about the problem with Medusa:
In a discussion elsewhere about unrelated software, it appeared that Apple changed the alias format in Yosemite and as a result that software could not resolve aliases anymore. Could that issue be related to the problem with Medusa in your setup?
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

Ronald P. Regensburg wrote:
Mac8a wrote:And from Mavericks onward seem to break if ran in 64-bit;
SheepShaver runs fine in 64-bit mode in Mavericks, but not in Yosemite.

Just a thought about the problem with Medusa:
In a discussion elsewhere about unrelated software, it appeared that Apple changed the alias format in Yosemite and as a result that software could not resolve aliases anymore. Could that issue be related to the problem with Medusa in your setup?
When one drags and drops a new item into Medusa, it first checks for the file type, then proceeds with file parsing operations and saves an alias into the core-data. The alias is done with a library called "Aliases.h" and is pretty much pure C. The output is pretty much binary data.

Indeed one of the methods used is deprecated (FSNewAlias). [Update: Actually, the whole library is being dropped! Damn Apple, giving me headaches.]

The fact that the error says the file is invalid doesn't mean the rom file is invalid, but maybe it could not parse it because the alias could not be resolved. I'll make a better output to avoid confusion.

So, I'll try updating this code and let's see how it goes from there. It will take some time, so please be patient.

Oh yes, Basilisk II's and SheepShaver's ability to run in Yosemite is not connected to Medusa. Medusa is a Cocoa application, it simply calls the emulators' binary file and watches the process until it is terminated. It should work just fine in both 32 and 64 bit.

If you reeeally want to try it before I fix, old versions of Medusa don't use aliases. I don't recall which is the last version, but should be 1.1b or something similar. Any downgrades require the user to delete the system files, I suggest using AppZapper.
MetalSnake
Granny Smith
Posts: 120
Joined: Fri Nov 09, 2007 5:42 pm

Re: Preferences manager for OSX

Post by MetalSnake »

I just tried to build Medusa. But there is a shellScript defined somewhere that wants to run ~/Library/MedusaBackup which I don't have.

Where can I get MedusaBackup or deactivate that shellScript?
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: Preferences manager for OSX

Post by sentient06 »

Gentlemen, I'm resurrecting this topic for a while because I have an almost-stable version ready to go.

It is slightly easier to use, there were four releases with bug fixes and some polishing and I think I have something to show now. Some requests were implemented, some were delayed, some new stuff came up (like defining disk type and now you can access the application's help documentation! =D )

If you'd like to take it for a spin, I am preparing a final bug-fixing release later this month, it would be awesome to see if I missed something.

https://github.com/sentient06/Medusa/wi ... re-history

https://github.com/sentient06/Medusa/re ... /v1.2.0rc5

Also, as always, if you have suggestions, requests and ideas, drop me a message and I will see what can be done.

I know there are two big bugs: the first is that Medusa is unable to recognise some ROM files in newer systems if the files are associated with a different application. The second bug is that Medusa cannot assess if some SheepShaver bundles are really SheepShaver (it is only recognising the 2009 bundle). I am already working on these.

Any more bugs, you are more than welcome to report here:

https://github.com/sentient06/Medusa/issues

The interface was made to be compatible with older versions of Mac OS X, so it can look a bit off in newer systems.

Crazy bugs related to ROM parsing and aliasing should be fixed at this point.

Thanks, everyone.
Post Reply