Skip to content

Releases: afska/gba-link-connection

v6.0.2

03 Jan 14:13
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • serve(...) can now update the broadcast data if it's already serving
  • 🌎 LinkUniversal:
    • When the maximum number of players is reached in a wireless room, that room is closed by updating its broadcast data, so active rooms don't interfere with automatic pairing

v6.0.1

02 Jan 08:02
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • After calling deactivate(), the 0x3d command is sent to the adapter to put it in low consumption mode
    • The serve(...) method now accepts an optional gameId that will be broadcasted along with the game and user names

v6.0.0

23 Nov 13:34
829f17d
Compare
Choose a tag to compare
  • 👾 LinkCable:
    • The API now matches LinkUniversal, for consistency
    • Games can now call sync() at any time to fetch new updates mid-frame
    • Added waitFor(...) and peek(...) methods
    • Added synced test and latency benchmarks to the LinkCable_stress example
    • Reduced default buffer size to 15
    • Added public config property, allowing parameter adjustments without needing to create a new instance
  • 📻 LinkWireless:
    • Significantly reduced transfer latency and CPU consumption
    • Added compile-time constant LINK_WIRELESS_PUT_ISR_IN_IWRAM to place time-critical code in IWRAM
    • Added compile-time constant LINK_WIRELESS_USE_SEND_RECEIVE_LATCH to alternate between sends and receives, reducing CPU usage
    • Fixed a bug that caused the class to always use default values for sendTimerId and asyncACKTimerId
    • Added a LinkWireless_demo_profiler example
    • Added public config property, so the parameters can be changed without creating a new instance
  • 🌎 LinkUniversal:
    • Added waitFor(...) and peek(...) methods
    • Added a LinkUniversal_stress example
  • 🔌 LinkGPIO:
    • Removed the SI=INPUT limitation
  • ⚙️ General:
    • Now the classes set the communication mode in a single write operation, causing less unpredictable results when quickly switching between different modes
    • Now the multiplayer libraries only check for timeouts in the VBlank section, reducing overhead
    • Now all headers use the .hpp extension

v5.1.1

02 Nov 02:14
Compare
Choose a tag to compare
  • 🌎 LinkUniversal:
    • Added missing protocol: WIRELESS_SERVER

v5.1.0

01 Nov 02:13
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • When a room reaches the max player limit, the host now calls EndHost to prevent new clients from connecting to the room
    • Added an optional async ACK mode to reduce the time spent on interrupt handlers, at the expense of using an extra timer

v5.0.2

04 Mar 07:14
Compare
Choose a tag to compare
  • 🌎 LinkUniversal:
    • Added methods getProtocol() and setProtocol(...)
  • ⚙️ General:
    • Removed std::vector and std::queue dependency

v5.0.1

23 Feb 03:53
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • Fixed a bug in which the clients could lose the first packet from the server
  • 🌎 LinkUniversal:
    • Removed unneeded allocations

v5.0.0

13 Feb 01:20
fd8179b
Compare
Choose a tag to compare
  • 🌎 Added LinkUniversal:
    • Universal cable/wireless library
  • 👾 LinkCable
    • Fixed random crash
  • 📻 LinkWireless:
    • Redesigned for async transfers (IRQs and timers)
    • Added checksums for error recovery
    • Optimized transfers by reducing protocol overhead
    • Optimized code and removed memory allocations
    • Fixed retransmission bugs

v4.2.1

06 Feb 07:09
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • Fixed important bug in packet confirmations when using retransmission
    • Fixed receive(messages, times) without callback (renamed to receiveMany(...))
    • Added methods: getServersAsyncStart(), getServersAsyncEnd(...)
    • Now methods don't do anything when the library is disabled

v4.2.0

05 Feb 08:32
Compare
Choose a tag to compare
  • 📻 LinkWireless:
    • Added support for game and user names when broadcasting a server
    • Now getServers(...) can return more than one broadcast
    • Fixed player count when 5 players are connected
    • Added onWait callback to getServers(...)
    • Updated error numbers