Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation
Created on 2018-11-18 by Tuxality, last modified on 2024-02-20
Infuse is a project that is attempting to reimplement by one person at least partially BREW subsystem, which is a more than 10 years codebase of the giant Qualcomm Inc. based on a clean room reverse engineering approach. It will take a lot of time to reimplement such and a lot will change regarding the quality of the emulation as well as the compatibitlity depending on the progress. Please do not ask for the deadline / release / whatever, Infuse will be released when it will be ready for the public audience to enjoy without major issues. However, comments with ideas regarding the feature set are very much welcome!
Infuse is a Qualcomm BREW subsystem reimplementation and Zeebo high-level emulator written from scratch, based purely on clean reverse engineering attempts. Currently it is using dynarmic ARM JIT core and runs three Zeebo commercial games in fully playable state which is Double Dragon, Crash Nitro Kart 3D and Zeebo Family Pack as well as some of the BREW samples.
HID interface currently allows up to two gamepad controllers connected in Zeebo games with both digital and analog input processed supporting cooperative mode in games such as Double Dragon as well as two player competition in Zeebo Family Pack with no input lag observed.
Infuse audio backend supports basic MIDI, WAVE and MP3 playback and multiple streams mixing with resampling functionality independent of host sampling rate and channel count. Currently waveOut API for Windows, Core Audio for macOS, Media Kit for Haiku OS as well as Pulse Audio for GNU/Linux sound backends are implemented. Additionally, ALSA audio backend for GNU/Linux is written however not working properly.
As of time of writing, Infuse fully supports macOS, Windows, GNU/Linux and Haiku OS operating systems as well as can be ported and built as a fully native application on 32-bit ARM based devices such as Nintendo 3DS without ARM core emulation (port not yet finished). It achieves more than full-speed Zeebo emulation on Macbook Pro 2020 M1 based notebook with non-optimized debug build. The x86_64 based Windows and GNU/Linux build is playable in current state even on old CPUs such as Intel Haswell era CPUs as well as even low-end mobile Intel Pentium N4200 CPU is able to get quite decent framerates. Please keep in mind that most, if not all, Zeebo games have locked up framerate varying from 20 FPS to 30-35FPS in general.
Currently I'm focused on some BREW API implementation as well as cross-platform GUI and quality of life improvements for the end-users.
▼ Current Version & Downloads ▼
Current version of Infuse can be found below, please check LICENSE file inside archive before usage. For more detailed information regarding configuration please check the README file first.
A1 - Development Preview #1
🔽 macOS (arm64) - not available yet
🔽 Haiku OS (x86_64) - not available yet
🔽 Windows (x86_64) - not available yet
🔽 GNU/Linux (x86_64) - not available yet
▼ Compatibility list ▼
Compatibility list will be expanded depending on the progress of the emulator development so please do not request / query regarding (insert your favorite game here) compatibility, thank you in advance.
Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation development quick update #1
Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation development #3
▼ Screenshots ▼
Double Dragon for Zeebo
Crash Nitro Kart 3D for Zeebo
Zeebo Family Pack
OpenGL ES BREW demos
▼ I would like to thank following people ▼
▼ Development Diary ▼
Media with previous versions of Infuse are posted below just for reference.
➤ Version: A2 (outdated)
Second milestone achieved on 2nd August 2023 by booting Zeebo games in a fully rewritten Infuse proof-of-concept after getting around some issues. It is still not yet final design.
Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation development #2
Crash Nitro Kart 3D for Zeebo
Zeebo Family Pack
➤ Version: A1 (outdated)
First milestone achieved on 3rd November 2021 after resurrecting project and completely rewriting Infuse proof-of-concept with ARM emulation built-in. However such approach needed another full rewrite due to the technical issues and limitations as shown above... ;)
Various screenshots from the Infuse proof-of-concept running on Arch Linux with wxWidgets GUI
➤ Version: A0 (outdated)
First proof-of-concept from November 2018 that was kept private only for some time due to the private concerns. I have posted in July 2019 a video that shows compatibility layer that allows to execute native Qualcomm BREW applications (including Zeebo stuff) on Windows Mobile ARM-based devices. Worked somewhat similarly to WINE, loaded MODs and executed them with use of my BREW subsystem implementation including OpenGL ES 1.x support. Had "fancy" 90s GUI too. It was just a very simple try to get Kingdom Hearts V-Cast running at least on something, spoiler it didn't worked and Kingdom Hearts icons were self-made due to the MIF being encrypted, others were original. Project was put on hold during pandemic as well as private issues.
Qualcomm BREW subsystem compatibility layer / Zeebo emulator for WM #1
Running on my beloved SHARP EM-ONE S01SH handheld that is Windows Mobile powered.