Page 1 of 1

Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 5:55 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 6:56 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 9:58 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 9:53 pm
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

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 9:58 pm
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 11:11 pm
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?

Re: Modern MESS/MAME/UME with Mac

Posted: Thu Oct 06, 2016 11:23 pm
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)

Re: Modern MESS/MAME/UME with Mac

Posted: Fri Oct 07, 2016 12:22 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Sat Oct 08, 2016 5:21 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Sat Oct 08, 2016 7:11 pm
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Mon Oct 10, 2016 7:40 pm
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?

Re: Modern MESS/MAME/UME with Mac

Posted: Tue Oct 11, 2016 1:45 am
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.

Re: Modern MESS/MAME/UME with Mac

Posted: Sat Oct 15, 2016 10:32 am
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

Re: Modern MESS/MAME/UME with Mac

Posted: Fri Oct 19, 2018 12:41 am
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!

Re: Modern MESS/MAME/UME with Mac

Posted: Fri Oct 19, 2018 3:24 am
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.