Rosette
This build is the most comprehensive update to Rosette. Whilst you have full freedom to look at the codebase, I have provided a .dmg file that will allow you to install the application, a key new change that makes installing Rosetta easy. Version 0.03 adds a stricter ABI Handshake layer, truly ensuring that every step of the way, there are checks to ensure macOS behavior mirrors Windows. This helped get rid of so many bugs. In addition, using this to test programs allows me to see what is now missing from the codebase, since a strict ABI handshake layer means that I must update the codebase accordingly to support new applications, and I can see exactly what lacks support.
Additionally, support for x86 instructions has only gotten better, with a new ISA layer that will be heavily updated by next update. This layer ensures that we are following the direct logic behind how x86 functions work due to some amazing documentation. Many additional inheritance checks also ensure that macOS is abiding by the rules that Windows abides by, which significantly also helps reduce the potential for Assembly problems to occur. A math system, and a check to that system, has been implemented to deal with any weird edge cases that may pop up involving operations. Situations like overflow, certain weird instruction documentation situations to keep track of, and more edge cases, are integral to check, so that when there are that cases via x86, we don't create subtle bugs that are very difficult to trace
Version 0.03 is a very comprehensive update that adds a lot of needed functionality. The game works best with Console-Tetris, in which the .exe file is contained within this project. You can launch Rosette and play this game, and it runs smoothly, outside of 2 annoying bugs I've yet to tackle. This is the first build I really feel proud of publishing, because whilst it lacks the ability to run the majority of apps, this is the first update in which a substantially good backend has been built out. It was difficult before to fix bugs due to a lack of a strict ABI layer, and now that Windows and macOS are able to be on the same page in terms of expectations (and how that translates equivalently on NEON) because of abort trap enforcement, it will be much easier to fix future problems
Next up is ensuring more x86 instructions are covered (some AVX and SSE instructions are covered), and finding new places to abstract inheritance via Zig. If you wish to only test things from the application, download the .dmg and the source code. In /assets/exe_examples/, are a list of .exe files. Console Tetris is the best application to run, and many Assembly files will/should run.
Version 0.04 will improve upon the current support layer, and making sure it truly handles the majority of Assembly instructions that users are likely to encounter (so more .exe files can run, hopefully). This is such a comprehensive version, that I really want to take my time on the next version. This may take significantly longer to make happen