Skip to content

kbembedded/flipper-gblink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 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.6

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/EstebanFuentealba/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",
        ),
    ],
...
)