Skip to main content

A BizHawk external tool + python library for python scripts to communicate with the BizHawk emulator.

Project description

birds-eye

A BizHawk external tool + python library giving a (hopefully) convenient interface for python scripts to communicate with the BizHawk emulator.

This is the first project I've made with the intent of others using it, so any kind of suggestion would be incredibly helpful.

Thank you :]

This library is VERY bares bones at the moment, with only the current features available:

  • Connecting to the external tool

  • Retrieving memory data from the external tool (addresses are set in the ext. tool)

  • Sending inputs to be executed in the emulator

I plan on adding a lot more as I continue to use this library myself. (see TODO section below)

Tested using BizHawk version 2.6.2, however other versions might work.

Setup

External Tool

The external tool can be found and downloaded in the birds-eye github repository. (check releases)

Move BirdsEye.dll to the ExternalTools directory in your BizHawk folder.

It should look like this afterwords:


BizHawk

+--ExternalTools

|   +--BirdsEye.dll

|   +--...

+--EmuHawk.exe

+--...

If everything is correct, then you should be able to open up the external tool by running the emulator, then going to

Tools -> External Tools -> BirdsEye

Installing the library

pip install birds-eye-lib

Communication Modes

Determines how the external tool communicates with the emulator and a connected python script.

Manual

The external tool will not send or receive messages to and from a connected python script. User will still have

full control over the emulator using the external tool or the emulator itself.

Commandeer

This mode will allow a connected python script to begin interacting with the emulator by sending and receiving

messages to and from the external tool.

TODO

This is a list of the current improvements that are currently being worked on, or plan to be.

Library

  • Check if socket disconnects

  • Method for reconnecting to the ext. tool after prematurely disconnecting

External Tool

  • Save selected memory addresses to be read from for later sessions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

birds-eye-lib-0.1.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

birds_eye_lib-0.1.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file birds-eye-lib-0.1.0.tar.gz.

File metadata

  • Download URL: birds-eye-lib-0.1.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for birds-eye-lib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 974f7d8d90dfd63bf4cd673540403e2cd9cb00b3222670272feb18c3100dfddf
MD5 5cab02f446133bd436992cf0211ad19f
BLAKE2b-256 cd45903641a1d50baab7bd69726968eb392347c3d38bce8dd6b9e995787563a2

See more details on using hashes here.

File details

Details for the file birds_eye_lib-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: birds_eye_lib-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for birds_eye_lib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42e5d16fd79037363b5e9d99761e3544ee19d6dc7a7aa0cd07f212dcec2a1d10
MD5 f9456eeea22c65b0a456166e0530a4d3
BLAKE2b-256 aaa9239f17d15d28ecac6ab3ccb2aee26e11c1ef7fcb217539275a2caba69da9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page