Crate olympia_engine

Source
Expand description

This crate represents the shared logic of olympia across all frontends.

The best modules to start looking in are the gameboy module which contains the emulation core, and rom which contains the logic for parsing ROMs and handling gameboy cartridge memory controllers.

By default, it is no_std compatible, and has the following optional features:

  • std - This feature can be enabled in a std environment to enable niceties like Display/Error implementations on error types.
  • disassembler - This feature can be enabled in any environment to enable support for dissambling gameboy instructions.

Modulesยง

  • Represents a variety of addressing types for emulation.
  • Methods useful for implementing debugging functionality
  • Event handling system for local emulators
  • Emulation core for a Gameboy.
  • Instruction components that can be applied to any instruction.
  • Contains operations on CPU registers
  • Handle communicating with an emulator over a remote channel
  • ROM and Cartridge handling code