Releases: ptitSeb/box86
Releases · ptitSeb/box86
v0.1.6
What's Changed
- Changes in Dynarec to make flags optimizations before CALL and RET opcode less aggressive.
- Added a Vulkan wrapper.
- Improved wrapping of SDL_mixer/ SDL2_mixer libraries.
- Improved wrapping of some GTK structures.
- Added a quick and dirty wrapping of GTK3 (based on current GTK2).
- Improved the signal handling, should be more stable now (the signal handler from syscall still need some works).
- Added the RK3399 profile, and some hints to build 32bits box86 on 64bits OS.
- Fixed some wrapped printf formating not handled correctly.
- Fixed some buserror with the new LOCK mecanism handling.
- A few more Dynarec opcodes added.
- If winedbg is tried to be launched, exit without launching it (it doesn't work anyways).
Contributions
- Generate binfmt so it points to the correct path by @linkmauve in #244
- PKGBUILDs for Arch Linux. by @SpacingBat3 in #239
- Fix install target after previous change by @linkmauve in #245
- added few more wrapper for libcrypto (for #250) by @daitj in #251
New Contributors
- @linkmauve made their first contribution in #244
- @daitj made their first contribution in #251
v0.1.4
What's Changed
- Change in Dynarec's memory handling, to simplify it (and hopefully optimized it).
- Even more opcodes added.
- And some more Dynarec opcodes.
- Fixed some issue were PltResolver was injected but should not be.
- Fixed many Dynarec and non dynarec opcodes.
- Improved Signal handling.
- Added a few more wrapped libraries (like curl).
- Gallium9 is now wrapped (thx @icecream95).
- Fixed and simplied many wrapped functions (especialy the one where a callback is involved).
- Fixed Dynarec "freeing" a Dynablock sometimes causing a corruption of the heap (generally happens in case of JIT code).
- Optimized the way LOCK prefix work when using Dynarec on ARM.
- improvements to the ARM opcode Printer (for dumping Dynarec blocks) improvement (thx @rajdakin).
Contributions
- Removed backslash which was breaking ccmake by @shahidali55 in #186
- [DYNAREC] Fixed the UBFX and others instructions by @rajdakin in #191
- Various printer fixes by @rajdakin in #200
- Forgot to add those files by @rajdakin in #201
- Fixed some instructions printer by @rajdakin in #210
- Wrap Gallium Nine by @icecream95 in #219
- Optimize compilation & full install commands by @Botspot in #221
- Fix presumable typo in wrappedlibncurses files by @mogwa1 in #230
- Create a fake IDirect3D9 object instead of changing the vtable by @icecream95 in #231
New Contributors
v0.1.2
What's Changed
- The Dynarec now handle JIT code
- Added support for Unity games (not perfect yet).
- Added support for Wine (not perfect yet). You need an x86 build of Wine to use it.
- Added support for Steam (not perfect yet). Note that Steam have limited functionalities on 32bits (only mini-mode is available).
- More wrapped libs
- Added support for the "PltResolver". This makes the order of libraries less important and many symbols are now resolved at runtime.
- Added an option to build Box86 as a library (to wrap dynamic library).
- Better Signal handling (not perfect yet).
- More opcodes added, more opcode fixes.
- More Dynarec opcodes.
- Added support for FS:, and creating custom selector (needed by Wine).
- There is now 1 x86emu_t structure per thread (simplifying/optimising many callback handling).
- Box86 now has a logo!
- Added options handling (only version and help for now). Now it's much usefull exept for version printing.
Contributions
- Include sysmacros.h in elfloader.c in #97
- Printer automation by @rajdakin in #108
- Wrap some posix_spawn functions by @icecream95 in #109
- Fix configuration on older CMake by @rajdakin in #111
- Add option to fix 64bit inodes by @M-HT in #123
- Fix 64bit inodes in readdir and readdir_r functions by @M-HT in #124
- Allow compilation with older version of glibc by @M-HT in #126
- Fixed the U/SXT* opcodes print (and probably others too) by @rajdakin in #127
- Fixed the ARMs and ARM$ instructions type for the printer by @rajdakin in #128
- Fixed ARMS (ARM shifted) instruction category by @rajdakin in #129
- Dynarec printer fix by @rajdakin in #130
- Explicit error message when having 64-bits ELFs by @rajdakin in #132
- Update CMakeLissts.txt to copy libstdc++.so.5 by @Mashintime in #144
- Language fixup in README by @Newbytee in #156
- Add a wrapped function for __cmsg_nxthdr by @icecream95 in #157
- Fix compliation of non-dynarec build by @Icenowy in #159
- Add an automatic wrapper for {,_}obstack_free by @Icenowy in #163
- wrap g_utf8_skip in glib, which is a pointer to an array of char by @Icenowy in #165
- prepending LD_LIBRARY_PATH by @Icenowy in #166
- wrap SDL_to{lower,upper} by @Icenowy in #170
- dynablock: do not access value when foreach on marks by @Icenowy in #172
- check whether blocks hashmap exists when removing block from it by @Icenowy in #173
- [DYNAREC] Avoid SIGBUS on FLD double by @Icenowy in #174
- Make test10 more robust by @truboxl in #175
- Fix spelling of surprisingly in README.md by @spacepilotAV in #176
- [DYNAREC] Fixed the four VMOV VFPU instructions printer by @rajdakin in #177
- x86 build fix by @rajdakin in #178
New Contributors
- @Mashintime made their first contribution in #144
- @Newbytee made their first contribution in #156
- @Icenowy made their first contribution in #159
- @truboxl made their first contribution in #175
- @spacepilotAV made their first contribution in #176
v0.1.0
What's Changed
- Dynarec!!! Only for ARM (note that Dynarec doesn't support JITed code for now).
- Added real support for getcontext/set/context/makecontext/swapcontext.
- Preliminary signal handling.
- Fixes to SDL(1/2) Image and SDL1 Mixer, and to SDL1.2 RWops usage.
- Fixed numerous issues in opcodes (both interpretor and dynarec). FTL works fine now, among many others.
- Added wrapped GTK support (still ongoing, many libraries involved).
- Make loading of libraries more configurable.
- If a wrapped native library is not found, try to use an emulated one.
- Added an env. var. to force the use of emulated libraries for certain libraries.
- Added an env. var. to precise which libGL to use.
- Added Install / Uninstall target (using systemd binfmt).
- Added more hardware targets (RPis, GameShell...).
- Wrapped more libraries (including FreeType, smpeg, ncurses, sndfile...).
Contributions
- Fixes for various issues by @M-HT in #9
- Add more wrapper functions by @meveric in #10
- Working on KotoR2 adding functions on the way by @meveric in #11
- most stuff needed for factorio by @meveric in #12
- New instructions and other fixes by @M-HT in #13
- working on A Bird Story by @meveric in #15
- Some cleanup and trying to get Rocketbirds to run by @meveric in #16
- started working on Gratuitous Space Battles by @meveric in #17
- adding more missing functions by @meveric in #18
- Fixed the
NOLOADADDR
option by @rajdakin in #22 - Remove almost all GCC warnings by @rajdakin in #23
- Fixed an ignored warning by @rajdakin in #25
- Python generator enhancement by @rajdakin in #26
- Test 10 by @rajdakin in #27
- Upgrade the python generator by @rajdakin in #28
- Correct fix for the generator bug by @rajdakin in #29
- Fix function vsscanf in libc wrapper by @M-HT in #33
- Fixes by @rajdakin in #46
- Fix wrapper generator to work with python2 and python3 by @M-HT in #47
- New instruction and minor fixes by @M-HT in #48
- README fixes by @ctoth in #51
- Fix some spelling and grammar in the help text in #52
- Fix undefined reference to inline functions when building with O0 by @afonso360 in #60
- Implement all MMX Instructions + Tests by @afonso360 in #61
- Fixed the PSRAQ instruction by @rajdakin in #63
- Syntax issue on line 17 by @kant in #65
- Syntax issues fixed by @kant in #66
- Add some wrapped functions for Arkos Tracker 2 by @icecream95 in #71
- Added required flags in CMakeLists for dynarec compilation by @slock83 in #70
- Add some png functions for glmark2 by @icecream95 in #72
- Added libncursesw to the wrapped libraries by @rajdakin in #77
- Fixed the ncurses' ulong problem, added formw to the wrapped lib list by @rajdakin in #78
- Update CMakeLists.txt (Typo) by @BlackHazel in #80
- Update Gameshell params by @madcock in #82
- Implement some FS opcodes used in windows dlls by @mittorn in #86
- Create an uninstall target in #87
- Clean up Gameshell section by @madcock in #92
New Contributors
- @ctoth made their first contribution in #51
- @afonso360 made their first contribution in #60
- @kant made their first contribution in #65
- @slock83 made their first contribution in #70
- @BlackHazel made their first contribution in #80
- @madcock made their first contribution in #82
- @mittorn made their first contribution in #86
v0.0.4
- Improved the initialisation of dependent libraries. More things work now.
- Added a lot of wrapped functions.
- Added a few wrapped libraries (like libz or some other x11 related library).
- For trace enabled build, Trace can be enabled only after a certain amount of opcodes (still, a debugger would be better).
- Some fixes in a few opcodes, and implemented x87 rounding (SuperMeatBoy behaves better now).
- FTL 1.6.9 still has corrupted music, but older 1.5.13 seems fine (different set of libraries).
v0.0.2
- A full commercial games runs fine on the Pandora platform: Airline Tycoon Deluxe.
- Implemented all planned subparts of Box86 except JIT support.
- CPU Emulation is at roughly 75%. This includes x87 and SSE/SSE2. MMX is barely implemented (but barely used anyway).
- x87 emulation is simplified, no real x87 State handling (but should not be mandatory, as the native libm library is used)
- No Signal handling yet
- ELF Loader is crude and probably full of bugs. Also, the initialisation of libraries are defered after all symbols are resolved for now.
- Wrapped libraries include libc, libm, rt, pthread, libdl, dllinux, libasound, GL, GLU, SDL1/mixer/image, SDL2/mixer/image/smpeg, OpenAL/ALUT, libz, libpng16, vorbisfile, x11/xrandr/xxf86vm.
- Most wrapped libraries are still partially implemented ( the SDL1 & GL libraries should be complete).
- Implemented specific mecanism for SDL(1/2) RWops, to be able to used them both in Native and x86 world.
- WorldOfGoo works, but is painfully slow on the Pandora platform (there is too much double math, and lack of JIT).
- FTL works, but sound is broken (issue with thread? asound? or CPU core?)
- Limbo launches but crashes before main menu.
Full Changelog: https://github.com/ptitSeb/box86/commits/v0.0.2