From bfdcb023b3321d093e5fbe9944e9b818c3b65b20 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Tue, 23 Mar 2021 07:45:35 +0100 Subject: Added Box64 Logo and Icon from @grayduck, and added some test to README --- Box64Icon.png | Bin 0 -> 47370 bytes Box64Logo.png | Bin 0 -> 172296 bytes README.md | 38 +++++++++++++++++++++++++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 Box64Icon.png create mode 100755 Box64Logo.png diff --git a/Box64Icon.png b/Box64Icon.png new file mode 100755 index 00000000..94b34f42 Binary files /dev/null and b/Box64Icon.png differ diff --git a/Box64Logo.png b/Box64Logo.png new file mode 100755 index 00000000..281533f2 Binary files /dev/null and b/Box64Logo.png differ diff --git a/README.md b/README.md index 710c169d..b9235f73 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,43 @@ # box64 +![Official logo](Box64Logo.png "Official Logo") Linux Userspace x86_64 Emulator with a twist ---- -Box64 lets you run x86_64 Linux programs (such as games) on non-x86_64 Linux systems, like ARM (host system needs to be 64bit little-endian). \ No newline at end of file +Box64 lets you run x86_64 Linux programs (such as games) on non-x86_64 Linux systems, like ARM (host system needs to be 64bit little-endian). + +Because Box64 uses the native versions of some "system" libraries, like libc, libm, SDL, and OpenGL, it's easy to integrate and use with most applications, and performance can be surprisingly high in some cases. + +Box64 integrates a DynaRec (dynamic recompiler) for the ARM64 platform, providing a speed boost between 5 to 10 times faster than only using the interpreter. + +Some x86 internal opcodes use parts of "Realmode X86 Emulator Library", see [x86primop.c](src/emu/x86primop.c) for copyright details + + + +Logo and Icon made by @grayduck, thanks! + +---- + +Usage +---- + +There are a few environment variables to control the behaviour of Box64. + +See [here](USAGE.md) for all environment variables and what they do. + +Note: Box64's Dynarec uses a mechanism with Memory Protection and a SegFault signal handler to handle JIT code. In simpler terms, if you want to use GDB to debug a running program that use JIT'd code (like mono/Unity3D), you will still have many "normal" segfaults triggering. It is suggested to use something like `handle SIGSEGV nostop` in GDB to not stop at each segfault, and maybe put a breakpoint inside `my_memprotectionhandler` in `signals.c` if you want to trap SegFaults. + +---- + +Version history +---- + +The change log is available [here](CHANGELOG.md) + +---- + +Final words +---- + +(If you use Box64 in your project, please don't forget to mention Box64!) -- cgit 1.4.1