Mini vMac 36 officially released
Moderators: Cat_7, Ronald P. Regensburg
Mini vMac 36 officially released
Mini vMac 36.04 is now officially released. That is, it is now declared to be the stable version, with no change made to the source code or compiled applications.
The old Mini vMac 3.5.8 is still available for download, in case there are any serious problems with the new version. For this release I’m trying something different. Instead of a long beta period and then no further changes after, with bug fixes only in the development branch, this time the beta period was shorter and there may still be further bug fix releases to the stable branch.
The old Mini vMac 3.5.8 is still available for download, in case there are any serious problems with the new version. For this release I’m trying something different. Instead of a long beta period and then no further changes after, with bug fixes only in the development branch, this time the beta period was shorter and there may still be further bug fix releases to the stable branch.
-
- Space Cadet
- Posts: 2
- Joined: Thu Apr 12, 2018 11:15 pm
Re: Mini vMac 36 officially released
I'm having trouble figuring out how to compile the source code. The instructions don't have any clear way on how to build it. I'm on Windows 10.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
You need to boot Mini vMac, load the source disk, set your configuration options (including which compiler/dev environment you're targeting), and then run it, at which point Mini vMac will prompt you to save stuff somewhere on your host filesystem.
At that point, you fire up the compiler/dev environment you targeted, and build the project.
I'm presuming the target you will want to use is MS Visual Studio. Microsoft has loads of documentation on how to use it if you've never done so before.
At that point, you fire up the compiler/dev environment you targeted, and build the project.
I'm presuming the target you will want to use is MS Visual Studio. Microsoft has loads of documentation on how to use it if you've never done so before.
-
- Space Cadet
- Posts: 2
- Joined: Thu Apr 12, 2018 11:15 pm
Re: Mini vMac 36 officially released
It's not a floppy disk anymore.
Re: Mini vMac 36 officially released
Yes, the source for Mini vMac is now a simple ".tgz" archive, which is more convenient for experienced programmers (and more convenient for the variations service), but it does make it harder for other people to compile.LilShootDawg wrote:It's not a floppy disk anymore.
The brief explanation on the Building Mini vMac page should be sufficient for sufficiently experienced programmers. But not for anyone else.
Supporting compiling Mini vMac with multiple development environments by non programmers isn't easy. Particularly when they can have bugs, like Microsoft Visual Studio 2017 does. (Mini vMac 36.04 disables optimization in Visual Studio because of this.)
In general, building with other development environments will give a much slower result than the official builds, as Mini vMac is tweaked only for a particular compiler version. To get good results, an experienced programmer would need to tweak Mini vMac for their particular compiler version. (And verify for themselves that it still works correctly.)
I'm contemplating at some time in the future to port a stripped down version of the gcc cross compiler set used for the official builds to run in Mini vMac (Macintosh 680x0), and write up instructions for using it, so that anyone could exactly match the official builds.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
Hmm... if you targeted MinGW, you should be able to get similar optimization settings for gcc under Linux and OS X, and llvm shouldn’t be much different.
But unless you’re planning to create a cycle exact mode for the Mac II ROM, I can’t see the performance hit being noticeable by most people.
But unless you’re planning to create a cycle exact mode for the Mac II ROM, I can’t see the performance hit being noticeable by most people.
Re: Mini vMac 36 officially released
You can get max performance with clang by using these compiler options:
Of course, it may only work on your system or systems similar to yours.
Code: Select all
-Ofast -march=native -flto
Re: Mini vMac 36 officially released
Compiling with any version of gcc should usually work without problem. I'm not so enthusiastic about providing support for the percentage where it doesn't. Hence the thought of providing a single supported compiler, that runs in Mini vMac, and so can be used by any user of Mini vMac. Other compilers could still be used, but then you would be on your own.adespoton wrote:Hmm... if you targeted MinGW, you should be able to get similar optimization settings for gcc under Linux and OS X, and llvm shouldn’t be much different.
If Mini vMac isn't tweaked for the compiler version, it will not just be a few percent slower, but many times slower. It is true that any modern computer, which likely can run Mini vMac at 200x speed, should have no trouble running a slower Mini vMac at 8x speed. But for laptop computers, it may cut battery life a lot. Also, the fan may be more likely to come on.adespoton wrote:But unless you’re planning to create a cycle exact mode for the Mac II ROM, I can’t see the performance hit being noticeable by most people.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
Hmm... I'm having an odd result compiling that I haven't tracked down yet. No matter which machine I target using ./setup_t -t mc64 (no other flags seem to make a difference), when run, I get the startup chime and the control commands work, but the Mini vMac screen stays black. This includes not displaying the extra commands screen, but ^Q ^Y works to quit.
I'm using a 2015 15" MacBook Pro running macOS 10.14.1 with discrete graphics card to test. Seems like only the graphics aren't displaying; things are booting correctly in the background, and I think even mouse tracking is working correctly. Same result with gse set to 0 or 1.
[edit] weird... now without doing anything, it appears to be working. The only thing I did was leave it for a few hours. I guess I could blame it on caching and/or Mojave security settings?
I'm using a 2015 15" MacBook Pro running macOS 10.14.1 with discrete graphics card to test. Seems like only the graphics aren't displaying; things are booting correctly in the background, and I think even mouse tracking is working correctly. Same result with gse set to 0 or 1.
[edit] weird... now without doing anything, it appears to be working. The only thing I did was leave it for a few hours. I guess I could blame it on caching and/or Mojave security settings?
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
I've done more tests; it's the -gse 1 flag that's causing the lack of video drawing. When I remove it, everything runs fine, but when I enable it, it appears neither my discrete nor my integrated graphics draw to screen.
With gfxCardStatus enabled, it tells me that with -gse 0, I'm using my AMD Radeon R9 M370X; with -gse 1, I'm using Intel Iris Pro. But nothing draws to screen with the Intel Iris Pro.
So, I took it another step: I set gfxCardStatus to enforce integrated only, and the build with -gse 0 behaved the same way as the build with -gse 1. So something about this version of Mini vMac doesn't want to function with the Intel Iris Pro.
With gfxCardStatus enabled, it tells me that with -gse 0, I'm using my AMD Radeon R9 M370X; with -gse 1, I'm using Intel Iris Pro. But nothing draws to screen with the Intel Iris Pro.
So, I took it another step: I set gfxCardStatus to enforce integrated only, and the build with -gse 0 behaved the same way as the build with -gse 1. So something about this version of Mini vMac doesn't want to function with the Intel Iris Pro.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
More tests, more issues: Mini vMac II now no longer shuts down gracefully prior to System 4.0. Something's been changed with the graphics mode such that if you select a non-standard resolution (380p in my case) the lines get drawn to the screen correctly pre-4.0, but the text does not.
Re: Mini vMac 36 officially released
Thanks for the report. It is good that the default for Mini vMac 36 is '-gse 0', which sounds like it should work most of the time.adespoton wrote:So something about this version of Mini vMac doesn't want to function with the Intel Iris Pro.
Unfortunately, I don't have a dual GPU MacBook Pro to debug this on. Perhaps you can check a couple things:
Does the non cocoa version (-t imch) have the same problem with gfxCardStatus enforce integrated?
And how about cocoa in earlier versions of Mini vMac? '-api cco' was added in version 3.3. When '-gse 1' is not used, I don't think much has changed since in this area since Mini vMac 3.5.
Re: Mini vMac 36 officially released
Are you sure it ever did? Macintosh II shipped with System 4.1, so anything prior to System 4.0 predates the machine.adespoton wrote:Mini vMac II now no longer shuts down gracefully prior to System 4.0
It doesn't work for me on some old Mini vMac versions and old System versions. Do you have a specific Mini vMac version and System version where it does work for you?
Re: Mini vMac 36 officially released
I'm not seeing this. What specific compile options are you using? Also, what specific development environment, including version, are you using? Does the problem not appear in earlier versions of Mini vMac, if you recompile it with the same compiler version? Does the same issue occur in versions built by the Variations Service? Problems with drawing text sounds a lot like the bug seen in Microsoft Visual Studio 2017.adespoton wrote:Something's been changed with the graphics mode such that if you select a non-standard resolution (380p in my case) the lines get drawn to the screen correctly pre-4.0, but the text does not.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
Building was done using XCode 10; I’ll get back to you with the other details as I have time to test them. If I get a chance, I’ll dig into the video switching issue and see if I can determine where it goes wrong.
The screen issue didn’t happen under earlier cocoa or carbon builds, but I did those using XCode 8, and I wouldn’t be surprised if the issue is related to either the compiler and/or the change in screen compositing introduced with 10.13 and extended with 10.14.
Hopefully I’ll have more info for you soon.
The screen issue didn’t happen under earlier cocoa or carbon builds, but I did those using XCode 8, and I wouldn’t be surprised if the issue is related to either the compiler and/or the change in screen compositing introduced with 10.13 and extended with 10.14.
Hopefully I’ll have more info for you soon.
- adespoton
- Forum All-Star
- Posts: 4274
- Joined: Fri Nov 27, 2009 5:11 am
- Location: Emaculation.com
- Contact:
Re: Mini vMac 36 officially released
Looks like we need to update the wiki on here
Meanwhile, it appears that if some other software has the computer using the discrete GPU, Mini vMac windows come up black. Using the official build appears to work, so I've got to hunt down whether it's the compiler or a build option at fault.
[edit] I just compiled the previous source, and it has the same issues in the latest XCode with mostly default values (except for being 720p).
Meanwhile, it appears that if some other software has the computer using the discrete GPU, Mini vMac windows come up black. Using the official build appears to work, so I've got to hunt down whether it's the compiler or a build option at fault.
[edit] I just compiled the previous source, and it has the same issues in the latest XCode with mostly default values (except for being 720p).
Re: Mini vMac 36 officially released
Will update wiki today. Just got back from a long trip.