diff --git a/README.md b/README.md index 5d6f310..0dda131 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ A set of Game Boy Advance (GBA) C++ libraries to interact with the Serial Port. - [🌎](#-LinkUniversal) [LinkUniversal.hpp](lib/LinkUniversal.hpp): Add multiplayer support to your game, both with 👾 *Link Cables* and 📻 *Wireless Adapters*, using the **same API**! - [🔌](#-LinkGPIO) [LinkGPIO.hpp](lib/LinkGPIO.hpp): Use the Link Port however you want to control **any device** (like LEDs, rumble motors, and that kind of stuff)! - [🔗](#-LinkSPI) [LinkSPI.hpp](lib/LinkSPI.hpp): Connect with a PC (like a **Raspberry Pi**) or another GBA (with a GBC Link Cable) using this mode. Transfer up to 2Mbit/s! -- [⏱️](#-LinkUART) [LinkUART.hpp](lib/LinkUART.hpp): Easily connect to **any PC** using a USB to UART cable! +- [⏱️](#%EF%B8%8F-LinkUART) [LinkUART.hpp](lib/LinkUART.hpp): Easily connect to **any PC** using a USB to UART cable! *(click on the emojis for documentation)* diff --git a/examples/LinkCableMultiboot_demo/src/main.cpp b/examples/LinkCableMultiboot_demo/src/main.cpp index 48e04c0..9ed5b9a 100644 --- a/examples/LinkCableMultiboot_demo/src/main.cpp +++ b/examples/LinkCableMultiboot_demo/src/main.cpp @@ -49,7 +49,7 @@ int main() { // Sender options if (isSenderMode) { if (result != LinkCableMultiboot::Result::SUCCESS) - log("LinkCableMultiboot_demo\n (v6.2.3)\n\nPress START to send the " + log("LinkCableMultiboot_demo\n (v6.3.0)\n\nPress START to send the " "ROM...\nPress B to set client mode..."); if (keys & KEY_START) { diff --git a/examples/LinkCable_basic/src/main.cpp b/examples/LinkCable_basic/src/main.cpp index 8c96325..9aecd15 100644 --- a/examples/LinkCable_basic/src/main.cpp +++ b/examples/LinkCable_basic/src/main.cpp @@ -45,7 +45,7 @@ int main() { u16 keys = ~REG_KEYS & KEY_ANY; linkCable->send(keys + 1); // (avoid using 0) - std::string output = "LinkCable_basic (v6.2.3)\n\n"; + std::string output = "LinkCable_basic (v6.3.0)\n\n"; if (linkCable->isConnected()) { u8 playerCount = linkCable->playerCount(); u8 currentPlayerId = linkCable->currentPlayerId(); diff --git a/examples/LinkCable_full/src/main.cpp b/examples/LinkCable_full/src/main.cpp index 4781fad..a4e47c1 100644 --- a/examples/LinkCable_full/src/main.cpp +++ b/examples/LinkCable_full/src/main.cpp @@ -93,10 +93,10 @@ inline void setUpInterrupts() { void printTutorial() { #ifndef USE_LINK_UNIVERSAL - DEBULOG("LinkCable_full (v6.2.3)"); + DEBULOG("LinkCable_full (v6.3.0)"); #endif #ifdef USE_LINK_UNIVERSAL - DEBULOG("LinkUniversal_full (v6.2.3)"); + DEBULOG("LinkUniversal_full (v6.3.0)"); #endif DEBULOG(""); diff --git a/examples/LinkCable_stress/src/main.cpp b/examples/LinkCable_stress/src/main.cpp index 6a900bb..c6ce241 100644 --- a/examples/LinkCable_stress/src/main.cpp +++ b/examples/LinkCable_stress/src/main.cpp @@ -89,10 +89,10 @@ int main() { while (true) { #ifndef USE_LINK_UNIVERSAL - std::string output = "LinkCable_stress (v6.2.3)\n\n"; + std::string output = "LinkCable_stress (v6.3.0)\n\n"; #endif #ifdef USE_LINK_UNIVERSAL - std::string output = "LinkUniversal_stress (v6.2.3)\n\n"; + std::string output = "LinkUniversal_stress (v6.3.0)\n\n"; #endif linkConnection->deactivate(); diff --git a/examples/LinkGPIO_demo/src/main.cpp b/examples/LinkGPIO_demo/src/main.cpp index b1265df..1f9cb63 100644 --- a/examples/LinkGPIO_demo/src/main.cpp +++ b/examples/LinkGPIO_demo/src/main.cpp @@ -27,7 +27,7 @@ int main() { while (true) { // (3) Use the pins - std::string output = "LinkGPIO_demo (v6.2.3)\n\n"; + std::string output = "LinkGPIO_demo (v6.3.0)\n\n"; // Commands u16 keys = ~REG_KEYS & KEY_ANY; diff --git a/examples/LinkRawCable_demo/src/main.cpp b/examples/LinkRawCable_demo/src/main.cpp index f810d5a..8afe7eb 100644 --- a/examples/LinkRawCable_demo/src/main.cpp +++ b/examples/LinkRawCable_demo/src/main.cpp @@ -33,7 +33,7 @@ int main() { u16 prevKeys = 0; while (true) { - std::string output = "LinkRawCable_demo (v6.2.3)\n\n"; + std::string output = "LinkRawCable_demo (v6.3.0)\n\n"; u16 keys = ~REG_KEYS & KEY_ANY; if (!linkRawCable->isActive()) { diff --git a/examples/LinkRawWireless_demo/src/scenes/DebugScene.cpp b/examples/LinkRawWireless_demo/src/scenes/DebugScene.cpp index 67f1882..34651d8 100644 --- a/examples/LinkRawWireless_demo/src/scenes/DebugScene.cpp +++ b/examples/LinkRawWireless_demo/src/scenes/DebugScene.cpp @@ -139,7 +139,7 @@ void DebugScene::load() { log("---"); log("LinkRawWireless demo"); - log(" (v6.2.3)"); + log(" (v6.3.0)"); log(""); log("START: reset wireless adapter"); log("A: send command"); diff --git a/examples/LinkSPI_demo/src/main.cpp b/examples/LinkSPI_demo/src/main.cpp index f77b359..82312fc 100644 --- a/examples/LinkSPI_demo/src/main.cpp +++ b/examples/LinkSPI_demo/src/main.cpp @@ -32,7 +32,7 @@ int main() { u32 counter = 0; while (true) { - std::string output = "LinkSPI_demo (v6.2.3)\n\n"; + std::string output = "LinkSPI_demo (v6.3.0)\n\n"; u16 keys = ~REG_KEYS & KEY_ANY; if (!linkSPI->isActive()) { diff --git a/examples/LinkUART_demo/src/main.cpp b/examples/LinkUART_demo/src/main.cpp index 724c380..cef56a6 100644 --- a/examples/LinkUART_demo/src/main.cpp +++ b/examples/LinkUART_demo/src/main.cpp @@ -32,7 +32,7 @@ int main() { bool firstTransfer = false; while (true) { - std::string output = "LinkUART_demo (v6.2.3)\n\n"; + std::string output = "LinkUART_demo (v6.3.0)\n\n"; u16 keys = ~REG_KEYS & KEY_ANY; if (!linkUART->isActive()) { diff --git a/examples/LinkUniversal_basic/src/main.cpp b/examples/LinkUniversal_basic/src/main.cpp index 375ae77..62049bf 100644 --- a/examples/LinkUniversal_basic/src/main.cpp +++ b/examples/LinkUniversal_basic/src/main.cpp @@ -21,7 +21,7 @@ void init() { int main() { init(); - log("LinkUniversal_basic (v6.2.3)\n\n\nPress A to start\n\n\nhold LEFT on " + log("LinkUniversal_basic (v6.3.0)\n\n\nPress A to start\n\n\nhold LEFT on " "start:\n -> force cable\n\nhold RIGHT on start:\n -> force " "wireless\n\nhold UP on start:\n -> force wireless server\n\nhold DOWN " "on start:\n -> force wireless client\n\nhold B on start:\n -> set 2 " diff --git a/examples/LinkWirelessMultiboot_demo/src/scenes/MultibootScene.cpp b/examples/LinkWirelessMultiboot_demo/src/scenes/MultibootScene.cpp index 5b506a7..c9c22d0 100644 --- a/examples/LinkWirelessMultiboot_demo/src/scenes/MultibootScene.cpp +++ b/examples/LinkWirelessMultiboot_demo/src/scenes/MultibootScene.cpp @@ -133,7 +133,7 @@ void MultibootScene::load() { log("---"); log("LinkWirelessMultiboot demo"); - log(" (v6.2.3)"); + log(" (v6.3.0)"); log(""); if (fs == NULL) { log("! GBFS file not found"); diff --git a/examples/LinkWireless_demo/src/main.cpp b/examples/LinkWireless_demo/src/main.cpp index 5ea0f3a..40dc9bb 100644 --- a/examples/LinkWireless_demo/src/main.cpp +++ b/examples/LinkWireless_demo/src/main.cpp @@ -47,7 +47,7 @@ int main() { start: // Options - log("LinkWireless_demo (v6.2.3)\n\n\n\nPress A to start\n\n\n\n\nhold LEFT " + log("LinkWireless_demo (v6.3.0)\n\n\n\nPress A to start\n\n\n\n\nhold LEFT " "on start:\n -> disable forwarding\n\nhold UP on start:\n -> disable " "retransmission\n\nhold B on start:\n -> set 2 players\n\nhold START on " "start:\n -> async ACK"); diff --git a/lib/LinkCable.hpp b/lib/LinkCable.hpp index 2aff203..74a705d 100644 --- a/lib/LinkCable.hpp +++ b/lib/LinkCable.hpp @@ -67,7 +67,7 @@ #define LINK_CABLE_BIT_GENERAL_PURPOSE_HIGH 15 #define LINK_CABLE_BARRIER asm volatile("" ::: "memory") -static volatile char LINK_CABLE_VERSION[] = "LinkCable/v6.2.3"; +static volatile char LINK_CABLE_VERSION[] = "LinkCable/v6.3.0"; void LINK_CABLE_ISR_VBLANK(); void LINK_CABLE_ISR_SERIAL(); diff --git a/lib/LinkCableMultiboot.hpp b/lib/LinkCableMultiboot.hpp index fd01a33..6702b66 100644 --- a/lib/LinkCableMultiboot.hpp +++ b/lib/LinkCableMultiboot.hpp @@ -55,7 +55,7 @@ return error(FAILURE_DURING_HANDSHAKE); static volatile char LINK_CABLE_MULTIBOOT_VERSION[] = - "LinkCableMultiboot/v6.2.3"; + "LinkCableMultiboot/v6.3.0"; const u8 LINK_CABLE_MULTIBOOT_CLIENT_IDS[] = {0b0010, 0b0100, 0b1000}; diff --git a/lib/LinkGPIO.hpp b/lib/LinkGPIO.hpp index 081fd8f..7966266 100644 --- a/lib/LinkGPIO.hpp +++ b/lib/LinkGPIO.hpp @@ -36,7 +36,7 @@ else \ REG &= ~(1 << BIT); -static volatile char LINK_GPIO_VERSION[] = "LinkGPIO/v6.2.3"; +static volatile char LINK_GPIO_VERSION[] = "LinkGPIO/v6.3.0"; const u8 LINK_GPIO_DATA_BITS[] = {2, 3, 1, 0}; const u8 LINK_GPIO_DIRECTION_BITS[] = {6, 7, 5, 4}; diff --git a/lib/LinkRawCable.hpp b/lib/LinkRawCable.hpp index c221081..646cf7b 100644 --- a/lib/LinkRawCable.hpp +++ b/lib/LinkRawCable.hpp @@ -55,7 +55,7 @@ } \ } -static volatile char LINK_RAW_CABLE_VERSION[] = "LinkRawCable/v6.2.3"; +static volatile char LINK_RAW_CABLE_VERSION[] = "LinkRawCable/v6.3.0"; class LinkRawCable { public: diff --git a/lib/LinkRawWireless.hpp b/lib/LinkRawWireless.hpp index 410c21d..40432cf 100644 --- a/lib/LinkRawWireless.hpp +++ b/lib/LinkRawWireless.hpp @@ -66,7 +66,7 @@ #define LINK_RAW_WIRELESS_COMMAND_WAIT 0x27 #define LINK_RAW_WIRELESS_COMMAND_BYE 0x3d -static volatile char LINK_RAW_WIRELESS_VERSION[] = "LinkRawWireless/v6.2.3"; +static volatile char LINK_RAW_WIRELESS_VERSION[] = "LinkRawWireless/v6.3.0"; const u16 LINK_RAW_WIRELESS_LOGIN_PARTS[] = { 0x494e, 0x494e, 0x544e, 0x544e, 0x4e45, 0x4e45, 0x4f44, 0x4f44, 0x8001}; diff --git a/lib/LinkSPI.hpp b/lib/LinkSPI.hpp index b099aa5..05fb5f9 100644 --- a/lib/LinkSPI.hpp +++ b/lib/LinkSPI.hpp @@ -76,7 +76,7 @@ #define LINK_SPI_BIT_GENERAL_PURPOSE_LOW 14 #define LINK_SPI_BIT_GENERAL_PURPOSE_HIGH 15 -static volatile char LINK_SPI_VERSION[] = "LinkSPI/v6.2.3"; +static volatile char LINK_SPI_VERSION[] = "LinkSPI/v6.3.0"; const u32 LINK_SPI_MASK_CLEAR_SO_BIT = ~(1 << LINK_SPI_BIT_SO); const u32 LINK_SPI_MASK_SET_START_BIT = (1 << LINK_SPI_BIT_START); diff --git a/lib/LinkUART.hpp b/lib/LinkUART.hpp index 5fded3b..f3303f9 100644 --- a/lib/LinkUART.hpp +++ b/lib/LinkUART.hpp @@ -47,7 +47,7 @@ #define LINK_UART_BIT_GENERAL_PURPOSE_HIGH 15 #define LINK_UART_BARRIER asm volatile("" ::: "memory") -static volatile char LINK_UART_VERSION[] = "LinkUART/v6.2.3"; +static volatile char LINK_UART_VERSION[] = "LinkUART/v6.3.0"; void LINK_UART_ISR_SERIAL(); diff --git a/lib/LinkUniversal.hpp b/lib/LinkUniversal.hpp index b3fbffb..a2c1371 100644 --- a/lib/LinkUniversal.hpp +++ b/lib/LinkUniversal.hpp @@ -67,7 +67,7 @@ #define LINK_UNIVERSAL_SERVE_WAIT_FRAMES 60 #define LINK_UNIVERSAL_SERVE_WAIT_FRAMES_RANDOM 30 -static volatile char LINK_UNIVERSAL_VERSION[] = "LinkUniversal/v6.2.3"; +static volatile char LINK_UNIVERSAL_VERSION[] = "LinkUniversal/v6.3.0"; void LINK_UNIVERSAL_ISR_VBLANK(); void LINK_UNIVERSAL_ISR_SERIAL(); diff --git a/lib/LinkWireless.hpp b/lib/LinkWireless.hpp index 7a06073..c3c620b 100644 --- a/lib/LinkWireless.hpp +++ b/lib/LinkWireless.hpp @@ -139,7 +139,7 @@ if (!reset()) \ return false; -static volatile char LINK_WIRELESS_VERSION[] = "LinkWireless/v6.2.3"; +static volatile char LINK_WIRELESS_VERSION[] = "LinkWireless/v6.3.0"; void LINK_WIRELESS_ISR_VBLANK(); void LINK_WIRELESS_ISR_SERIAL(); diff --git a/lib/LinkWirelessMultiboot.hpp b/lib/LinkWirelessMultiboot.hpp index 992354d..6649109 100644 --- a/lib/LinkWirelessMultiboot.hpp +++ b/lib/LinkWirelessMultiboot.hpp @@ -73,7 +73,7 @@ const u8 LINK_WIRELESS_MULTIBOOT_ROM_HEADER_PATCH_OFFSET = 4; const u8 LINK_WIRELESS_MULTIBOOT_ROM_HEADER_PATCH_SIZE = 12; static volatile char LINK_WIRELESS_MULTIBOOT_VERSION[] = - "LinkWirelessMultiboot/v6.2.3"; + "LinkWirelessMultiboot/v6.3.0"; class LinkWirelessMultiboot { public: diff --git a/lib/LinkWirelessOpenSDK.hpp b/lib/LinkWirelessOpenSDK.hpp index 4f8dd1f..955243b 100644 --- a/lib/LinkWirelessOpenSDK.hpp +++ b/lib/LinkWirelessOpenSDK.hpp @@ -34,7 +34,7 @@ LINK_WIRELESS_OPEN_SDK_HEADER_SIZE_CLIENT) static volatile char LINK_WIRELESS_OPEN_SDK_VERSION[] = - "LinkWirelessOpenSDK/v6.2.3"; + "LinkWirelessOpenSDK/v6.3.0"; class LinkWirelessOpenSDK { public: