Categories
Box64 Box86 General

Box86 v0.2.8 & Box64 v0.2.0

New version for both box86 and box64 have been tagged! More than 6 months since last release, so a lot of things changed! You can expect some more speed (like an almost x2 speed in Doom 20016 with the vulkan renderer), especially on box64, and better compatibility. With some refactor of the elf loader, programs…

Categories
Box64 Box86

Running Bash with Box86 & Box64

Both box86 & box64 are now able to run bash. And a x86/x86_64 version of bash can also be found in the the “tests” folder of box repo. While this is a neat feature, you could wonder what could be the use of this. Well, the use is to be able to run shell script…

Categories
Math

An axiomatic construction of math

I’ve always wondered how did we formally define the numbers starting from the ZFC (Zermelo-Fraenkel-Choice) set theory. However, I also knew that Zermelo’s axioms sets were sufficient to define “arithmetic”, as it is at least enough to prove its incompleteness (Gödel’s incompleteness theorem). So in this article, I want to write about how I managed…

Categories
Box64 Box86

Box86/Box64 vs QEMU vs FEX (vs Rosetta2)

Comparing performances I decided to compare the performances of the OpenSource Linux Userspace Emulator that allows you to run x86/x86_64 apps on ARM linux. There are QEMU-user, FEX-emu and Box86/Box64. How to bench Linux userspace emulator Test will consist of the bench I already used a couple of time, and that can be run as…

Categories
Box64 Dev

Box64 running on M1 with Asahi

Box64 running on mac M1 with Asahi

Categories
Box64 Box86 Gaming General

Box86/Box64 are easy to use

Discover how box86 & box64 are easy to use and install, and how they can be integrated in the system.

Categories
Box64 Box86 Dev

A deep dive into library wrapping

After talking about the dynarec, we’re going to talk about library wrapping. This article will be very technical from start to finish. Note: until the “Differences” paragraph, everything said is identical for box86 and box64. As such, until then, you can replace every “box86” with “box64” and “x86” with “x86_64”. The first step: loading As…

Categories
Dev OSDev

A peek at OS-deving part 2: memory management

Note: this article supposes you have already read part 1. While it shouldn’t be required, you should still give it a try. Now that we can boot to C, we need to start working on the C library. Let’s start with memory management. What’s needed here? So, what is memory management? Well, it can be…

Categories
Dev OSDev

A peek at OS-deving part 1: booting

Have you ever wondered, “How does the computer boot? How does the OS know what to do when”? Well, I did too, and so took it upon myself to… develop an OS. Intro Well, when I say “develop an OS”, I mean that I started writing something that could boot into an emulator. I didn’t…

Categories
Box64 Box86 Dev

Inner workings

A high‑level view of box86/box64 and a low‑level view of the dynarec This article explains the technical details about how box86 and box64 works (at the high level for the start and a low level for the dynarec). At the start, box86 (and box64) will extract useful informations about the executable being run: where is…