Live data from Hacker News

Windows GOG DOS Games on M-Series Macs

f055.net

51–60 of 88 posts

Re: Windows GOG DOS Games on M-Series Macs

#51
post #9

This is why Rosetta 2's looming retirement sucks.

Is there an actual reason for it, apart from Apple hurrying devs along? For the consumer, the benefits of backwards compatibility are obvious, but it’s sad that companies don’t see it as a selling point. Well, we wouldn’t want anyone using their perfectly functional copy of Photoshop CS6 would we…

Apple has historically always been about pushing devs forwards and dropping support for legacy systems.

Their attitude has been "we built new hardware, we built new software, we have the tools to develop for these new systems, adapt or die".

This Rosetta 2 transition is actually a couple years longer that their first PPC -> Intel transition. There's more time to adapt this go around.

Re: Windows GOG DOS Games on M-Series Macs

#53
post #17

Earlier quoted context omitted.

Hmm i guess this would require figuring out how to extract game data from an .exe installer GOG distributes. I guess AI would figure it out in like 3 minutes ;) I’ll check later.

You could try https://github.com/dscharrer/innoextract (installable via homebrew).

I wondered if innoextract was Linux only, but I see there is a homebrew formula. https://formulae.brew.sh/formula/innoextract

Is the author reading hackernews?

Re: Windows GOG DOS Games on M-Series Macs

#54
post #2

>install DOSBox for Mac Mind you there are countless DOSBox forks out there and the vanilla original one is probably the least interesting one. Nowadays the three most popular one would be DOSBox-X, DOSBox Pure, and DOSBox Staging https://dosbox-x.com/ https://github.com/joncampbell123/dosbox-x https://schelling.itch.io/dosbox-pure https://github.com/schellingb/dosbox-pure-unleashed/ https://www.dosbox-staging.org/ h…

> Mind you there are countless DOSBox forks out there and the vanilla original one is probably the least interesting one. What do you want to be "interesting" about dosbox?

If I'm reading the article right, they are saying that macOS is giving the scare warning on it - this implies that DOSBox is an x86_64 binary and not ARM native.

If true, that implies development is on life support at best, since any actively-developed project targeting Mac OS would likely have shipped an ARM version within 6 years of the ARM transition.

So anyone who wants to ever run Mac OS 27 or buy a Mac after next year will probably have to find an alternative (or port DOSBox mainline to ARM themselves!)

Re: Windows GOG DOS Games on M-Series Macs

#56
post #41
post #38

Earlier quoted context omitted.

I thought dosbox had its own x86 emulation layer so it should work fine on any arch?

Dosbox has its emulator to run DOS, but afaik dosbox binary that starts up dosbox on Mac uses Rosetta on M-series Macs, and without Rosetta it simply won’t start and emulate DOS.

At least the ARM-based binary of DosBox-X (a variant of DosBox) runs natively and works great for everything I've thrown at it like old Apogee games, etc.

https://github.com/joncampbell123/dosbox-x

Re: Windows GOG DOS Games on M-Series Macs

#57
post #24

Earlier quoted context omitted.

I thought Rosetta 2 was a purely software layer

Rosetta 2 is software, but there are design decisions made for the M-series chips that are specifically made to improve the ability of Rosetta to work in a performant way. The main one I'm aware of is the x86-TSO memory-ordering mode - most ARM chips don't support this, but the M-series have it so that Rosetta can toggle it on for x86 emulation. I'm not sure what the total cost of these are, but it's not zero.

> There are only a handful of different instructions that account for 90% of all operations executed, and, near the top of that list are addition and subtraction. On ARM these can optionally set the four-bit NZCV register, whereas on x86 these always set six flag bits: CF, ZF, SF and OF (which correspond well-enough to NZCV), as well as PF (the parity flag) and AF (the adjust flag).

> Emulating the last two in software is possible (and seems to be supported by Rosetta 2 for Linux), but can be rather expensive. Most software won’t notice if you get these wrong, but some software will. The Apple M1 has an undocumented extension that, when enabled, ensures instructions like ADDS, SUBS and CMP compute PF and AF and store them as bits 26 and 27 of NZCV respectively, providing accurate emulation with no performance penalty.

https://dougallj.wordpress.com/2022/11/09/why-is-rosetta-2-f...

Re: Windows GOG DOS Games on M-Series Macs

#58
post #33

Earlier quoted context omitted.

You could try https://github.com/dscharrer/innoextract (installable via homebrew).

That, or just run it with wine.

Interestingly, wine works on Apple Silicon via Rosetta2 so I guess it won't work by macOS 28, and we will be only left with arm64 DOSBox-X.

Re: Windows GOG DOS Games on M-Series Macs

#59
post #58
post #33

Earlier quoted context omitted.

That, or just run it with wine.

Interestingly, wine works on Apple Silicon via Rosetta2 so I guess it won't work by macOS 28, and we will be only left with arm64 DOSBox-X.

... and arm64 innoextract hopefully

Re: Windows GOG DOS Games on M-Series Macs

#60
I really respect all the work done by enthusiasts to, for example, make DOS games work on other OS as well as all emulators more generally.

Obviously all these binaries can be decompiled into assembly. I really think this is somewhere where Claude can do a lot of heavy lifting to reconstruct source code in a higher-level language that can then be built into something that can run natively on other platforms. AI might be able to do that work directly too.

Now this might have some legal issues. Emulation and recompilation (with distribution) are fundamentally different (legally speaking). Still, it'd be a nicer solution.

Post reply on HN