An implementation of the stochastic superoptimization algorithm STOKE for the Sharp LR35902 (also known as GB-Z80).
Make sure you have Poetry and Python 3.9+ installed. Then run:
$ poetry install
Input programs are specified as a list of CPU instructions. For a list of instructions available to the processor, take a look at insn.py or a standard reference.
Once you have the program specified, call gbso.optimize.optimize
on the program. A superoptimized, behaviorally equivalent program will be returned. Additional parameters are available to the optimization function to control search.
For a comprehensive example, see ex.py.