Projects

Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation


Created on 2018-11-18 by Tuxality, last modified on 2024-04-18

PLEASE NOTE:
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, PCM/ADPCM 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 RG353v without ARM core emulation. Additionally separate target variants are supported such as Steam Deck. 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.

▼ Current Version & Downloads ▼


Current version of Infuse can be found below, please check LICENSE file inside archive before usage as well as read one available below. For more detailed information regarding configuration please check the README file first.

If you do not agree with the license conditions, please do not use this software nor redistribute it in any way.

License:



Copyright (C) 2018, 2023-2024 Tuxality This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for individual purpose and is subject to the following restrictions: 1. The origin of this software must not be misrepresented, you must not claim that you wrote the original software nor suggest that you were part of such. 2. Altered versions of source code must be plainly marked as such, must not be misrepresented as being the original software. 3. Altered versions of binary distribution and redistributing of such is not allowed in any way. 4. This notice cannot be removed or altered in any way from any source as well as binary distribution. 5. This software cannot be redistributed in form of unofficial bundle or package as well as it cannot be publicly hosted by the third parties, its origin must not be misrepresented. 6. This software is intended to be used by the end-user, it cannot be sold nor be part of any commercial product. 7. Above restrictions are subject to change in the future by the original project owner only, which is Tuxality.
If you agree with above terms, please proceed further to enjoy Infuse. Thank you for understanding.

Version:


A1 - Development Preview #1

Download:


🔽 macOS (arm64) - not available yet
🔽 GNU/Linux (x86_64) - not available yet
🔽 Steam Deck (x86_64) - not available yet
🔽 Haiku OS (x86_64) - not available yet
🔽 Windows (x86_64) - not available yet

Please note that GNU/Linux and Steam Deck builds differ despite both targeting generic GNU/Linux distribution, so in case of trying to run Infuse on Steam Deck please use one that is built specifically for such.

Download (native version):


🔽 RG353v stock (arm) - not available yet
🔽 R35s / R36s ArkOS (arm) - not available yet

Please note that the native version is in very early experimental stage and is not on par with emulated version in terms of performance nor considered stable in any way.

▼ Compatibility list ▼



Zeebo

Name
Status
Notes
Double Dragon
Playable
Fully working including sound, background music, font rendering, two players cooperative mode as well as progress and configuration saving.
Crash Bandicoot Nitro Kart 3D
Playable
Fully working including sound, background music, progress and configuration saving.
Zeebo Family Pack
Playable
Fully working including sound, background music, two players competetive mode in built-in games.
Reckless Racing
In game
Almost working in debug build as it goes into gameplay with most textures missing, no sound. Sadly there is a memory leak which slowdowns game after a while then crash due to the emulated platform being out of memory.
Raging Thunder II
In game
Same as above, almost working in debug build as it goes into gameplay with most textures missing, no sound. Sadly there is a memory leak which slowdowns game after a while then crash due to the emulated platform being out of memory.
Quake
Nope
Not working yet, almost boots in debug build, crash during splash screen.
Quake II
Nope
Not working yet, almost boots in debug build.
Rally Master Pro
Nope
Not working yet, almost boots in debug build.
Zuma's Revenge
Nope
Game crash very early due to unknown reason.
Action Hero 3D: Wild Dog
Nope
Not working yet, external dependencies are not currently supported.
Ultimate Chess 3D
Untested
Game not tested yet.
FIFA 09
Untested
Game not tested yet.
Brain Challenge (Treino Cerebral)
Untested
Game not tested yet.
Need for Speed Carbon: Own the City
Untested
Game not tested yet.
Alpine Racer
Untested
Game not tested yet.
Ridge Racer 3D
Untested
Game not tested yet.
Prey Evil
Untested
Game not tested yet.
Pac-Mania
Untested
Game not tested yet.
Resident Evil 4: Zeebo Edition
Untested
Game not tested yet.
Tekken 2
Untested
Game not tested yet.
Zeebo Extreme: Rolimã (Ruleman)
Untested
Game not tested yet.
Bejeweled Twist
Untested
Game not tested yet.
Zeebo Extreme: Corrida Aérea (Air Race)
Untested
Game not tested yet.
Galaxy on Fire
Untested
Game not tested yet.
Zenonia
Untested
Game not tested yet.
Zeebo Sports Tênis (Zeebo Tennis)
Untested
Game not tested yet.
Zeebo Extreme: Baja
Untested
Game not tested yet.
Heavy Weapon
Untested
Game not tested yet.
Zeebo Sports Vôlei (Zeebo Volley)
Untested
Game not tested yet.
Zeebo Extreme: Jetboard
Untested
Game not tested yet.
Zeebo Extreme: Bóia Cross (Acqua Ride)
Untested
Game not tested yet.
Street Slam (Street Hoop)
Untested
Game not tested yet.
Peggle
Untested
Game not tested yet.
Toy Raid
Untested
Game not tested yet.
Caveman Ninja (Joe & Mac)
Untested
Game not tested yet.
Spinmaster
Untested
Game not tested yet.
Un Juego de Huevos (Um Jogo de Ovos)
Untested
Game not tested yet.
Super Burger Time
Untested
Game not tested yet.
Karnov's Revenge (Fighter's History)
Untested
Game not tested yet.
Wizard Fire (Dark Seal II)
Untested
Game not tested yet.
Magical Drop III
Untested
Game not tested yet.
Dark Seal (Gate of Doom)
Untested
Game not tested yet.
Alien Breaker Deluxe
Untested
Game not tested yet.
Zeebo F.C. Foot Camp
Untested
Game not tested yet.
Zeebo F.C. Super League
Untested
Game not tested yet.
Bad Dudes (Bad Dudes Vs. DragonNinja)
Untested
Game not tested yet.
Heavy Barrel
Untested
Game not tested yet.
Disney's All Star Cards
Untested
Game not tested yet.
Armageddon Squadron
Untested
Game not tested yet.
Iron Sight
Untested
Game not tested yet.
Zeebo Sports Peteca (Zeebo Sports Badminton)
Untested
Game not tested yet.
Zeebo Sports Queimada (Zeebo Sports Quemado)
Untested
Game not tested yet.
Alice in Wonderland: An Adventure Beyond the Mirror (Alice no País das Maravilhas)
Untested
Game not tested yet.
Tork and Kral
Untested
Game not tested yet.
Turma da Mônica em Vamos Brincar nº 1
Untested
Game not tested yet.
Zeeboids
Untested
Game not tested yet.
Z-Wheel
Nope
Not working yet, too many dependencies and effort to get this running for not that much of a gain. Will try to support it later, maybe.

BREW

Name
Status
Notes
Devil May Cry: Dante X Vergil
Nope
Not working yet, almost boots.
Kingdom Hearts V-Cast
Nope
Not working yet, almost boots.

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.

Videos



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
Screenshot  Screenshot  Screenshot  Screenshot
Crash Nitro Kart 3D for Zeebo
Screenshot  Screenshot  Screenshot  Screenshot  Screenshot  Screenshot
Zeebo Family Pack
Screenshot  Screenshot  Screenshot  Screenshot
OpenGL ES BREW demos
Screenshot  Screenshot  Screenshot  Screenshot

▼ I would like to thank following people ▼



  • merryhime for the awesome dynarmic ARM JIT which was a real pleasure to integrate and work with. Infuse would not exist in current form or at least would take much longer to develop without this, thank you!


  • ▼ 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.

    Videos



    Infuse - Zeebo multiplatform emulator / Qualcomm BREW reimplementation development #2



    Screenshots



    Crash Nitro Kart 3D for Zeebo
    Screenshot  Screenshot  Screenshot

    Zeebo Family Pack
    Screenshot  Screenshot  Screenshot

    ➤ 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... ;)

    Screenshots



    Various screenshots from the Infuse proof-of-concept running on Arch Linux with wxWidgets GUI
    Screenshot  Screenshot  Screenshot

    Screenshot  Screenshot  Screenshot

    ➤ 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.

    Videos



    Qualcomm BREW subsystem compatibility layer / Zeebo emulator for WM #1

    Running on my beloved SHARP EM-ONE S01SH handheld that is Windows Mobile powered.

    Click to list all projects...