It is a Game Boy emulator written in Python.
Changes:
- A lot of general fixes
- Improved documentation with examples
- pyboy.tick(10, True) now takes two optional parameters:
* n number of frames to progress
* render whether to render the screen on the last processed frame
- pyboy.screen_image() moved to pyboy.screen.image
- The "botsupport" module has been removed, and most of API is moved to
the PyBoy object
- pyboy.button(‘a’) can be used to send input, and will automatically
release after 1 frame
- pyboy.button_press(‘a’) allows for manual control of input
- pyboy.button_release(‘a’) allows for manual control of input
- pyboy.memory[0x100:0x150] = 123 replaces all three
- pyboy.get/set/override_memory_value and extends it with an option to
specify bank
- pyboy.hook_register(bank, address, callback, context) registers a
callback at a specific point in your game. Used for fine-grained
tracking of events and control of the game
- pyboy.symbol_lookup(symbol) to look up address for a symbol to use
with memory read/write
- “dummy” and “headless” windows have been merged into “null”
window because of the new pyboy.tick
- pyboy.game_wrapper Game wrappers are now automatically loaded and
accessible through the game_wrapper property
- Remove fitness scores from game wrappers
- pyboy.game_area() is a shortcut for pyboy.game_wrapper.game_area()
- pyboy.game_area_collision() is a shortcut for
- pyboy.game_wrapper.game_area_collision()
- pyboy.game_area_dimensions(…) can be used to configure game_area
- pyboy.game_area_mapping(…) can apply a mapping to all game area
tiles. I.e. simplify the tiles, or zero-out uninteresting tiles
- OpenAI Gym/Gymnasium has been removed from PyBoy. It will be replaced
by an example on the Wiki instead
- pyboy.memory_scanner allows to isolate memory address of interest
- Support for 768 CGB tiles vs. 384 in DMG mode
Download:
https://github.com/Baekalfen/PyBoy/releases
https://github.com/Baekalfen/PyBoy