Skip to content

Releases: bertibertig/Amped2-Recomp

Amped2-Recomp v0.2.0

Choose a tag to compare

@bertibertig bertibertig released this 21 Oct 01:28

Second build of Amped2-Recomp: a native PC port of Amped 2 (original Xbox, 2003), made by statically
recompiling the game's Xbox code to C with xboxrecomp. No emulator.

The highlights: graphics settings on Linux (internal resolution up to 5x, widescreen 16:9 / 16:10 / 21:9,
unlocked frame rate, fullscreen and borderless modes) and the music no longer drops out. The Windows package
gets a PowerShell launcher (run.ps1) next to run.bat. It is still an early, experimental release; Windows
is still a preview and not playable yet (see Platform status).

⚠️ No game files included. You need your own, legally obtained copy of Amped 2 for the Xbox, PAL/EU
version
(title ID 4D530041). Other versions are not tested. Never share game files.

Getting started

  1. Download the package for your system below and unpack it: Amped2-Recomp-v0.2.0-linux-x86_64.tar.gz
    (tar xzf …) or Amped2-Recomp-v0.2.0-windows-x86_64.zip.
  2. Prepare the game files (next section) in the package's game_files/ folder.
  3. Start the game from the package folder:
    • Linux: ./run.sh (graphics settings first: ./run.sh --settings)
    • Windows: double-click run.bat, or right-click run.ps1 → Run with PowerShell (in a console:
      powershell -ExecutionPolicy Bypass -File .\run.ps1). Both write the console output to run.log.

Linux needs glibc 2.39+ (Ubuntu 24.04+, Fedora 40+, Arch, SteamOS 3.6+), SDL2 and a Vulkan driver
(sudo apt install libsdl2-2.0-0 libvulkan1 mesa-vulkan-drivers).

Windows needs Windows 10 or 11 (x86-64). There is no macOS package yet.

Preparing the game files

The game data always comes from your own Amped 2 disc; nothing of it is in this repository or in a release.
Supported is the PAL/EU version (title ID 4D530041, default.xbe SHA-1
38e63cd016bf084d999e0a911933a52191bfc378); other versions are not tested.

  1. Make a disc image (.iso) of your Amped 2 Xbox disc, e.g. on a modded Xbox or with an Xbox-compatible DVD
    drive. Both a full disc image (Redump style) and a game-partition XISO work.

  2. Extract the image with extract-xiso (AUR extract-xiso-git) or
    xdvdfs (cargo install xdvdfs-cli):

    extract-xiso -x "Amped 2.iso" -d game_files

    or xdvdfs unpack "Amped 2.iso" game_files. Already have an extracted disc folder? Copy its contents instead.

  3. Put it in the right place: a folder named game_files
    next to run.sh / run.bat in the unpacked package folder (the package already has an empty one with a short
    README in it).

  4. Check the layout: default.xbe must sit directly in game_files/, not in a subfolder (no
    game_files/Amped 2/default.xbe). The whole disc is about 4 GB; keep every file and folder as extracted (the
    letter case of the names does not matter).

Amped2-Recomp-v0.2.0-linux-x86_64/
├── amped2_recomp
├── run.sh
└── game_files/
    ├── default.xbe
    ├── Audio/
    ├── Levels/
    ├── Movies/
    └── … (the rest of the disc)

Without game_files/default.xbe, the launchers stop with a message telling you where the files belong. Saves and
the game's cache go to ~/.local/share/xboxrecomp (Windows: %LOCALAPPDATA%\xboxrecomp), not into game_files/.

What's new

New features

  • Graphics settings (Linux, Vulkan renderer): ./run.sh --settings opens a settings screen in the terminal
    before the game starts; the choices are saved in ~/.config/amped2-recomp/settings.ini and used on every later
    start.
    • Internal resolution 1x-5x (640x480 up to 3200x2400 at 4:3).
    • Aspect ratio 4:3 (original), 16:9, 16:10, 21:9: rides get wider (more of the slope at the sides, the HUD
      stays 4:3 in the middle); menus and movies stay 4:3.
    • Unlocked frame rate, capped at the monitor's refresh rate, a fixed 60-360 fps or not at all. The game runs
      on its own clock, so the gameplay speed does not change. On a ride the CPU is the limit for now (about
      85-120 fps), menus run at several hundred.
    • Windowed, fullscreen or borderless on a monitor of your choice; Alt+Enter or F11 switch in the game.
    • One run can override the file with environment variables (AMPED2_RESOLUTION_SCALE=3 AMPED2_ASPECT_RATIO=21:9 ./run.sh, see the package README).
  • run.ps1: a PowerShell launcher for the Windows package (Windows PowerShell 5.1 or PowerShell 7) with the
    same defaults as run.bat; on an error it shows the last lines of run.log.

Improvements

  • Better stereo mix: the game's surround mix is folded down to stereo properly (centre and rears at -3 dB, LFE
    left out). Before, the music was louder on the right, the rides left-heavy, and loud passages clipped and
    crackled.
  • The Windows package is part of the release from the start (v0.1.0 got it later).

Bug fixes

  • The music no longer stops suddenly while riding or comes back very quiet, mono and crackling; in the menus
    the next track now follows when one ends, instead of silence and then static. (DirectSound's audio interrupt ran
    in the middle of the game's own sound updates, so volumes and buffers landed on the wrong voices.)
  • A crash about 20 s into a ride, seen once together with the music bug, did not come back in any test since this
    fix; it is probably the same cause, but it was never reproduced, so please report it if you see it.

Platform status

  • Linux (x86-64): tested on Garuda Linux (Arch) with an NVIDIA RTX 2080 Ti (proprietary driver): boot, menus
    and a ride on Millicent 1 with the default settings (55-60 fps), and with 3x / 16:9 / unlocked / fullscreen.
    Other GPUs and drivers (AMD, Intel, Mesa) are not tested yet.
  • Steam Deck: not tested yet.
  • Windows: experimental, not playable yet.
    • Software (CPU) renderer only, very slow: about 4-6 fps in the menus and about 2 fps on the slope. The
      Vulkan renderer and the graphics settings are Linux-only for now; porting them to Windows is planned.
    • Only tested on Linux with Wine 11.20 (not with Proton for this release), not on a real Windows PC yet:
      run.bat boots the game, a new profile is created, and the menus and a ride on Millicent 1 work (slowly), with
      no crash in 10 minutes. run.ps1 was only checked with PowerShell 7 on Linux (missing-files message, defaults,
      run.log, exit code), not on Windows itself. Reports from Windows 10/11 are very welcome.
    • Under Wine/Proton the movies stay black, and in v0.1.0 there was no music (sound effects work); whether the
      music fix above helps on Windows has not been checked by ear yet.
    • The software renderer draws stray triangles stretched out from trees and other objects.
    • No graphics settings: --settings needs a terminal, and the Windows build has none (it is a window
      program), so the settings screen does not show up.
  • macOS: not started.

Known issues

  • Only the menus and the first rides of the career (Millicent 1) have been checked; a full career, saving and
    loading over several sessions and multiplayer are not verified yet.
  • Rides in the original 60 fps mode run at about 55 fps instead of a steady 60.
  • The rider has no shadow yet.
  • Audio is stereo only (no 5.1 yet), and the game's reverb and effects are not processed yet (they are mixed in
    dry).
  • With a wide aspect ratio, objects at the far sides of a ride might pop in late (not seen on Millicent 1 so far).
  • The save folder ~/.local/share/xboxrecomp (its Cache part) is shared with SSX3-Recomp.
  • Windows is experimental and not playable yet (see Platform status): software renderer only, very slow,
    no graphics settings (--settings does not work), black movies and possibly no music under Wine/Proton, stray
    triangles in the software renderer; run.ps1 is untested on real Windows.

Please report bugs at Issues with the console output
(./run.sh 2>&1 | tee run.log; on Windows the run.log next to run.bat / run.ps1).

For developers

  • CI: GitHub Actions builds the patched runtime and all host sources on Linux (GCC, Vulkan) and Windows (MSYS2
    MinGW-w64) and runs the host tests (scripts/ci.sh, ctest: settings file, virtual pad). No game data in CI.
  • Runtime patch: a dispatch lock (a thread at or above DISPATCH_LEVEL holds it, DPCs wait for it;
    RECOMP_DISPATCH_LOCK=0 turns it off), the stereo downmix (RECOMP_APU_MIXDOWN=legacy restores the old fold)
    and env-gated audio diagnostics – see patches/xboxrecomp/README.md.

Building it yourself

See the README: pipeline and build directly on
Linux, or in the Ubuntu 24.04 container (scripts/docker.sh); scripts/build_win.sh for the MinGW cross build.

Full changelog: v0.1.0...v0.2.0

License

GPL-3.0-or-later. Third-party licenses (xboxrecomp: MIT and LGPL-2.1 parts, volk: MIT) are in the package's
licenses/ folder. Unofficial fan project, not affiliated with or endorsed by Microsoft.

Amped2-Recomp v0.1.0

Choose a tag to compare

@bertibertig bertibertig released this 20 Oct 10:11

First public build of Amped2-Recomp: a native PC port of Amped 2 (original Xbox, 2003), made by
statically recompiling the game's Xbox code to C with xboxrecomp.
No emulator.

This is an early, experimental release. On Linux the game boots, the menus run at 60 fps and you can ride
the first mountain (Millicent 1) at about 55 fps, but a lot is still untested. The Windows package is a first
preview: software renderer only and very slow, not playable yet (see Platform status).

⚠️ No game files included. You need your own, legally obtained copy of Amped 2 for the Xbox, PAL/EU
version
(title ID 4D530041). Other versions are not tested. Never share game files.

Getting started

  1. Download the package for your system below and unpack it: Amped2-Recomp-v0.1.0-linux-x86_64.tar.gz
    (tar xzf …) or Amped2-Recomp-v0.1.0-windows-x86_64.zip.
  2. Prepare the game files (next section) in the package's game_files/ folder.
  3. Start the game from the package folder:
    • Linux: ./run.sh
    • Windows: double-click run.bat (console output goes to run.log)

Linux needs glibc 2.39+ (Ubuntu 24.04+, Fedora 40+, Arch, SteamOS 3.6+), SDL2 and a Vulkan driver
(sudo apt install libsdl2-2.0-0 libvulkan1 mesa-vulkan-drivers).

Windows needs Windows 10 or 11 (x86-64). There is no macOS package yet.

Preparing the game files

The game data always comes from your own Amped 2 disc; nothing of it is in this repository or in a release.
Supported is the PAL/EU version (title ID 4D530041, default.xbe SHA-1
38e63cd016bf084d999e0a911933a52191bfc378); other versions are not tested.

  1. Make a disc image (.iso) of your Amped 2 Xbox disc, e.g. on a modded Xbox or with an Xbox-compatible DVD
    drive. Both a full disc image (Redump style) and a game-partition XISO work.

  2. Extract the image with extract-xiso (AUR extract-xiso-git) or
    xdvdfs (cargo install xdvdfs-cli):

    extract-xiso -x "Amped 2.iso" -d game_files

    or xdvdfs unpack "Amped 2.iso" game_files. Already have an extracted disc folder? Copy its contents instead.

  3. Put it in the right place: a folder named game_files
    next to run.sh / run.bat in the unpacked package folder (the package already has an empty one with a short
    README in it).

  4. Check the layout: default.xbe must sit directly in game_files/, not in a subfolder (no
    game_files/Amped 2/default.xbe). The whole disc is about 4 GB; keep every file and folder as extracted (the
    letter case of the names does not matter).

Amped2-Recomp-v0.1.0-linux-x86_64/
├── amped2_recomp
├── run.sh
└── game_files/
    ├── default.xbe
    ├── Audio/
    ├── Levels/
    ├── Movies/
    └── … (the rest of the disc)

Without game_files/default.xbe, ./run.sh stops with a message telling you where the files belong. Saves and
the game's cache go to ~/.local/share/xboxrecomp, not into game_files/.

What works

  • Boot with the Microsoft Game Studios logo (skipped by default) and the intro movie, played in real time
  • Audio through the emulated Xbox APU
  • Legal screen, title, profile creation and Choose a Look, main menu, career menu and level select
  • The 3D rider in the menus and on the slope, complete and matching the original
  • Riding: Millicent 1 (Evergreen) loads and plays, with the HUD, the challenge cards and the goals board
  • Keyboard as player 1, XInput/SDL controllers with hotplug and rumble

Features

  • Vulkan renderer: 60 fps in the menus, about 55 fps on the slope; the Xbox vertex programs run on the GPU.
    The software renderer (AMPED2_RENDERER=cpu) is kept as a slow reference.
  • Controllers: Xbox 360/One/Series, 8BitDo (X-input), anything SDL2 knows; plug in at any time; the game's
    vibration goes to the pad's motors
  • Keyboard with Amped 2 keys: WASD to steer, Space to accelerate/jump, U/O for lip tricks and jibs, IJKL for
    grabs, Escape to pause, Tab to reset (works the same on QWERTZ/AZERTY)
  • Skippable logo and intro (AMPED2_SKIP_LOGOS, AMPED2_SKIP_INTRO)

Platform status

  • Linux (x86-64): tested on Garuda Linux (Arch) with an NVIDIA GPU (proprietary driver): boot, menus and a
    ride on Millicent 1. Other GPUs and drivers (AMD, Intel, Mesa) are not tested yet.
  • Steam Deck: not tested yet.
  • Windows: experimental, not playable yet.
    • Software (CPU) renderer only, very slow: about 4-6 fps in the menus and about 2 fps on the slope. The
      Vulkan renderer is Linux-only for now; porting it to Windows is planned.
    • Only tested on Linux with Wine 11.20 and GE-Proton 11-11 – not on a real Windows PC yet. Under both, run.bat
      boots the game, a new profile is created and saved, and the menus and a ride on Millicent 1 work (slowly).
      Reports from Windows 10/11 are very welcome.
    • Under Wine/Proton the movies stay black and there is no music; sound effects work.
    • The software renderer draws stray triangles stretched out from trees and other objects.
  • macOS: not started.

Known issues

  • Music can stop suddenly while playing; it comes back later, but very quiet and with crackling.
  • Only the menus and the first rides of the career (Millicent 1) have been checked; a full career, saving and
    loading over several sessions and multiplayer are not verified yet.
  • Rides run at about 55 fps instead of a steady 60.
  • The rider has no shadow yet.
  • Internal resolution fixed at 640x480 (4:3), window only: no resolution scaling, widescreen or full-screen modes
    yet – planned.
  • Audio is mixed to stereo (no 5.1 yet).
  • The save folder ~/.local/share/xboxrecomp (its Cache part) is shared with SSX3-Recomp.
  • Windows is experimental and not playable yet (see Platform status): software renderer only, very slow,
    black movies and no music under Wine/Proton, stray triangles in the software renderer.

Please report bugs at Issues with the console output
(./run.sh 2>&1 | tee run.log; on Windows the run.log next to run.bat).

For developers

  • The Windows package was added to this release after the tag: it is built from the v0.1.0 sources plus two
    build changes (MinGW links xinput1_4.dll instead of xinput1_3.dll; run.bat sets
    RECOMP_WIN_PLACEHOLDER=1, without which Wine/Proton cannot map the GPU's tiled memory window at 0xF0000000 and
    the game crashes at the first movie frame). The Linux package is unchanged.

Building it yourself

See the README: pipeline and build directly on
Linux, or in the Ubuntu 24.04 container (scripts/docker.sh); scripts/build_win.sh for the MinGW cross build.

License

GPL-3.0-or-later. Third-party licenses (xboxrecomp: MIT and LGPL-2.1 parts, volk: MIT) are in the package's
licenses/ folder. Unofficial fan project, not affiliated with or endorsed by Microsoft.