Modern MESS/MAME/UME with Mac

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

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
User avatar
adespoton
Forum All-Star
Posts: 3235
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Modern MESS/MAME/UME with Mac

Post by adespoton »

So... MESS has multiple Mac drivers now, in various states of completeness:
As of MAME 0.178:
  • Macintosh XL (working)
    Macintosh 128k (not working)
    Macintosh 512k (not working)
    Macintosh Classic (working)
    Macintosh Classic II (imperfect sound)
    Macintosh Color Classic (not working)
    Macintosh II (working)
    Macintosh II (without 68851 MMU) (working)
    Macintosh II FDHD (working)
    Macintosh IIcx (working)
    Macintosh IIx (working)
    Macintosh SE/30 (working)
    Macintosh IIci (working)
    Macintosh IIfx (not working)
    Macintosh IIsi (working)
    Macintosh IIvx (imperfect sound)
    Macintosh IIvi (imperfect sound)
    Macintosh LC (imperfect sound)
    Macintosh LC 520 (not working)
    Macintosh LC II (imperfect sound)
    Macintosh LC III (imperfect sound)
    Macintosh Plus (working)
    Macintosh 512ke (working)
    Macintosh Portable (not working)
    Macintosh PowerBook 100 (not working)
    Macintosh PowerBook 140 (not working)
    Macintosh PowerBook 145 (not working)
    Macintosh PowerBook 145b (not working)
    Macintosh PowerBook 170 (not working)
    Macintosh Quadra 700 (not working)
    Macintosh PowerBook 160 (not working)
    Macintosh PowerBook 180 (not working)
    Macintosh PowerBook 180c (not working)
    Macintosh PowerBook Duo 210 (not working)
    Macintosh SE (working)
    Macintosh SE FDHD (working)
    Power Macintosh 6100/60 (not working)
So that's all good.

Using any of the "working" variants, I'm able to boot System 6.0.8 to the finder, adjust screen depth (for color computers), and run software.

But I can't figure out how to change the screen resolutions on the systems that use an external monitor; they're stuck at 640x480. From the source on github, it looks like I may be able to change it programmatically, but this seems odd, as MAME is supposed to emulate the actual hardware, and yet doesn't appear to properly emulate the monitor output. Am I missing something here?

Also, even though they're all listed as working, I have yet to get any of them to boot anything above 6.0.8; 7.0 and higher hang shortly into the welcome screen boot process, even with extensions disabled. And the speed seems a bit slow, even though the debug reports Average speed: 99.75% when I terminate.

Anyone have insights here?


As an aside, I'm creating runnable apps using mame64 SDL for OS X; all pre-configured for specific hardware, with a blank CHD set up and just needing the ROM and install floppies / CD added to make it functional, with no fiddling around. Seems to work well, except for the fact that I can't change screen resolution or actually boot anything later than 6.0.8.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

adespoton wrote:Also, even though they're all listed as working, I have yet to get any of them to boot anything above 6.0.8; 7.0 and higher hang shortly into the welcome screen boot process, even with extensions disabled. And the speed seems a bit slow, even though the debug reports Average speed: 99.75% when I terminate.
Have you tried 7.5.3? I've got a working 7.5.3 Rev. 2 (the one that used to be a free download from Apple's site) that boots and generally runs great in MESS. I set it all up years ago, so I don't quite remember, but I don't think I had to do anything special beyond getting the install images, as well as something to boot from, into CHD format.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
24bit
Forum All-Star
Posts: 1422
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Modern MESS/MAME/UME with Mac

Post by 24bit »

If you got a MacII package ready, adespoton, please consider sharing it.
I would like to try it with one of my OSX hosts, to see how it plays compared to MiniVMac.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

So, I decided to modernize my MESS build from the old build that I've had sitting on my hard drive, just to make sure no new issues have cropped up in the meantime which might account for the trouble that adespoton was having. Interestingly enough, it seems that MESS no longer exists as a separate entity, but has been folded into the MAME project. I'd have to say that this is a good thing, since MESS was notoriously un-Googleable, and I never did understand the need for these to be two separate projects given how much overlap there is between them.

Unfortunately, with the current version of MAME, I'm getting the same result adespoton does: with 7.5.3, it hangs during boot time. There must have been a regression which popped up since my old build (v0.159, according to the -? option). I can vouch for the old version, though. I've made a pared-down binary version of it, if anyone's interested:

http://www.charlessoft.com/mess_binary.tbz
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
adespoton
Forum All-Star
Posts: 3235
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Modern MESS/MAME/UME with Mac

Post by adespoton »

Thanks; yes, 0.159 is the version I had been using as well, but I figured there might have been some improvements in the emulation since then. Seems like the opposite is the case.

My next task was going to be to use the new compile options to compile with only the Mac driver target, for a nice stripped-down binary -- but with those regressions confirmed, I think I'll hold off on that.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

Well that's weird, since while I did get your hang during startup with the current 0.178, my 0.159 build boots and runs 7.5.3 Rev. 2 beautifully. Over here, anyway.

Do you get the hang with the binary I posted?
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
adespoton
Forum All-Star
Posts: 3235
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Modern MESS/MAME/UME with Mac

Post by adespoton »

Ah; I think there was a miscommunication. I only have this problem with the 0.178 MAME builds; the 0.159 MESS builds work fine. I was just hoping the later builds would be more complete, based on the changelog.

[edit] This might be the cause:
-mac: Replaced bad dump in macplus v2 ROM set with redump, and use split ROMs for macplus, mac512ke, mac128k and mac512k, macclasc, macclas2 sets, with proper labels [Lord Nightmare]
Er, on second reading, no; we're using MacII ROMs. I'll look further back through the changelog to see if I can figure it out.
mac: use real split ROMs for maciici [Guru]


But these should throw errors (and I did see the error for maciici)
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

I decided to see if that was the issue, so I reverted that particular change by making this tweak to src/mame/drivers/mac.cpp, lines 2373-2380:

Code: Select all

ROM_START( maciici )
	ROM_REGION32_BE(0x80000, "bootrom", 0)
//	ROM_LOAD32_BYTE( "341-0736.um12", 0x000000, 0x020000, CRC(7a1906e6) SHA1(3e39c80b52f40798502fcbdfc97b315545c4c4d3) )
//	ROM_LOAD32_BYTE( "341-0735.um11", 0x000001, 0x020000, CRC(a8942189) SHA1(be9f653cab04c304d7ee8d4ec312c23ff5d47efc) )
//	ROM_LOAD32_BYTE( "342-0734.um10", 0x000002, 0x020000, CRC(07f56402) SHA1(e11ca97181faf26cd0d05bd639d65998805c7822) )
//	ROM_LOAD32_BYTE( "342-0733.um9",  0x000003, 0x020000, CRC(20c28451) SHA1(fecf849c9ac9717c18c13184e24a471888028e46) )
	ROM_LOAD( "368cadfe.rom",  0x000000, 0x080000, CRC(46adbf74) SHA1(b54f9d2ed16b63c49ed55adbe4685ebe73eb6e80) )
ROM_END
Unfortunately, even when using the older ROM format, the boot process still stalls at the same location as before. So it would seem that this particular change is not to blame.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
adespoton
Forum All-Star
Posts: 3235
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Modern MESS/MAME/UME with Mac

Post by adespoton »

Hmm... so I set up Charles' 0.158 mess64, and it boots all my images just fine. Unfortunately, I have no mouse support with my trackpad in full screen. I haven't run 0.158 since I switched to a laptop for all my emulation; looks like there may be some issues. Works in windowed mode though, so I've created this:
https://www.dropbox.com/s/9ibk0taoi79wm ... I.dmg?dl=0
I hope this works for others; this is just a wrapper and set of instructions around Charles' 0.158 build, with some blank CHDs included.

As the Readme.txt says, you need to bring your own compatible ROM and install images.
User avatar
24bit
Forum All-Star
Posts: 1422
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Modern MESS/MAME/UME with Mac

Post by 24bit »

Thanks for your work, I really appreciate it.
Right now the SDL 2 Library is missing on my side, so the package you made available won´t do anything.
I´m planning to upgrade my T420 to Sierra these days, we may fix the SDL issue after upgrading.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

adespoton wrote:Hmm... so I set up Charles' 0.158 mess64, and it boots all my images just fine. Unfortunately, I have no mouse support with my trackpad in full screen. I haven't run 0.158 since I switched to a laptop for all my emulation; looks like there may be some issues. Works in windowed mode though, so I've created this:
https://www.dropbox.com/s/9ibk0taoi79wm ... I.dmg?dl=0
I hope this works for others; this is just a wrapper and set of instructions around Charles' 0.158 build, with some blank CHDs included.

As the Readme.txt says, you need to bring your own compatible ROM and install images.
That's weird, full-screen mode works fine with my trackpad. Mine is the older, non-Force Touch one, though. I wonder if 0.158 has an issue with Force Touch trackpads?
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

So, I decided to compile a bunch of the different MAME releases in between 0.159 and 0.178 to see which particular version introduced the regression that's been preventing 7.5.3 from booting. From my testing, it appears to be 0.175; 0.174 and before boot 7.5.3 without issue, whereas 0.175 and later do not. Therefore, whatever caused this bug could probably be found by digging through the changes that were made specifically in version 0.175.

In the hopes that 0.174 may not suffer from adespoton's trackpad issue, I've put together a binary package for 0.174. Because the combined MAME/MESS binary is huge, I've compressed it using xz instead of one of macOS's built-in compression formats, in order to reduce the bandwidth load on my website. To extract this, use one of the various extraction tools available for macOS, such as The Unarchiver, Keka, or, if I may be so crass as to plug my own software, Pacifist.

http://www.charlessoft.com/mame/mame174_binary.tar.xz

It should be noted that this build has a regression of its own; on Macs with Retina Displays, the picture is shifted vertically in full-screen mode such that there is a black bar at the top of the screen, and the bottom is slightly cut off, as in this screenshot:

Image

This only occurs on Retina Displays; things seem to display correctly on standard displays. This may not affect windowed mode; I didn't test it. I tracked down the display regression to version 0.160, which means that to avoid the display bug, the 0.159 build I already posted is probably your best bet, so I'm leaving that one up for now.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
CharlesS
Tinkerer
Posts: 97
Joined: Thu Aug 14, 2008 9:05 am

Re: Modern MESS/MAME/UME with Mac

Post by CharlesS »

So, I tracked down the bug that was causing System 7 not to boot. The code for the Zilog SCC driver contained what appeared to be a typo; a simple fix to that, and 7.5.3 Rev. 2 boots again. I've submitted a patch to the development team; hopefully it will be incorporated in the next release.

As a side bonus, the Retina Display issue I was having before seems not to be happening with the latest git, so perhaps that has already been fixed by someone else.

I've also made a binary of the latest source from git with my fix applied; you can download that at the URL below. Note that this binary will only run the Mac emulation; I left out the other emulators to make the download smaller.

http://www.charlessoft.com/mame/mame_fixed.tbz
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
barryn
Space Cadet
Posts: 1
Joined: Fri Oct 19, 2018 12:34 am

Re: Modern MESS/MAME/UME with Mac

Post by barryn »

I am trying to get the MAME Mac LC III emulation to boot and I am not having much luck. I have system 6.0.8 on floppy and that boots but won't run on on a Mac LC III because it's too old, and I have several bootable CDROM images for 7.5.3, 7.6, 7.6.1 and 8.1 but I can't get MAME to boot a Mac LC III emulation with any of them. Does anyone have a boot disk or CDROM that will boot the MAME Mac LC III emulation? Can someone post it here, pretty please? Thanks!
User avatar
adespoton
Forum All-Star
Posts: 3235
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Modern MESS/MAME/UME with Mac

Post by adespoton »

You'll need System 7.1 with the LCIII system enabler or 7.5.3 to boot the LCIII. I'd go with 7.5.3, but it sounds like you've already tried that.

I haven't tried UME Mac emulation since the Mac II support was added -- I might try that soon.
Post Reply