Allow MCPI To Run On Non-ARM32 Systems
Go to file
2024-06-08 05:28:22 -04:00
include/trampoline Remove PTrace 2024-06-08 04:46:07 -04:00
native Rebrand! Rebrand! 2024-06-08 05:28:22 -04:00
qemu Rebrand! Rebrand! 2024-06-08 05:28:22 -04:00
.gitignore Horrors Beyond Human Comprehension 2024-06-04 17:22:15 -04:00
CMakeLists.txt Rebrand! Rebrand! 2024-06-08 05:28:22 -04:00
README.md Rebrand! Rebrand! 2024-06-08 05:28:22 -04:00

MCPI Runtime

Fact: MCPI is a 32-bit ARM binary.

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.