Development:Porting

From TapTo Wiki

Revision as of 03:27, 30 April 2024 by Wizzo (talk | contribs) (Created page with "Requirements and notes for porting TapTo to other platforms. * Each platform supported by TapTo has a new submodule in the <code>platforms</code> and <code>cmd</code> modules. * The <code>platforms</code> submodule contains all platform-specific code and defines a generic "platform" interface. * The <code>cmd</code> submodule is the final binary distributed to the platform, which imports the specific platform submodule and sets it up for use with th...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Requirements and notes for porting TapTo to other platforms.

  • Each platform supported by TapTo has a new submodule in the platforms and cmd modules.
  • The platforms submodule contains all platform-specific code and defines a generic "platform" interface.
  • The cmd submodule is the final binary distributed to the platform, which imports the specific platform submodule and sets it up for use with the shared library.

Work to do be done:

  • The "platform" interface is not defined yet. We need to come up with a list of generic methods for this interface of stuff that will differ between platform. E.g. launching a game from a path, sending a keyboard input, starting/stopping/restarting the TapTo service, etc.
  • Although it's marked now, the shared code is still littered with references to MiSTer-specific (mrext) library calls.
  • The path definitions (config modules) are hardcoded to MiSTer paths.
  • The mrext systems module is probably no longer possible to use, there needs to be a new list of system definitions in TapTo itself that can be shared between platforms.
  • I don't know if libnfc even works on Windows. It looks like it will, but it's also not officially supported. If it doesn't, two major bits of work need to be done:
    • A custom driver needs to be created for the PN532 UART support.
    • The poll loops need to be abstracted from libnfc so other drivers can be swapped in (this really needs to be done in any case).
    • Support for the PC/SC standard needs to be added (another good one to do anyway, this is the preferred way to interact with NFC readers on everything besides MiSTer).