Mini vMac 36 officially released

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Mini vMac 36 officially released

Post by gryphel »

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.
LilShootDawg
Space Cadet
Posts: 2
Joined: Thu Apr 12, 2018 11:15 pm

Re: Mini vMac 36 officially released

Post by LilShootDawg »

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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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.
LilShootDawg
Space Cadet
Posts: 2
Joined: Thu Apr 12, 2018 11:15 pm

Re: Mini vMac 36 officially released

Post by LilShootDawg »

It's not a floppy disk anymore.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Mini vMac 36 officially released

Post by gryphel »

LilShootDawg wrote:It's not a floppy disk anymore.
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.

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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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.
uyjulian
Apple Corer
Posts: 241
Joined: Fri Aug 27, 2010 1:02 am

Re: Mini vMac 36 officially released

Post by uyjulian »

You can get max performance with clang by using these compiler options:

Code: Select all

-Ofast -march=native -flto
Of course, it may only work on your system or systems similar to yours.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Mini vMac 36 officially released

Post by gryphel »

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.
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: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.
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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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?
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Mini vMac 36 officially released

Post by gryphel »

adespoton wrote:So something about this version of Mini vMac doesn't want to function with the Intel Iris Pro.
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.

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.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Mini vMac 36 officially released

Post by gryphel »

adespoton wrote:Mini vMac II now no longer shuts down gracefully prior to System 4.0
Are you sure it ever did? Macintosh II shipped with System 4.1, so anything prior to System 4.0 predates the machine.

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?
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Re: Mini vMac 36 officially released

Post by gryphel »

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.
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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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.
User avatar
adespoton
Forum All-Star
Posts: 3107
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Mini vMac 36 officially released

Post by adespoton »

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).
User avatar
ClockWise
Site Admin
Posts: 4016
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang
Contact:

Re: Mini vMac 36 officially released

Post by ClockWise »

Will update wiki today. :) Just got back from a long trip.
Post Reply