Allow MCPI To Run On Non-ARM32 Systems
Go to file
2024-11-15 13:59:58 -05:00
include/trampoline Runtime Refactor! 2024-11-10 05:26:16 -05:00
qemu Build Fixes 2024-11-15 13:59:58 -05:00
src Build Fixes 2024-11-15 13:59:58 -05:00
.gitignore Horrors Beyond Human Comprehension 2024-06-04 17:22:15 -04:00
CMakeLists.txt Runtime Refactor! 2024-11-10 05:26:16 -05:00
README.md Changes 2024-06-08 14:45:39 -04:00

MCPI-Reborn Runtime

Fact: Minecraft: Pi Edition is a 32-bit ARM program.

Another fact: Most modern computers do not use 32-bit ARM and therefore cannot run MCPI natively.

Solution: This project allows MCPI to run on modern computers.

How

This project works differently depending on the host system's architecture.

64-Bit x86 Host

On this platform, a patched version of QEMU is used.

QEMU emulates ARM code so MCPI can run on x86 hardware. And the patch adds a system-call which allows MCPI to run graphics code on the host. This prevents the need for emulated GPU drivers.

64-Bit ARM Host

QEMU is not necessary on this platform because it can already run 32-bit ARM code natively.

Instead, the runtime is implemented as two processes: a parent and a child. The child becomes MCPI and can send graphics commands to the parent. And because the parent is 64-bit, 32-bit drivers are not needed.

32-Bit ARM Host

This project is unnecessary on this platform.

Other Architectures

Any unlisted platforms are unsupported.