Infuse

From Emulation General Wiki
Revision as of 17:02, 8 July 2021 by NNNkey (talk | contribs) (Copied from latest Wayback Machine snapshot)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Infuse
Developer(s) Tuxality
Latest version N/A (proof-of-concept)
Active Yes
Platform(s) Windows Mobile
Emulates BREW
Website Emulator footage

Infuse is an as-of-yet unreleased BREW (including Zeebo) compatibility layer on ARM devices (such as Windows Mobile), and high-level emulator elsewhere.

History

On July 19, 2019, an old private video was released, showing the compatibility layer/emulator could run on Windows Mobile ARM-based devices, using a SHARP EM-ONE S01SH. It would load and execute MOD files using a subsystem of BREW with OpenGL ES support. Tuxality did a simple try to get Kingdom Hearts V-Cast running on non-BREW devices, to no avail. It was also noted the icon for the game was self-made due to the MIF being encrypted.

On October 14, 2020, it was revealed the emulator was being rewritten from scratch to support other platforms, such as x86_64 platforms.

The emulator, which is in early development, is planned to be made open source when the code quality improves enough.

Compatibility

Only a small part of the BREW interface was implemented before the rewrite, with the rest of the APIs being stubs used to allow BREW modules to run. The emulator could only run a hello world demo and the examples from the OpenGL SDK, with Kingdom Hearts V-Cast throwing up the following error:

This application has failed and will now close (Error 1)

Press any key to continue

Since the rewrite, the emulator can produce debug messages in an interface that doubles as a frontend, and, since, January 11th, 2021, fully load helloworld.mod, which prints 'Hello World' using the IDisplay::DrawText API. An OpenGL backend is being written for rendering purposes. It is unsupported due to no interfaces being exposed to it. However, some functions of the exposed AEEHelperFuncs, IShell and IDisplay interfaces are implemented, and the other functions are stubs to get modules to boot.

Milestones

  • January 11th, 2021 - helloworld.mod fully loads. However, it is unable to render text, only making it appear in debug logs.
  • Future - The next two milestones are to render 'Hello World' in helloworld.mod and possibly bring Infuse back to the standards of before the rewrite, including working BREW multithreading, timers and key input and properly loading dependencies and exported classes available to BREW modules via the IShell::CreateInstance API.