Skip to content

Releases: Yash-Singh1/32-bit-ports

COD4 Converter 0.0.0-dev.7

Pre-release

Choose a tag to compare

Fixes the "Set Optimal Settings?" dialog appearing but not accepting clicks
in dev.6. The AppKit alert replacement is reported to get the Steam campaign
running on an M5 with macOS 27.0.1 in
issue #13.
This release also explicitly dismisses the alert before game loading resumes
to address the reported lingering popup.

Download and unzip COD4-Converter-0.0.0-dev.7.zip, then open
COD4-Converter.app. Reconvert your original Mac game to include the new
loader. Keep any previous converted app and its saves.

Changes since dev.6

  • Replaced the legacy Carbon standard-alert modal loop with an AppKit alert.
    Preserved the game's text, button labels, default/cancel choices, and 16-bit
    Carbon result values. AppKit retains its own button tags so selections map
    correctly back to the game.
  • Prevented application activation from raising the game window over a modal
    alert and taking its keyboard focus.
  • Explicitly hid the unused Carbon alert window and dismissed the AppKit
    alert before returning to game initialization. Window dismissal no longer
    depends on the next game event cycle.
  • Added checks for modal focus and immediate dismissal, and updated the
    standard-alert regression to exercise the AppKit buttons.
  • Added log messages when the AppKit alert opens and returns its result.

Validation and limits

Local interaction checks cover mouse selection, Return and Escape with a
placeholder splash window on macOS 26.5.2. Automated checks cover all three
alert button results, packed output boundaries, dialog token retirement,
modal focus during activation, and window visibility immediately after the
modal loop returns. Packaged-loader regressions cover Objective-C strings and
ownership, IOKit, legacy OpenSSL, the supplied issue #13 executable's startup
paths, both Steam initializer suites, and standalone campaign/multiplayer
conversion.

The reporter's macOS 27.0.1 log shows the alert returning OK, rendering
starting, and a normal guest exit with no trapped imports. The report confirms
Steam campaign startup and the menu. It does not establish full mission or
multiplayer coverage. The additional immediate-dismissal change has been
checked locally; its effect on the reported macOS 27 delay needs confirmation.

The Mac App Store support and other changes from dev.5/dev.6 remain included.
The remaining gaps in the
COD4 import audit
remain incomplete. Custom modal filters are unsupported. GLMetal is unchanged
from dev.6; this release does not claim to resolve the reported intermittent
audio static or mesh stretching.

Requires macOS 11 or later and your own original 32-bit Intel Mac game files.
Converted games require Rosetta 2 on Apple Silicon. Steam editions still
require Steam and an account that owns the game. The converter creates an
independent copy of the game files; keep the original or a backup for future
conversions. The first COD4 conversion downloads Apple's Lion archive to
extract two runtime libraries; later conversions reuse the cache. The
converter needs no Xcode, Python, or source checkout.

The release ZIP contains no game executable, game data, or Apple runtime
libraries. This is an ad hoc signed development prerelease without Developer
ID signing or notarization.

Source commit: 5b225b9.

GLMetal revision: 169ba5ff6656a4bd7d5d13d3e57ac58b0c6e2b8f.

ZIP SHA-256: c009e3d5497a3905fce33a7fc40da0b129bad7c4a0c38ad1def632748cb28007.

COD4 Converter 0.0.0-dev.6

Pre-release

Choose a tag to compare

Fixes COD4's "Set Optimal Settings?" prompt stopping at _RunStandardAlert,
as reported on macOS 27. This release also addresses additional missing calls
found while auditing the supplied issue #13 executable and the Steam campaign
and multiplayer executables.

Download and unzip COD4-Converter-0.0.0-dev.6.zip, then open
COD4-Converter.app. Reconvert your original game to include the new loader.
Keep any previous converted app and its saves.

Changes since dev.5

  • Implemented native standard-alert execution with actual button results,
    correct 16-bit output, and cleanup of disposed dialog references.
  • Added HTTP run-loop sources with guest callback and ownership conversion.
    Added HTTP response inspection, authentication and credential handling,
    streamed uploads, stream availability/errors, and proxy configuration
    script evaluation used by ASIHTTPRequest.
  • Added missing launcher control lookup, values, visibility and reference
    data; menu event targets and item enabling; mouse-event view lookup and
    theme cursors; display-width queries; and temporary-directory and form
    encoding calls.
  • Added a repeatable import inventory tool and documented remaining gaps in
    the COD4 import audit.
    The scan covers 727 callable imports in the supplied image, 687 in Steam
    campaign and 737 in Steam multiplayer. It is not a complete compatibility
    certification.

Validation and limits

Native tests exercise all three standard-alert buttons, launcher controls in
legacy and composited windows, display dimensions, run-loop source callbacks,
HTTP Basic authentication against a local fixture, invalid authentication,
proxy scripts, stream errors and packed guest outputs. Regression checks cover
the supplied image's factory/IOKit/encryption startup paths, Objective-C
ownership and strings, legacy OpenSSL, Steam campaign and multiplayer
initializers, and standalone campaign/multiplayer conversion.

Local validation ran on macOS 26.5.2 under Rosetta. macOS 27 has not been tested
locally. The Mac App Store working status from dev.5 remains reported; these
tests do not establish complete menu, mission, network or receipt-validation
coverage. Legacy movie recording, clipboard, some launcher drawing/focus and
multiplayer text paths, cache/MIME helpers, and other calls listed in the audit
remain incomplete. Custom modal filters and version-one run-loop sources are
not supported by the new handlers.

GLMetal remains pinned to the same revision as dev.5. This release does not
claim to resolve the reported intermittent audio static or mesh stretching.

Requires macOS 11 or later and your own original 32-bit Intel Mac game files.
Converted games require Rosetta 2 on Apple Silicon. Steam editions require
Steam and ownership of the game. The first COD4 conversion downloads Apple's
Lion archive to extract two runtime libraries; later conversions reuse the
cache. The converter needs no Xcode, Python, or source checkout.

The release ZIP contains no game executable, game data, or Apple runtime
libraries. This is an ad hoc signed development prerelease without Developer
ID signing or notarization.

Source commit: 92d09fc.

GLMetal revision: 169ba5ff6656a4bd7d5d13d3e57ac58b0c6e2b8f.

ZIP SHA-256: 4a1a078d42f6bbe918bad33ca7b2cc7a0636f86d356b9388c5fdd3811d827603.

Fast Five Converter 0.0.0-dev.2

Pre-release

Choose a tag to compare

Fixes for issues reported with dev.1.

  • Mac App Store copy now opens. The App Store version checks its receipt at launch and quit silently after conversion. The converter now keeps the receipt, and the loader supports the check. The receipt must have been issued for the Mac you run it on (the game ties it to the Mac's hardware network address); a receipt from another Mac still won't open, as with the original game.
  • Bottom of the screen no longer cut off on MacBooks with a camera notch. The game now fills the area below the notch.
  • Changing resolution now scales the picture to fit the screen at the right shape, with black bars where needed, instead of leaving it in a corner or stretched.
  • Mouse reaches the whole screen at every resolution. Before, at lower resolutions the cursor stopped partway across and down.

Re-convert your game with this version to get the fixes.

Download and unzip FastFive-Converter-0.0.0-dev.2.zip, then open FastFive-Converter.app. Choose your original 32-bit Mac game (FastFive.app), the folder that contains it, its ZIP archive or disk image, then an output folder. No Xcode, Python or source checkout is needed.

Graphics: Apple OpenGL (recommended) or GLMetal (experimental, 8a9d42b).

Verification: muted background test runs on a notched MacBook display at the game's default resolution, 1024x768 and 1920x1200 reached the menus with the cursor reaching every edge and clicks landing on their targets. Without a real App Store copy, the receipt check was tested with a receipt signed for this Mac by a test certificate: a copy converted by the extracted release passed it and reached the title screen, and a receipt for another Mac was refused. The release ZIP was extracted and matched the built app with strict signatures, and converted both the Macintosh Garden ZIP and the App Store–style copy with developer tools excluded from PATH.

Not yet verified: a real App Store receipt, audio, controllers, multiplayer, career mode, full races and long sessions.

Requires macOS 11 or later, Rosetta 2 on Apple Silicon, and your own copy of the Mac game (Gameloft's 2011 Mac App Store release, 1.0.0). The first conversion downloads Apple's 4.72 GB archive for the i386 C++ runtime; later ones reuse the cache shared with the other converters. Saves live in ~/Library/FastFive. The ZIP contains no game data or Apple runtime libraries. Ad hoc signed development prerelease, not notarized.

Built from t3/gangstar-miami-support at 6323421, with GLMetal pinned to 8a9d42b. Version 0.0.0, build 2.

ZIP SHA-256: 202cf18abf810d9babc828054f2acbb5967ed66771a3f30e31d1d9b79381e695.

COD4 Converter 0.0.0-dev.5

Pre-release

Choose a tag to compare

The Mac App Store version of Call of Duty 4 is now working with the converter, alongside the Steam edition. This development release includes the fixes from issue #13 and the COD4 runtime and GLMetal updates since dev.4.

Download and unzip COD4-Converter-0.0.0-dev.5.zip, then open COD4-Converter.app. Select Campaign or Multiplayer, choose the original Mac game app or use Find in Steam, and choose an output folder. Reconvert the original installation to get these fixes; keep any previous converted app and its saves.

Changes since dev.4

  • Added Mac App Store 1.7.2 support. Fixed premature Objective-C object deallocation during startup, including autorelease before a guest pool exists, superclass autorelease calls, and temporary guest objects returned by native code.
  • Fixed IOKit data ownership that could leave a guest handle pointing to freed native data and crash during getBytes:length:.
  • Implemented the legacy OpenSSL initialization, memory BIO, PEM public-key decoding, and EVP encryption calls used by the App Store startup request. The old encryption ABI now calls the matching native entry point.
  • Added support for older Objective-C constant-string layouts.
  • Improved last-run.log diagnostics with receiver/class details, bounded Objective-C message and lifetime histories, native stack records, and image identifiers for crash analysis. The release enables these records automatically.
  • Included shared AudioQueue and AudioUnit callback lifetime fixes and checks that reject guest memory mappings outside the 32-bit address range.
  • Included guest once/mutex synchronization fixes and reduced shared bridge and hitch-recorder overhead.
  • Updated the bundled GLMetal driver and native shader compiler, including index streaming and buffer lifetime fixes, pipeline preparation and synchronization changes, faster vertex/sampler handling, and expanded legacy OpenGL compatibility. These changes do not establish that every reported rendering or audio issue is resolved.

Validation

The supplied issue #13 executable passes its request factory/retain and IOKit autorelease/read checks with explicit and fallback guest pools. Its original startup routine completes request encryption and reaches the checkpoint immediately before asynchronous networking. The local test stops there without sending a request. The Mac App Store working status is reported; local verification does not cover its complete menu, mission, or network flow.

Regression checks cover actual RSA encryption/decryption, malformed PEM and oversized inputs, Objective-C ownership and string layouts, persistent native-crash logs, converter packaging, and the Steam campaign and multiplayer initializers. The converter packages GLMetal and its shader compiler and needs no Xcode, Python, or source checkout.

Requires macOS 11 or later and your own original 32-bit Intel Mac game files. Converted games require Rosetta 2 on Apple Silicon. Steam editions still require Steam and an account that owns the game. The first COD4 conversion downloads Apple's Lion archive to extract two runtime libraries; later conversions reuse the cache.

The release ZIP contains no game executable, game data, or Apple runtime libraries. This remains an ad hoc signed development prerelease without Developer ID signing or notarization.

Built from cod at 2bc74a15171ee1246bbb61752054d6b4f4ede334, with GLMetal pinned to 169ba5ff6656a4bd7d5d13d3e57ac58b0c6e2b8f. The converter app has build version 5.

ZIP SHA-256: dfecaca0bf99358e9584809ea7f847a57e23f7dc7660c99801a11ebee951e47a.

L4D2 Converter 0.0.0-dev.1

Pre-release

Choose a tag to compare

Thanks to @tomtastic for implementing L4D2 support!

Gangstar Miami Vindication Converter 0.0.0-dev.3

Choose a tag to compare

Updated Gangstar: Miami Vindication converter.

Download and unzip Gangstar-Miami-Vindication-Converter-0.0.0-dev.3.zip, then open Gangstar-Miami-Vindication-Converter.app. Choose your original 32-bit Intel Mac game: GangstarMV.app, the folder that contains it, or its .dmg. Then choose an output folder to create a separate compatibility app. The converter includes the compatibility loader and GLMetal (efc850b, unchanged since dev.1). It does not require Xcode, Python, or a source checkout.

Changes since dev.2:

  • Name: the converter is now Gangstar Miami Vindication Converter (previously Gangstar-Converter.app / Gangstar Converter).
  • Notched MacBook screens: in fullscreen on a MacBook with a camera notch, macOS pushed the game's window down by the 32-point strip beside the notch. That cut off the bottom of the picture (for example the BACK button), and let the game's cursor slip off the top. The window now sits below the notch. The picture is scaled to fit, with black bars where needed, and the game's cursor stays inside the picture.
  • Intro video: the Gameloft intro is no longer shifted down on notched screens.
  • Mouse sensitivity: in gameplay, the camera barely turned, whatever the sensitivity setting. The game re-centres the cursor after every mouse move and reads the movement from macOS's last-move delta. On current macOS that delta can include the re-centring jump, and each re-centring paused mouse input for 0.25 seconds. The loader now works out the real movement from the cursor's positions, and re-centres without the pause. The sensitivity setting scales that movement.

Verification:

  • The converter, game-profile, core GL bridge and Mach-O entry tests passed, as did the converter and GLMetal packaging tests.
  • The release ZIP was extracted and matched the built app byte for byte, including permissions. Signatures, architectures (universal converter, x86_64 loader) and version metadata passed.
  • The extracted converter, with developer tools excluded from PATH, converted the game's .dmg once with GLMetal and once with Apple OpenGL.
  • Both outputs passed strict signature verification. Their game executable and resources matched the disk image, and the loader matched the build.
  • The second conversion got a numbered name. The disk image was unchanged and was detached afterwards.
  • These checks used an existing verified runtime cache.

Before packaging, muted background tests checked the fixes with this loader source:

  • Built-in notched display: the fullscreen window sat directly below the notch at 1728×1085, during the intro and in the menus. The menu picture was fitted inside it.
  • External display: fullscreen still covered the whole 1920×1200 screen, and windowed mode was unchanged.
  • Clicks: test clicks outside the picture were held at its edge, and a click at the centre still mapped to the centre.
  • Mouse look: in gameplay, 40 scripted moves of 10 points each reached the game as 10-point movements, and the camera turned about 90°.
  • These checks used the game's logs and rendered frames, not screen captures. Mouse feel and the sensitivity slider have not been tried with a real mouse.

Not yet verified:

  • Mouse feel with real hardware, including the sensitivity setting
  • Audible sound: a report of missing sound is still open
  • Controllers
  • Online features
  • Long sessions and full story progression

Requires macOS 11 or later and your own original copy of the Mac game. Converted games need Rosetta 2 on Apple Silicon. Testing has been on Apple Silicon with the 2011 Mac App Store release, version 1.0.0. Other editions are unverified.

The first conversion downloads Apple's 4.72 GB Lion archive to extract the i386 C++ runtime. Later conversions reuse the local cache, which is shared with the COD converters.

The converter never replaces an existing converted app; new conversions get numbered names. Saves live in ~/Library/GangstarCompat, outside the app, so a new conversion keeps them. Each output contains its own copy of the game data, about 820 MB.

If a converted game crashes, its log is ~/Library/Logs/GangstarCompat/last-run.log, and the run before it is kept as previous-run.log.

The ZIP contains no game data or Apple runtime libraries. This is an ad hoc signed development prerelease without Developer ID signing or notarization.

Built from t3/gangstar-miami-support at 7d77b0e67217337db08b337d38e93a45559b3ddd, with GLMetal pinned to efc850b889801d0423dd196f3ab711bb48d9a343. The app has version 0.0.0 and build version 3. The branch also includes Asphalt 6 support (a2474db), which shares the loader.

ZIP SHA-256: ee563b12f0a355ee4c299471f986c4940f12d045c3c9b0757e8736eab4448e12.

Fast Five Converter 0.0.0-dev.1

Pre-release

Choose a tag to compare

First Fast Five converter.

Download and unzip FastFive-Converter-0.0.0-dev.1.zip, then open FastFive-Converter.app. Choose your original 32-bit Mac game (FastFive.app), the folder that contains it, its ZIP archive (for example Fast_Five_1.0.zip) or disk image, then an output folder. No Xcode, Python or source checkout is needed. The converter accepts Fast Five only; Asphalt 6 and Gangstar have their own converters.

Graphics: Apple OpenGL (recommended) or GLMetal (experimental, 8a9d42b).

Verification: muted background test runs reached the intro, title screen, menus, garage and a Rio race (keyboard driving) with Apple OpenGL, and the same race with GLMetal. The converter, game-profile and loader tests passed. The release ZIP was extracted and matched the built app, including permissions and strict signatures. The extracted converter, with developer tools excluded from PATH, converted the game with both renderers; both outputs passed signature checks and kept the original executable and all 671 resource files.

Not yet verified: audio, controllers, multiplayer, career mode, full races and long sessions.

Requires macOS 11 or later, Rosetta 2 on Apple Silicon, and your own copy of the Mac game (Gameloft's 2011 Mac App Store release, 1.0.0). The first conversion downloads Apple's 4.72 GB archive for the i386 C++ runtime; later ones reuse the cache shared with the other converters. Saves live in ~/Library/FastFive. The ZIP contains no game data or Apple runtime libraries. Ad hoc signed development prerelease, not notarized.

Built from t3/gangstar-miami-support at e697bc8, with GLMetal pinned to 8a9d42b. Version 0.0.0, build 1.

ZIP SHA-256: 032477dabd3fbbb112dd5edf9b1834d868f3d0d217ee3adfc8b14ce466017c17.

Asphalt 6 Converter 0.0.0-dev.3

Pre-release

Choose a tag to compare

Updated Asphalt 6: Adrenaline converter.

Download and unzip Asphalt6-Converter-0.0.0-dev.3.zip, then open Asphalt6-Converter.app. Choose your original 32-bit Mac game (Asphalt 6.app), the folder that contains it, its ZIP archive or disk image, then an output folder. No Xcode, Python or source checkout is needed.

Changes since dev.2:

  • Controllers (experimental): the first connected extended gamepad works in the game. Left stick steers proportionally, D-pad steers digitally, RT/LT accelerate and brake, LB/RB nitro, X/Y cycle cameras, Start/Back/B pause or go back, and the right stick moves a cursor that A clicks (the left stick and D-pad also move it outside races). Keyboard and controller can be used together. Physical-controller gameplay has not been tested in the game yet.
  • GLMetal updated to 8a9d42b (legacy GLSL linking and uniform reflection matched to Apple's OpenGL). Apple OpenGL remains the default.
  • Loader fixes shared with the new Fast Five port (pthread_testcancel, reachability notifications).

Verification: the converter, game-profile, controller, GLSL, core GL bridge, display and Objective-C proxy tests passed. The release ZIP was extracted and matched the built app, including permissions and strict signatures. The extracted converter, with developer tools excluded from PATH, converted the Asphalt 6 ZIP once with Apple OpenGL and once with GLMetal; both outputs passed signature checks and kept the original executable and all 5,192 resource files.

Requires macOS 11 or later, Rosetta 2 on Apple Silicon, and your own copy of the Mac game (1.0.9). The first conversion downloads Apple's 4.72 GB archive for the i386 C++ runtime; later ones reuse the cache. The ZIP contains no game data or Apple runtime libraries. Ad hoc signed development prerelease, not notarized.

Built from t3/gangstar-miami-support at e697bc8, with GLMetal pinned to 8a9d42b. Version 0.0.0, build 3.

ZIP SHA-256: d99323118ae5e10c357c20e7cac10f9310db3bb4b86b7344baed7d2493bc74df.

Asphalt 6 Converter 0.0.0-dev.2

Pre-release

Choose a tag to compare

Development prerelease of the separate Asphalt 6: Adrenaline converter.

Download and unzip Asphalt6-Converter-0.0.0-dev.2.zip, then open Asphalt6-Converter.app. Select your original Mac game app, its folder, ZIP archive or disk image, then choose an output folder. Convert your original game again with Dev 2 to get these fixes. Existing converted apps are preserved with numbered output names.

Changes since Dev 1:

  • The game's Full setting fills the selected display, with space below a camera housing where needed. Window mode retains its title bar and normal size.
  • Finder launches use the frontmost app's window to choose a display, with the pointer as a fallback. Startup centering no longer moves the hidden game window back to the primary display. Resizing and switching Full keep the game on its current display.
  • The shared Cocoa bridge attaches the GL drawable when the game installs its content view. Asphalt's original initialization clears now reach the window, fixing the stale title artwork and copyright fragments around the menu. This adds no Asphalt-specific border clears and preserves the original game executable and resources.
  • Cocoa main-screen focus, Quartz's primary display and emulated display modes now remain independent.

Verification:

  • Converter validation, Asphalt GLSL, game-profile, core GL rendering, Objective-C proxy/lifetime and display bridge tests passed. The drawable regression checks actual pixels from the first clear before any present call.
  • Game probes checked both physical displays and Full to Window to Full. Original intro playback reached a clean menu with black borders.
  • The release ZIP was extracted and checked against the built app, including file permissions, both converter architectures, build metadata and strict signatures.
  • The extracted converter converted the original game ZIP with developer tools excluded from PATH, using an existing verified runtime cache. Its output passed strict signature verification, selected Apple OpenGL, and preserved the original executable and all 5,192 resource files.

Requires macOS 11 or later and your own original Mac copy of Asphalt 6: Adrenaline. The converter supports Intel and Apple Silicon. Converted games need Rosetta 2 on Apple Silicon. Xcode, Python and a source checkout are not required.

The first conversion downloads Apple's 4.72 GB Lion archive to extract the required runtime libraries. Later conversions reuse the cache shared with the other converters. Each output contains its own copy of the game data, about 1 GB. The download contains no game data or Apple runtime libraries.

Apple OpenGL remains the default. GLMetal is experimental and still rejects some material shaders. Dark car paint in races and a narrow corrupt strip in captured frames still need review. Audio playback, controllers, multiplayer, complete races and long sessions remain unverified. Testing used the Mac App Store version 1.0.9 on Apple Silicon; other editions and the receipt path are untested.

Settings use com.gameloft.asphalt6mac.compat. Game logs are at ~/Library/Logs/Asphalt6Compat/last-run.log.

This is an ad hoc signed development prerelease without Developer ID signing or notarization.

Built from t3/gangstar-miami-support at 8da586d3c26df6634be807d98c975308759b055c. The app has version 0.0.0 and build version 2.

ZIP SHA-256: 64058e7b7e037642d41925a9cf3c85cfc65302f983cb1af1cd2de6b0c82731c5.

Gangstar Converter 0.0.0-dev.2

Pre-release

Choose a tag to compare

Updated Gangstar: Miami Vindication converter.

Download and unzip Gangstar-Converter-0.0.0-dev.2.zip, then open Gangstar-Converter.app. Choose your original 32-bit Intel Mac game: GangstarMV.app, the folder that contains it, or its .dmg. Then choose an output folder to create a separate compatibility app. The converter includes the compatibility loader and GLMetal (efc850b, unchanged from dev.1). It does not require Xcode, Python, or a source checkout.

Changes since dev.1:

  • Fullscreen resolution: choosing a resolution in the game's settings no longer zooms in and crops the picture, and smaller resolutions no longer sit in a corner of the screen. Instead, the game is scaled to fill the screen at the chosen resolution's aspect ratio, with black bars if needed. Mouse clicks are adjusted to match.
  • Resolution menu: the menu no longer shows a garbage value such as "16176x0" when the saved resolution comes from a different display, for example the built-in screen's 1728×1117 when an external monitor is the main display. The saved resolution now appears in the list and is kept.
  • Missing Rosetta: when Rosetta 2 is missing, conversion now explains how to install it (softwareupdate --install-rosetta --agree-to-license). Previously it failed with "arch could not finish … Bad CPU type in executable".

Verification:

  • The converter tests (including a new missing-Rosetta test), the game-profile, core GL bridge and Mach-O entry tests, and the converter and GLMetal packaging tests passed.
  • The release ZIP was extracted and matched the built app byte for byte, including permissions. Signatures, architectures and version metadata passed.
  • The extracted converter, with developer tools excluded from PATH, converted the game's .dmg once with GLMetal and once with Apple OpenGL.
  • Both outputs passed strict signature verification. Their game executable and resources matched the disk image, and the loader matched the build.
  • The second conversion got a numbered name. The disk image was unchanged and was detached afterwards.
  • These checks used an existing verified runtime cache.

Before packaging, muted background tests checked the fullscreen fixes with this loader source on a built-in Retina display:

  • Resolutions of 1280×800, 1024×768 and 3456×2234, changed the way the settings menu does, each filled the screen with the whole picture visible.
  • With 1024×768, which needs side bars, test clicks at the centre and the left quarter of the picture landed on the expected game coordinates.
  • A saved resolution the display does not offer was matched exactly.
  • These checks used the game's logged geometry and rendered frames, not screen captures. The settings menu itself was not opened during testing.

Not yet verified:

  • Audible sound: a report of missing sound is still open
  • Controllers
  • Online features
  • Long sessions and full story progression

Requires macOS 11 or later and your own original copy of the Mac game. Converted games need Rosetta 2 on Apple Silicon. Testing has been on Apple Silicon with the 2011 Mac App Store release, version 1.0.0. Other editions are unverified.

The first conversion downloads Apple's 4.72 GB Lion archive to extract the i386 C++ runtime. Later conversions reuse the local cache, which is shared with the COD converters.

The converter never replaces an existing converted app; new conversions get numbered names. Saves live in ~/Library/GangstarCompat, outside the app, so a new conversion keeps them. Each output contains its own copy of the game data, about 820 MB.

If a converted game crashes, its log is ~/Library/Logs/GangstarCompat/last-run.log, and the run before it is kept as previous-run.log.

The ZIP contains no game data or Apple runtime libraries. This is an ad hoc signed development prerelease without Developer ID signing or notarization.

Built from t3/gangstar-miami-support at e453ae1281831ad4854da694f006df3acfb7ee7d, with GLMetal pinned to efc850b889801d0423dd196f3ab711bb48d9a343. The app has version 0.0.0 and build version 2.

ZIP SHA-256: 5dab89c27f4f9174b88055d2d70834a549e0be24edbf5f6df1714f8892ce371e.