Refined the README

This commit is contained in:
ptitSeb 2019-03-03 21:04:07 +01:00
parent 62b7326a75
commit 9b968777a0
3 changed files with 101 additions and 3 deletions

32
COMPILE.md Executable file
View File

@ -0,0 +1,32 @@
Compiling
----
*for Pandora*
`mkdir build; cd build; cmake .. -DPANDORA=1; make`
*or for Other ARM Linux*
`mkdir build; cd build; cmake .. -DLD80BITS=1 -DNOALIGN=1; make`
*or for x86 Linux*
`mkdir build; cd build; cmake .. ; make`
*or use ccmake*
Alternatively, you can use the curses-bases ccmake (or any other gui frontend for cmake) to select wich platform to use interactively.
*use ccache if you have it*
Add `-DUSE_CCACHE=1` if you have ccache (it's better if you plan to touch the sources)
*to have a Trace Enabled build*
To have a trace enabled build (warning, it will be slower), add `-DHAVE_TRACE=1` but you will need, at runtime, to have the [Zydis library](https://github.com/zyantific/zydis) library in your `LD_LIBRARY_PATH` or in the system lib folders.
----
Testing
----
A few tests are included.
They can be launched with `ctest`
They are very basic and don't test much for now.

26
README.md Normal file → Executable file
View File

@ -6,7 +6,7 @@ Box86 will let run x86 Linux program (games) on non-x86 Linux, like ARM (needs t
Also, Box86 use native version for some "system" libraries, like libc, libm, or SDL and OpenGL, leading to more performance and easier integration with host system.
Most x86 Games needs OpenGL, so on ARM platform, a solution like gl4es is probably needed.
Most x86 Games needs OpenGL, so on ARM platform, a solution like [gl4es](https://github.com/ptitSeb/gl4es) is probably needed.
Note that current version of Box86 doesn't feature any form of JIT/Dynarec: expect everything to be slow.
@ -17,10 +17,30 @@ To have the TRACE enabled (i.e. dumping to stdout all individual x86 instruction
Some x86 internal opcode use parts of "Realmode X86 Emulator Library", see [x86primop.c](src/x86primop.c) for copyright details
Change log is accessible [here](CHANGELOG.md)
Here are 2 videos, one of "Airline Tycoon Deluxe" running on an gigahertz OpenPandora, and the other of "Bit.Trip.Runner" running on an ODroid XU4.
[![Play on Youtube](https://img.youtube.com/vi/bLt0hMoFDLk/3.jpg)](https://www.youtube.com/watch?v=bLt0hMoFDLk) [![Play on Youtube](https://img.youtube.com/vi/8hr71S029Hg/1.jpg)](https://www.youtube.com/watch?v=8hr71S029Hg)
----
Compiling
----
How to compile can be found [here](COMPILE.md)
----
Usage
----
There are a few environnement variable to control Box86 behavour.
See [here](USAGE.md) for all variables and what they do.
----
Version history
----
The change log is [here](CHANGELOG.md)
(If you use Box86 in your project, please don't forget to mention Box86)

46
USAGE.md Executable file
View File

@ -0,0 +1,46 @@
Usage
----
There are many environnement variable to control Box86 behavour.
##### BOX86_LOG
Controls the Verbose level of the log
* 0
* NONE : No message (exept some fatal error)
* 1
* INFO : Current default. Show some log
* 2
* DEBUG : Verbose a lot of stuffs (like relocations or function called)
* 3
* DUMP : All DEBUG plus DUMP of all ELF Info
#### BOX86_LD_LIBRARY_PATH
Controls the folder scanned to look for x86 libs. Default is current folder and `lib` in current folder.
Also `/usr/lib/i386-linux-gnu` and `/lib/i386-linux-gnu` are added if they exists
#### BOX86_PATH
Controls the folder scanned to look for x86 executable. Default is current folder and `bin` in current folder.
#### BOX86_DLSYM_ERROR
* 0 : default. Don't log `dlsym` error
* 1 : Log dlsym error
#### BOX86_TRACE_FILE
Send all log and trace to a file instead of `stdout`
#### BOX86_TRACE
Only on build with trace enabled. Trace allow the logging of all instruction execute, along with register dump
* 0 : No trace
* 1 : Trace enabled. The trace start after the init off all depending libs is done
* symbolname : Trace only `symbolname` (trace is disable if the symbol is not found)
* 0xXXXXXXX-0xYYYYYYY : trace only between the 2 addresses
#### BOX86_TRACE_START
Only on build with trace enabled.
* NNNNNNN : Start trace anly after NNNNNNNN opcode execute (number is an `uint64_t`)
#### BOX86_TRACE_XMM
Only on build with trace enabled.
* 0 : Default, the XMM (i.e. SSE/SSE2) register will not be logged with the general and x87 registers
* 1 : Dump the XMM registers