Login  •  Register


The time is now: Wed Aug 21, 2019 9:18 am

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 1 of 1 [ 17 posts ]
Print view Previous topic  |  Next topic
Author Message
PostPosted: Mon Oct 29, 2018 1:26 pm 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Nov 03, 2018 7:00 pm 
Offline
Space Cadet

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


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sun Nov 04, 2018 12:57 am 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sun Nov 04, 2018 4:32 am 
Offline
Space Cadet

Joined: Thu Apr 12, 2018 11:15 pm
Posts: 2
It's not a floppy disk anymore.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sun Nov 04, 2018 10:04 am 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sun Nov 04, 2018 10:32 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 06, 2018 1:16 am 
Offline
Apple Corer
User avatar

Joined: Fri Aug 27, 2010 1:02 am
Posts: 221
You can get max performance with clang by using these compiler options:
Code:
-Ofast -march=native -flto


Of course, it may only work on your system or systems similar to yours.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Nov 07, 2018 2:00 pm 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Nov 10, 2018 8:06 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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?


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Nov 12, 2018 4:53 am 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 13, 2018 1:05 am 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 13, 2018 11:18 am 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 13, 2018 11:23 am 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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?


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 13, 2018 12:14 pm 
Offline
Nice Guy
User avatar

Joined: Sat Nov 17, 2007 6:46 pm
Posts: 105
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Nov 13, 2018 4:05 pm 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Fri Nov 23, 2018 4:10 am 
Offline
Forum All-Star
User avatar

Joined: Fri Nov 27, 2009 5:11 am
Posts: 2667
Location: Emaculation.com
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).


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Nov 24, 2018 2:49 am 
Offline
Site Admin
User avatar

Joined: Mon May 20, 2002 4:37 am
Posts: 3733
Location: Uiwang
Will update wiki today. :) Just got back from a long trip.


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 1 of 1 [ 17 posts ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
 

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group