/joybus-pio

GameCube/Nintendo 64 comms library using the RP2040's PIO

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

joybus-pio

GameCube/Nintendo 64 comms library using the RP2040's PIO

Changes done in this fork

  • Added the fake-pico.hpp library to fake Pico headers for non-ARM compilers. Integrated it into all header files of joybus-pio. (PR: #4)
  • Added a Catch2 test project using GCC (not ARM) (PR: #4)
  • Added a default constructor and Initialize() function for GamecubeConsole, GamecubeController, N64Console and N64Controller. (PR: #4)
  • Updated all examples to use default constructors and Initialize(). (PR: #4)
  • Created a proper CMakeLists structure with joybus_pio as a standalone library. Build any project inside examples to include it. (Issue: #1, PR: #2)

Usage

This library is designed and tested to work with system clock set to 130MHz for the PIO clock divider to be correct.

You can add this library in lib_deps if using PlatformIO (tested with arduino-pico core) or add as a git submodule if using Pico SDK.

Autogenerated API documentation can be found here

Code examples for usage of each API can be found here

License

This project is licensed under the GNU LGPL Version 3 - see the LICENSE file for details