Skip to content

kbembedded/flipper-gblink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flipper Game Boy Game Link Cable API

Simple API that can be included in projects to provide a flexible and easy way to handle data exchange over a Game Link Cable.

Current Version: 0.62

Available from: https://github.com/kbembedded/flipper-gblink

Current feature status and future roadmap:

  • Ability to use EXT clock source. i.e. connected device drives the clock line
  • Callback on byte transfer completion
  • Flexibility in IO pin selection at alloc time
  • Ability to enable and disable interrupt on input clock
  • Ability to set timeout in microseconds between clock edges. If exceeded, it is assumed the next clock is the first bit of a byte
  • Set a NO_DATA_BYTE pattern. i.e. after a byte transfer is complete, a default byte is prepared to be sent out if no new data is provided before the transfer starts
  • Supports communication to GBC
  • Supports communication to GBA using GBC games
  • Supports older MALVEKE pinouts that would previously cause the Okay button to stop functioning after a trade
  • Supports communication to GB (untested, but should work)
  • Supports communication to GBA using GBA games
  • Function as INT clock source. i.e. Flipper Zero drives the clock line
  • Drive clock at varying speeds as GBC supports
  • Proper documentation

Use example

See https://github.com/kbembedded/Flipper-Zero-Game-Boy-Pokemon-Trading

To include this in a Flipper Zero application, add this repo as a submodule in the lib/ directory of the application source. Then add the following to application.fam:

App(
...
    fap_private_libs=[
        Lib(
            name="flipper-gblink",
        ),
    ],
...
)