Menu-style OS X disk image chooser for Basilisk II
Moderators: Cat_7, Ronald P. Regensburg
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
Menu-style OS X disk image chooser for Basilisk II
One of the frustrations of using Basilisk II under OS X is the barebones GUI for setting preferences. It works well enough for most options, but it doesn't make it easy to select and manage disk image files. (I'm referring to the ports of the main development line of Basilisk II, not Nigel Pearson's port which includes its own OS X-style Preferences menu.)
I've wasted some enjoyable time writing an Applescript that makes it easy to select and manage the disk images listed in .basilisk_ii_prefs. It lets you add and remove images, set a different image at the top of the list to become the startup drive, create new images and add them to the list in the preference file, and set the option to boot from a CD-ROM.
It should also work with SheepShaver by changing a single variable at the top of the script, but I haven't tested it with SheepShaver.
It's obviously the work of a beginner at Applescript, and an expert coder could probably reduce its size by two-thirds, but it seems to work. Run at your own risk, and please feel free to let me know of any problems. Download it here if you're interested:
http://www.columbia.edu/~em36/EmulatorD ... hooser.zip
Edit: Slightly improved version (better error handling) posted 20 August 2009.
Edit: Improved script posted 9 August 2019: viewtopic.php?p=63978#p63978
I've wasted some enjoyable time writing an Applescript that makes it easy to select and manage the disk images listed in .basilisk_ii_prefs. It lets you add and remove images, set a different image at the top of the list to become the startup drive, create new images and add them to the list in the preference file, and set the option to boot from a CD-ROM.
It should also work with SheepShaver by changing a single variable at the top of the script, but I haven't tested it with SheepShaver.
It's obviously the work of a beginner at Applescript, and an expert coder could probably reduce its size by two-thirds, but it seems to work. Run at your own risk, and please feel free to let me know of any problems. Download it here if you're interested:
http://www.columbia.edu/~em36/EmulatorD ... hooser.zip
Edit: Slightly improved version (better error handling) posted 20 August 2009.
Edit: Improved script posted 9 August 2019: viewtopic.php?p=63978#p63978
Last edited by Ronald P. Regensburg on Mon Aug 12, 2019 10:04 am, edited 5 times in total.
Reason:
Reason:
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
Nice! It is certainly easier than the (indeed) awful interface of the GUI application.
I myself usually edit the prefs file directly in a text editor, especially for simple things like changing volumes.
SheepShaver for MacOSX already has an improved Prefs Editor to replace the GUI application, available as stand alone application and integrated in the latest unofficial SheepShaver for MacOSX builds. (See sticky topics in SheepShaver forum.)
I myself usually edit the prefs file directly in a text editor, especially for simple things like changing volumes.
SheepShaver for MacOSX already has an improved Prefs Editor to replace the GUI application, available as stand alone application and integrated in the latest unofficial SheepShaver for MacOSX builds. (See sticky topics in SheepShaver forum.)
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
Thanks for the good words. I use this with your excellent build, and am putting together a little "appliance" to use for working with old WordPerfect files.
I've already improved the script by adding to the file types that it will recognize as disk images, and by adding a button to launch the emulator after writing the prefs file. I'll post an improved version probably tomorrow - after some more testing. (I've also fixed a minor problem in some menus where choosing cancel shuts down the script, instead of going back to the main menu.
I've posted some messages asking if anyone could make a BasiliskIIPrefs to match the very good SheepShaverPrefs program. The SheepShaver program needs a few improvements, by the way: if the program is in the same folder with the disk image, it does not enter the full path - only the filename. And there is no GUI for selecting ROM files - you need to type a path. Maybe someday these will be fixed...!
I've already improved the script by adding to the file types that it will recognize as disk images, and by adding a button to launch the emulator after writing the prefs file. I'll post an improved version probably tomorrow - after some more testing. (I've also fixed a minor problem in some menus where choosing cancel shuts down the script, instead of going back to the main menu.
I've posted some messages asking if anyone could make a BasiliskIIPrefs to match the very good SheepShaverPrefs program. The SheepShaver program needs a few improvements, by the way: if the program is in the same folder with the disk image, it does not enter the full path - only the filename. And there is no GUI for selecting ROM files - you need to type a path. Maybe someday these will be fixed...!
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
All files that are in the same folder with the SheepShaver application will be found by SheepShaver with only the file name in prefs, no path needed. That is also true for the ROM file.emendelson wrote:The SheepShaver program needs a few improvements, by the way: if the program is in the same folder with the disk image, it does not enter the full path - only the filename. And there is no GUI for selecting ROM files - you need to type a path. Maybe someday these will be fixed...!
When launched with no prefs file present, SheepShaver will recognize a ROM file named "Mac OS ROM" in the same folder. But that obviously works only when SheepShaver is launched the first time, so the name should be entered before SheepShaver is quit.
In the stand alone version of the Prefs Editor one can simply drag the file icon into the text box to add the path, but that does not work in the integrated version.
(Maybe we should discuss SheepShaver in the Sheepshaver forum.)
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
I tested the last version of your script more thoroughly and I encountered a couple of problems:
1. After making changes, I see no way to save the changes and quit. If I dismiss the window using the little red button, I can only force quit and changes are not saved
2. For adding an existing volume, apparently only files with certain file name extensions can be selected. However, for BasiliskII (and for SheepShaver) the extension is irrelevant. BasiliskII happily uses disk image files without file name extension (even with extensions like .txt or .jpg). Maybe you should indicate which file name extensions are accepted by your script.
3. For creating a disk image you use .dmg as file name extension. When using .dmg, a user must be aware that the image should not be mounted in the emulator and in MacOSX at the same time. If you want to set a default extension, I think it is safer to use an extension like .dsk, that cannot be mounted in MacOSX by simple double clicking.
4. On my Intel iMac, the created images have a GUID partition table. I am not sure this will work correctly for all BasiliskII compatible MacOS versions. Normally, disks with GUID partition table can only be used as boot disk on Intel Macs or PPC Macs with 10.4 or later. A GUID partition table makes disk images problematic in SheepShaver. I tried a 7.5.3 installation and apparently it is no problem in BasiliskII, the image needed to be initialized and could be used as boor disk. Further investigation is needed.
1. After making changes, I see no way to save the changes and quit. If I dismiss the window using the little red button, I can only force quit and changes are not saved
2. For adding an existing volume, apparently only files with certain file name extensions can be selected. However, for BasiliskII (and for SheepShaver) the extension is irrelevant. BasiliskII happily uses disk image files without file name extension (even with extensions like .txt or .jpg). Maybe you should indicate which file name extensions are accepted by your script.
3. For creating a disk image you use .dmg as file name extension. When using .dmg, a user must be aware that the image should not be mounted in the emulator and in MacOSX at the same time. If you want to set a default extension, I think it is safer to use an extension like .dsk, that cannot be mounted in MacOSX by simple double clicking.
4. On my Intel iMac, the created images have a GUID partition table. I am not sure this will work correctly for all BasiliskII compatible MacOS versions. Normally, disks with GUID partition table can only be used as boot disk on Intel Macs or PPC Macs with 10.4 or later. A GUID partition table makes disk images problematic in SheepShaver. I tried a 7.5.3 installation and apparently it is no problem in BasiliskII, the image needed to be initialized and could be used as boor disk. Further investigation is needed.
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
Thanks for that testing. Quick comments:
1. Something must be wrong with my logic if you are not seeing a way to save changes. What it tries to do is this:
After you make changes, an option "Write changes etc." appears on the main menu, under "Add a disk", "Create a disk image", "Remove a disk", "Set a startup". That option should appear ONLY when the changes that you make would produce changes in the preferences file.
If you make changes, and the "Write changes to preference file" option does NOT appear, could you let me know what changes you made? Thanks.
2. You are right. I shall fix this. (Applescript does not seem to let me choose by extension, but by "file type", which is an attribute of the file - dimg, dmd3, etc. I shall probably go back to letting any file be chosen.)
3. Again, you are right. I shall fix this.
4. Interesting point. I create the disk by using the hdiutil command-line program built into OS X - the same program used by the Disk Utility program that comes with OS X. I'm not sure what method the other Basilisk GUI, etc. programs use when creating a disk, but will look into it.
Thank you again for this excellent feedback. The one thing I worry about is item 1. You certainly should see a "Write changes" option when you've made changes that would produce a preference file with different contents from the one on disk. I explicitly check to see whether the list of disks (and the order of the list) is different between the disk file and the choices you made. I also check whether you've changed the Boot-CD option. Please let me know if there's some way the logic went wrong!
1. Something must be wrong with my logic if you are not seeing a way to save changes. What it tries to do is this:
After you make changes, an option "Write changes etc." appears on the main menu, under "Add a disk", "Create a disk image", "Remove a disk", "Set a startup". That option should appear ONLY when the changes that you make would produce changes in the preferences file.
If you make changes, and the "Write changes to preference file" option does NOT appear, could you let me know what changes you made? Thanks.
2. You are right. I shall fix this. (Applescript does not seem to let me choose by extension, but by "file type", which is an attribute of the file - dimg, dmd3, etc. I shall probably go back to letting any file be chosen.)
3. Again, you are right. I shall fix this.
4. Interesting point. I create the disk by using the hdiutil command-line program built into OS X - the same program used by the Disk Utility program that comes with OS X. I'm not sure what method the other Basilisk GUI, etc. programs use when creating a disk, but will look into it.
Thank you again for this excellent feedback. The one thing I worry about is item 1. You certainly should see a "Write changes" option when you've made changes that would produce a preference file with different contents from the one on disk. I explicitly check to see whether the list of disks (and the order of the list) is different between the disk file and the choices you made. I also check whether you've changed the Boot-CD option. Please let me know if there's some way the logic went wrong!
Hi,
In response to your point 4:
I believe the program "dd" is used
The required parameters are "if" and "of"
if=file Read input from file instead of the standard input.
of=file Write output to file instead of the standard output. Any regular output file is truncated unless the notrunc conversion value is specified. If an initial portion of the output file is seeked past (see the oseek operand), the output file is truncated at that point.
This is an example from the SheepShaver developers website:
dd if=/dev/zero of=name_of_your_hard_disk_image bs=1048576 count=size_in_megabytes
"dd" is available om my mac, but I'm not sure if that is standard. Better check it
Best,
Cat_7
In response to your point 4:
I believe the program "dd" is used
The required parameters are "if" and "of"
if=file Read input from file instead of the standard input.
of=file Write output to file instead of the standard output. Any regular output file is truncated unless the notrunc conversion value is specified. If an initial portion of the output file is seeked past (see the oseek operand), the output file is truncated at that point.
This is an example from the SheepShaver developers website:
dd if=/dev/zero of=name_of_your_hard_disk_image bs=1048576 count=size_in_megabytes
"dd" is available om my mac, but I'm not sure if that is standard. Better check it
![Laughing :lol:](./images/smilies/icon_lol.gif)
Best,
Cat_7
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
That's VERY helpful - thank you!
dd is on my Mac too, but I've got the developer tools installed. I think it should be on all Macs, however, as it's in /bin, which I think is the same on all Macs. Will check on this.
I'll replace the hdiutil command in my script with dd after I do a bit of testing.
Thank you again!
dd is on my Mac too, but I've got the developer tools installed. I think it should be on all Macs, however, as it's in /bin, which I think is the same on all Macs. Will check on this.
I'll replace the hdiutil command in my script with dd after I do a bit of testing.
Thank you again!
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
About point 1:
- I start the script. Dialog with choices for changes and "Exit" and "Select" button.
- I choose "Remove disk image from Basilisk II system" and click Select.
- In new dialog I select the disk image to be removed and click "Remove"
- I am back at the first dialog, but now with the removed image not anymore listed at the top and with "Exit" button replaced by "Abandon changes" button.
What can I do now? Neither "Abandon changes" or "Select" another change is the way to go.
Oh, I see. There is now a "Write changes to preferences file" item in the list that was not there before.
It was a list of possible changes only, I looked for further changes in the list, I did not see that writing the changes was added to the list, because I did not expect that and because I did not really read or understand the text that mentions that the item would be added to the list.
No doubt my dyslexia plays a role, but I think it would be more intuitive if a button "Write changes" would be added instead of a "Write changes" option in the list.
And BTW: Something should be done also with the close window button. If clicked, the only way out is a force quit of the script.
- I start the script. Dialog with choices for changes and "Exit" and "Select" button.
- I choose "Remove disk image from Basilisk II system" and click Select.
- In new dialog I select the disk image to be removed and click "Remove"
- I am back at the first dialog, but now with the removed image not anymore listed at the top and with "Exit" button replaced by "Abandon changes" button.
What can I do now? Neither "Abandon changes" or "Select" another change is the way to go.
Oh, I see. There is now a "Write changes to preferences file" item in the list that was not there before.
It was a list of possible changes only, I looked for further changes in the list, I did not see that writing the changes was added to the list, because I did not expect that and because I did not really read or understand the text that mentions that the item would be added to the list.
No doubt my dyslexia plays a role, but I think it would be more intuitive if a button "Write changes" would be added instead of a "Write changes" option in the list.
And BTW: Something should be done also with the close window button. If clicked, the only way out is a force quit of the script.
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
At first I could not figure out how to use a button for "write changes" because Applescript only allows two buttons in that kind of list. But you are right that a button is far better than a "Write changes" item in the main list. So I have rewritten the script to use your suggestion. I've also added a line or two of code that should help eliminate the screen artifacts when Basilisk II is launched. (The new version is posted now at the same address, same filename.)
About the "close window button" - I don't see that button anywhere. I'm running Leopard, and that button is never visible in the dialogs. Could you tell me exactly where you see that button? Perhaps you are running Tiger, and the "close window button" appears there?
About the "close window button" - I don't see that button anywhere. I'm running Leopard, and that button is never visible in the dialogs. Could you tell me exactly where you see that button? Perhaps you are running Tiger, and the "close window button" appears there?
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
The little red thingy in the upper left corner of the window.emendelson wrote:About the "close window button" - I don't see that button anywhere. I'm running Leopard, and that button is never visible in the dialogs. Could you tell me exactly where you see that button? Perhaps you are running Tiger, and the "close window button" appears there?
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
This is very strange. I have an almost-new white MacBook, with a new installation of 10.5.5. I don't see the red button that you have on your system.
I set up a new account on my machine, switched to it, and ran the script - again, no red button!
(I did find, however, that my script doesn't correctly detect a situation where there is no existing .basilisk_ii_prefs file, and I have corrected that, and will upload a new version later.)
But I can't imagine why you have that red button. I don't have it on my account, on the new test account that I created - and I don't have it on the machine that's running Tiger either!
I set up a new account on my machine, switched to it, and ran the script - again, no red button!
(I did find, however, that my script doesn't correctly detect a situation where there is no existing .basilisk_ii_prefs file, and I have corrected that, and will upload a new version later.)
But I can't imagine why you have that red button. I don't have it on my account, on the new test account that I created - and I don't have it on the machine that's running Tiger either!
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
I'm completely puzzled by that red close button on the dialog in your system. It should NOT be there. Go to Google and perform an Image search for "applescript 'choose from list'" - all the dialog boxes that display that command have no red button, in fact no buttons at all. For example
http://files.macscripter.net/joy/images ... ptions.jpg
or
http://files.macscripter.net/joy/images/coverlover.jpg
There must be something installed in your system that adds the red button. But what?
http://files.macscripter.net/joy/images ... ptions.jpg
or
http://files.macscripter.net/joy/images/coverlover.jpg
There must be something installed in your system that adds the red button. But what?
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
Well, it obviously is not something installed 'for this user', because the same happens in a virgin new guest account. So I tried a safe startup of my Mac (startup with shift key pressed). With a safe startup a file system check is run and, if I am not mistaken, only a minimum system is loaded with no third party additions. The little red button is still there.
I honestly cannot imagine what could be unusual about my system.
I honestly cannot imagine what could be unusual about my system.
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
I found the cause. You would not believe this, it is apparently related to localization.
The little red button is not shown when the preferred language in 'International' system preferences is set to English, Swedish, Japanese or Chinese-Simplified, but the red button does show up with the preferred language set to German, French, Polish, Russian, Chinese-Traditional and (my language) Dutch.
I did not try more languages.![Razz :P](./images/smilies/icon_razz.gif)
![Shocked 8O](./images/smilies/icon_eek.gif)
The little red button is not shown when the preferred language in 'International' system preferences is set to English, Swedish, Japanese or Chinese-Simplified, but the red button does show up with the preferred language set to German, French, Polish, Russian, Chinese-Traditional and (my language) Dutch.
I did not try more languages.
![Razz :P](./images/smilies/icon_razz.gif)
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am
This sounds like a bug in OS X - and you're right: I'm amazed at it! (And I got exactly the same results when I tried it - with Nederlands at the top of the list of preferred languages, the red button appeared.)
What happens if you save the script as an "Application Bundle" instead of an "Application"?
An "Application Bundle" launches more quickly under OS X than an "Application". (An "Application Bundle" works only under OS X, I think, while an "Application" can work under OS 8/9 in addition to OS X.)
What happens if you save the script as an "Application Bundle" instead of an "Application"?
An "Application Bundle" launches more quickly under OS X than an "Application". (An "Application Bundle" works only under OS X, I think, while an "Application" can work under OS 8/9 in addition to OS X.)
- Ronald P. Regensburg
- Expert User
- Posts: 7821
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
-
- Forum All-Star
- Posts: 1706
- Joined: Tue Oct 14, 2008 12:12 am