From 11f41e2b859759b21faa7d59074e05403bd82603 Mon Sep 17 00:00:00 2001 From: RogueMaster Date: Fri, 8 Mar 2024 14:38:08 -0500 Subject: [PATCH] Squashed 'applications/external/' changes from ea5d532d8c..746531bdf1 746531bdf1 VgmTool: Add RGB fw for MNTM VGM options 3da3a125fe Merge picopass from https://github.com/flipperdevices/flipperzero-good-faps 200f9dc382 Merge nfc_magic from https://github.com/flipperdevices/flipperzero-good-faps 573634ece1 Merge air_arkanoid from https://github.com/flipperdevices/flipperzero-good-faps cc9223968d AirArkanoid: Fix python3 on Windows (#155) a70b5c5840 Picopass block tracking (#125) 15c7c2d66e NFC Magic: update with latest API (#167) 3219fe82fa Picopass: update with latest API (#165) git-subtree-dir: applications/external git-subtree-split: 746531bdf1646328448533f1d3c9612ec6c061a1 --- air_arkanoid/application.fam | 3 +- nfc_magic/.catalog/changelog.md | 5 +- nfc_magic/application.fam | 4 +- nfc_magic/{ => assets}/125_10px.png | Bin .../lib/magic/protocols/gen4/gen4_poller_i.c | 1 - .../lib/magic/protocols/gen4/gen4_poller_i.h | 1 + nfc_magic/scenes/nfc_magic_scene_key_input.c | 2 +- picopass/.catalog/changelog.md | 2 + picopass/application.fam | 2 +- picopass/loclass_writer.c | 9 +- picopass/picopass_device.c | 1 + picopass/picopass_device.h | 1 + picopass/protocol/picopass_listener.c | 24 +++-- picopass/protocol/picopass_listener_i.c | 4 +- picopass/protocol/picopass_poller.c | 82 ++++++++---------- picopass/protocol/picopass_poller_i.c | 6 +- picopass/scenes/picopass_scene_loclass.c | 5 +- video_game_module_tool/files/vgm-fw-rgb.uf2 | Bin 0 -> 311808 bytes video_game_module_tool/scenes/scene_start.c | 10 +++ 19 files changed, 85 insertions(+), 77 deletions(-) rename nfc_magic/{ => assets}/125_10px.png (100%) create mode 100644 video_game_module_tool/files/vgm-fw-rgb.uf2 diff --git a/air_arkanoid/application.fam b/air_arkanoid/application.fam index 5f2baf6986e..705fcce3781 100644 --- a/air_arkanoid/application.fam +++ b/air_arkanoid/application.fam @@ -12,8 +12,7 @@ App( fap_extbuild=( ExtFile( path="${FAP_SRC_DIR}/assets", - command=("python" if __import__("sys").platform == "win32" else "python3") - + " ${FAP_SRC_DIR}/engine/scripts/sprite_builder.py ${FAP_SRC_DIR.abspath}/sprites ${TARGET.abspath}/sprites", + command="${PYTHON3} ${FAP_SRC_DIR}/engine/scripts/sprite_builder.py ${FAP_SRC_DIR.abspath}/sprites ${TARGET.abspath}/sprites", ), ), ) diff --git a/nfc_magic/.catalog/changelog.md b/nfc_magic/.catalog/changelog.md index cdca3c281f9..616a170c8f0 100644 --- a/nfc_magic/.catalog/changelog.md +++ b/nfc_magic/.catalog/changelog.md @@ -1,9 +1,10 @@ -## 1.4 +## 1.6 + - Rework with new bit lib API +## 1.5 - Fix incorrect max sector configuration ## 1.4 - - Auth with password option moved into new submenu "Gen4 actions" - New function: Get gen4 card revision - New function: Get gen4 card config (shows only when debug ON) diff --git a/nfc_magic/application.fam b/nfc_magic/application.fam index be24b8d01af..a00b4b48b5e 100644 --- a/nfc_magic/application.fam +++ b/nfc_magic/application.fam @@ -10,8 +10,8 @@ App( ], stack_size=4 * 1024, fap_description="Application for writing to NFC tags with modifiable sector 0", - fap_version="1.5", - fap_icon="125_10px.png", + fap_version="1.6", + fap_icon="assets/125_10px.png", fap_category="NFC", fap_private_libs=[ Lib( diff --git a/nfc_magic/125_10px.png b/nfc_magic/assets/125_10px.png similarity index 100% rename from nfc_magic/125_10px.png rename to nfc_magic/assets/125_10px.png diff --git a/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.c b/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.c index 3876f2e5cb6..b621b436bb0 100644 --- a/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.c +++ b/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.c @@ -3,7 +3,6 @@ #include "bit_buffer.h" #include "protocols/gen4/gen4_poller.h" #include -#include #define GEN4_CMD_PREFIX (0xCF) diff --git a/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.h b/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.h index 3ef35144fff..8b0f740fa45 100644 --- a/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.h +++ b/nfc_magic/lib/magic/protocols/gen4/gen4_poller_i.h @@ -3,6 +3,7 @@ #include "gen4_poller.h" #include #include +#include #define TAG "Gen4Poller" diff --git a/nfc_magic/scenes/nfc_magic_scene_key_input.c b/nfc_magic/scenes/nfc_magic_scene_key_input.c index bcc971fd649..7fa79a4eb5f 100644 --- a/nfc_magic/scenes/nfc_magic_scene_key_input.c +++ b/nfc_magic/scenes/nfc_magic_scene_key_input.c @@ -1,6 +1,6 @@ #include "../nfc_magic_app_i.h" -#include +#include void nfc_magic_scene_key_input_byte_input_callback(void* context) { NfcMagicApp* instance = context; diff --git a/picopass/.catalog/changelog.md b/picopass/.catalog/changelog.md index 8968bd43a19..3cb46eb2582 100644 --- a/picopass/.catalog/changelog.md +++ b/picopass/.catalog/changelog.md @@ -1,3 +1,5 @@ +## 1.13 + - Rework loclass writer with datetime lib ## 1.12 - Add support for non-secure Picopass - Change Read to use all dictionaries diff --git a/picopass/application.fam b/picopass/application.fam index 8dae8b9ad6b..a880bf78ab0 100644 --- a/picopass/application.fam +++ b/picopass/application.fam @@ -10,7 +10,7 @@ App( ], stack_size=4 * 1024, fap_description="App to communicate with NFC tags using the PicoPass(iClass) format", - fap_version="1.12", + fap_version="1.13", fap_icon="125_10px.png", fap_category="NFC", fap_libs=["mbedtls"], diff --git a/picopass/loclass_writer.c b/picopass/loclass_writer.c index f90e2a4a126..c35df175cb2 100644 --- a/picopass/loclass_writer.c +++ b/picopass/loclass_writer.c @@ -5,6 +5,7 @@ #include #include #include +#include struct LoclassWriter { Stream* file_stream; @@ -41,7 +42,9 @@ void loclass_writer_free(LoclassWriter* instance) { bool loclass_writer_write_start_stop(LoclassWriter* instance, bool start) { furi_assert(instance != NULL); - uint32_t curr_ts = furi_hal_rtc_get_timestamp(); + DateTime curr_dt; + furi_hal_rtc_get_datetime(&curr_dt); + uint32_t curr_ts = datetime_datetime_to_timestamp(&curr_dt); FuriString* str = furi_string_alloc_printf( "loclass-v1-info ts %lu %s\n", curr_ts, start ? "started" : "finished"); @@ -59,7 +62,9 @@ bool loclass_writer_write_params( const uint8_t mac[4]) { furi_assert(instance != NULL); - uint32_t curr_ts = furi_hal_rtc_get_timestamp(); + DateTime curr_dt; + furi_hal_rtc_get_datetime(&curr_dt); + uint32_t curr_ts = datetime_datetime_to_timestamp(&curr_dt); FuriString* str = furi_string_alloc_printf( "loclass-v1-mac ts %lu no %u " diff --git a/picopass/picopass_device.c b/picopass/picopass_device.c index 2d84ec33b22..61cc45cb657 100644 --- a/picopass/picopass_device.c +++ b/picopass/picopass_device.c @@ -371,6 +371,7 @@ bool picopass_file_select(PicopassDevice* dev) { void picopass_device_data_clear(PicopassDeviceData* dev_data) { for(size_t i = 0; i < PICOPASS_MAX_APP_LIMIT; i++) { memset(dev_data->card_data[i].data, 0, sizeof(dev_data->card_data[i].data)); + dev_data->card_data[i].valid = false; } dev_data->pacs.legacy = false; dev_data->pacs.se_enabled = false; diff --git a/picopass/picopass_device.h b/picopass/picopass_device.h index cd3ce046d1b..4b4bed36699 100644 --- a/picopass/picopass_device.h +++ b/picopass/picopass_device.h @@ -99,6 +99,7 @@ typedef struct { typedef struct { uint8_t data[PICOPASS_BLOCK_LEN]; + bool valid; } PicopassBlock; typedef struct { diff --git a/picopass/protocol/picopass_listener.c b/picopass/protocol/picopass_listener.c index eafb64dd76f..15db3b44b1c 100644 --- a/picopass/protocol/picopass_listener.c +++ b/picopass/protocol/picopass_listener.c @@ -43,14 +43,12 @@ static void picopass_listener_loclass_update_csn(PicopassListener* instance) { // collect LOCLASS_NUM_PER_CSN nonces in a row for each CSN const uint8_t* csn = loclass_csns[(instance->key_block_num / LOCLASS_NUM_PER_CSN) % LOCLASS_NUM_CSNS]; - memcpy(instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data, csn, sizeof(PicopassBlock)); + memcpy(instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data, csn, PICOPASS_BLOCK_LEN); uint8_t key[PICOPASS_BLOCK_LEN] = {}; loclass_iclass_calc_div_key(csn, picopass_iclass_key, key, false); memcpy( - instance->data->card_data[PICOPASS_SECURE_KD_BLOCK_INDEX].data, - key, - sizeof(PicopassBlock)); + instance->data->card_data[PICOPASS_SECURE_KD_BLOCK_INDEX].data, key, PICOPASS_BLOCK_LEN); picopass_listener_init_cipher_state_key(instance, key); } @@ -122,7 +120,7 @@ PicopassListenerCommand bit_buffer_copy_bytes( instance->tmp_buffer, instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); } else { picopass_listener_write_anticoll_csn(instance, instance->tmp_buffer); } @@ -143,7 +141,7 @@ PicopassListenerCommand bit_buffer_copy_bytes( instance->tx_buffer, instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); PicopassError error = picopass_listener_send_frame(instance, instance->tx_buffer); if(error != PicopassErrorNone) { @@ -181,7 +179,7 @@ PicopassListenerCommand bit_buffer_copy_bytes( instance->tx_buffer, instance->data->card_data[block_num].data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); } PicopassError error = picopass_listener_send_frame(instance, instance->tx_buffer); if(error != PicopassErrorNone) { @@ -216,7 +214,7 @@ static PicopassListenerCommand // DATA(8) bit_buffer_copy_bytes( - instance->tx_buffer, instance->data->card_data[block_num].data, sizeof(PicopassBlock)); + instance->tx_buffer, instance->data->card_data[block_num].data, PICOPASS_BLOCK_LEN); NfcError error = nfc_listener_tx(instance->nfc, instance->tx_buffer); if(error != NfcErrorNone) { FURI_LOG_D(TAG, "Failed to tx read check response: %d", error); @@ -508,7 +506,7 @@ PicopassListenerCommand case PICOPASS_SECURE_KC_BLOCK_INDEX: if(!pers_mode && secured) { new_block = instance->data->card_data[block_num]; - for(size_t i = 0; i < sizeof(PicopassBlock); i++) { + for(size_t i = 0; i < PICOPASS_BLOCK_LEN; i++) { new_block.data[i] ^= rx_data[i + 2]; } break; @@ -516,7 +514,7 @@ PicopassListenerCommand // Use default case when in personalisation mode // fallthrough default: - memcpy(new_block.data, &rx_data[2], sizeof(PicopassBlock)); + memcpy(new_block.data, &rx_data[2], PICOPASS_BLOCK_LEN); break; } @@ -537,7 +535,7 @@ PicopassListenerCommand bit_buffer_copy_bytes( instance->tx_buffer, instance->data->card_data[block_num].data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); } PicopassError error = picopass_listener_send_frame(instance, instance->tx_buffer); @@ -572,12 +570,12 @@ PicopassListenerCommand for(uint8_t i = block_start; i < block_start + 4; i++) { if(secured && ((i == PICOPASS_SECURE_KD_BLOCK_INDEX) || (i == PICOPASS_SECURE_KC_BLOCK_INDEX))) { - for(size_t j = 0; j < sizeof(PicopassBlock); j++) { + for(size_t j = 0; j < PICOPASS_BLOCK_LEN; j++) { bit_buffer_append_byte(instance->tx_buffer, 0xff); } } else { bit_buffer_append_bytes( - instance->tx_buffer, instance->data->card_data[i].data, sizeof(PicopassBlock)); + instance->tx_buffer, instance->data->card_data[i].data, PICOPASS_BLOCK_LEN); } } diff --git a/picopass/protocol/picopass_listener_i.c b/picopass/protocol/picopass_listener_i.c index 89b86993551..8f1cf9e6087 100644 --- a/picopass/protocol/picopass_listener_i.c +++ b/picopass/protocol/picopass_listener_i.c @@ -23,14 +23,14 @@ void picopass_listener_init_cipher_state_key(PicopassListener* instance, const u memcpy( cc, instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); instance->cipher_state = loclass_opt_doTagMAC_1(cc, key); } void picopass_listener_init_cipher_state(PicopassListener* instance) { uint8_t key[PICOPASS_BLOCK_LEN] = {}; - memcpy(key, instance->data->card_data[instance->key_block_num].data, sizeof(PicopassBlock)); + memcpy(key, instance->data->card_data[instance->key_block_num].data, PICOPASS_BLOCK_LEN); picopass_listener_init_cipher_state_key(instance, key); } diff --git a/picopass/protocol/picopass_poller.c b/picopass/protocol/picopass_poller.c index 210ca0942cb..ec6023915ef 100644 --- a/picopass/protocol/picopass_poller.c +++ b/picopass/protocol/picopass_poller.c @@ -70,6 +70,20 @@ NfcCommand picopass_poller_select_handler(PicopassPoller* instance) { return command; } +void picopass_poller_print_block(char* str, PicopassBlock block) { + FURI_LOG_D( + TAG, + str, + block.data[0], + block.data[1], + block.data[2], + block.data[3], + block.data[4], + block.data[5], + block.data[6], + block.data[7]); +} + NfcCommand picopass_poller_pre_auth_handler(PicopassPoller* instance) { NfcCommand command = NfcCommandContinue; PicopassError error = PicopassErrorNone; @@ -79,17 +93,10 @@ NfcCommand picopass_poller_pre_auth_handler(PicopassPoller* instance) { instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data, instance->serial_num.data, sizeof(PicopassSerialNum)); - FURI_LOG_D( - TAG, + instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].valid = true; + picopass_poller_print_block( "csn %02x%02x%02x%02x%02x%02x%02x%02x", - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[0], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[1], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[2], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[3], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[4], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[5], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[6], - instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX].data[7]); + instance->data->card_data[PICOPASS_CSN_BLOCK_INDEX]); PicopassBlock block = {}; error = picopass_poller_read_block(instance, PICOPASS_CONFIG_BLOCK_INDEX, &block); @@ -100,18 +107,11 @@ NfcCommand picopass_poller_pre_auth_handler(PicopassPoller* instance) { memcpy( instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data, block.data, - sizeof(PicopassBlock)); - FURI_LOG_D( - TAG, + PICOPASS_BLOCK_LEN); + instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].valid = true; + picopass_poller_print_block( "config %02x%02x%02x%02x%02x%02x%02x%02x", - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[0], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[1], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[2], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[3], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[4], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[5], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[6], - instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data[7]); + instance->data->card_data[PICOPASS_CONFIG_BLOCK_INDEX]); error = picopass_poller_read_block(instance, PICOPASS_SECURE_EPURSE_BLOCK_INDEX, &block); if(error != PicopassErrorNone) { @@ -121,18 +121,11 @@ NfcCommand picopass_poller_pre_auth_handler(PicopassPoller* instance) { memcpy( instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data, block.data, - sizeof(PicopassBlock)); - FURI_LOG_D( - TAG, + PICOPASS_BLOCK_LEN); + instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].valid = true; + picopass_poller_print_block( "epurse %02x%02x%02x%02x%02x%02x%02x%02x", - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[0], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[1], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[2], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[3], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[4], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[5], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[6], - instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data[7]); + instance->data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX]); error = picopass_poller_read_block(instance, PICOPASS_SECURE_AIA_BLOCK_INDEX, &block); if(error != PicopassErrorNone) { @@ -142,18 +135,11 @@ NfcCommand picopass_poller_pre_auth_handler(PicopassPoller* instance) { memcpy( instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data, block.data, - sizeof(PicopassBlock)); - FURI_LOG_D( - TAG, + PICOPASS_BLOCK_LEN); + instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].valid = true; + picopass_poller_print_block( "aia %02x%02x%02x%02x%02x%02x%02x%02x", - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[0], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[1], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[2], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[3], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[4], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[5], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[6], - instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data[7]); + instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX]); instance->state = PicopassPollerStateCheckSecurity; } while(false); @@ -188,12 +174,12 @@ NfcCommand picopass_poller_check_security(PicopassPoller* instance) { // Thank you proxmark! PicopassBlock temp_block = {}; - memset(temp_block.data, 0xff, sizeof(PicopassBlock)); + memset(temp_block.data, 0xff, PICOPASS_BLOCK_LEN); instance->data->pacs.legacy = (memcmp( instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data, temp_block.data, - sizeof(PicopassBlock)) == 0); + PICOPASS_BLOCK_LEN) == 0); temp_block.data[3] = 0x00; temp_block.data[4] = 0x06; @@ -201,7 +187,7 @@ NfcCommand picopass_poller_check_security(PicopassPoller* instance) { (memcmp( instance->data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data, temp_block.data, - sizeof(PicopassBlock)) == 0); + PICOPASS_BLOCK_LEN) == 0); if(instance->data->pacs.se_enabled) { FURI_LOG_D(TAG, "SE enabled"); @@ -401,6 +387,7 @@ NfcCommand picopass_poller_auth_handler(PicopassPoller* instance) { if(instance->mode == PicopassPollerModeRead) { memcpy( instance->data->pacs.key, instance->event_data.req_key.key, PICOPASS_KEY_LEN); + instance->data->card_data[PICOPASS_SECURE_KD_BLOCK_INDEX].valid = true; instance->data->pacs.elite_kdf = instance->event_data.req_key.is_elite_key; picopass_poller_prepare_read(instance); instance->state = PicopassPollerStateReadBlock; @@ -457,7 +444,8 @@ NfcCommand picopass_poller_read_block_handler(PicopassPoller* instance) { memcpy( instance->data->card_data[instance->current_block].data, block.data, - sizeof(PicopassBlock)); + PICOPASS_BLOCK_LEN); + instance->data->card_data[instance->current_block].valid = true; instance->current_block++; } while(false); diff --git a/picopass/protocol/picopass_poller_i.c b/picopass/protocol/picopass_poller_i.c index f95c4422bae..fb1cc404d40 100644 --- a/picopass/protocol/picopass_poller_i.c +++ b/picopass/protocol/picopass_poller_i.c @@ -122,11 +122,11 @@ PicopassError instance, instance->tx_buffer, instance->rx_buffer, PICOPASS_POLLER_FWT_FC); if(ret != PicopassErrorNone) break; - if(bit_buffer_get_size_bytes(instance->rx_buffer) != sizeof(PicopassBlock)) { + if(bit_buffer_get_size_bytes(instance->rx_buffer) != PICOPASS_BLOCK_LEN) { ret = PicopassErrorProtocol; break; } - bit_buffer_write_bytes(instance->rx_buffer, block->data, sizeof(PicopassBlock)); + bit_buffer_write_bytes(instance->rx_buffer, block->data, PICOPASS_BLOCK_LEN); } while(false); return ret; @@ -206,7 +206,7 @@ PicopassError picopass_poller_write_block( bit_buffer_reset(instance->tx_buffer); bit_buffer_append_byte(instance->tx_buffer, RFAL_PICOPASS_CMD_UPDATE); bit_buffer_append_byte(instance->tx_buffer, block_num); - bit_buffer_append_bytes(instance->tx_buffer, block->data, sizeof(PicopassBlock)); + bit_buffer_append_bytes(instance->tx_buffer, block->data, PICOPASS_BLOCK_LEN); bit_buffer_append_bytes(instance->tx_buffer, mac->data, sizeof(PicopassMac)); NfcError error = nfc_poller_trx( diff --git a/picopass/scenes/picopass_scene_loclass.c b/picopass/scenes/picopass_scene_loclass.c index 51d8a3065a5..616cba05747 100644 --- a/picopass/scenes/picopass_scene_loclass.c +++ b/picopass/scenes/picopass_scene_loclass.c @@ -44,12 +44,15 @@ void picopass_scene_loclass_on_enter(void* context) { const uint8_t config_block[PICOPASS_BLOCK_LEN] = { 0x12, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0xFF, 0x3C}; memcpy(data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].data, config_block, sizeof(config_block)); + data->card_data[PICOPASS_CONFIG_BLOCK_INDEX].valid = true; const uint8_t epurse[PICOPASS_BLOCK_LEN] = {0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; memcpy(data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].data, epurse, sizeof(epurse)); + data->card_data[PICOPASS_SECURE_EPURSE_BLOCK_INDEX].valid = true; const uint8_t aia[PICOPASS_BLOCK_LEN] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; memcpy(data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].data, aia, sizeof(aia)); + data->card_data[PICOPASS_SECURE_AIA_BLOCK_INDEX].valid = true; picopass->listener = picopass_listener_alloc(picopass->nfc, data); free(data); @@ -100,4 +103,4 @@ void picopass_scene_loclass_on_exit(void* context) { picopass_blink_stop(picopass); loclass_reset(picopass->loclass); -} \ No newline at end of file +} diff --git a/video_game_module_tool/files/vgm-fw-rgb.uf2 b/video_game_module_tool/files/vgm-fw-rgb.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..d6481d9ae6f8c41adf3bb6127a2d06f74da35921 GIT binary patch literal 311808 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 MD*q+_G{XP?1N;{-cmMzZ literal 0 HcmV?d00001 diff --git a/video_game_module_tool/scenes/scene_start.c b/video_game_module_tool/scenes/scene_start.c index 05c02b977ed..40b0b78d612 100644 --- a/video_game_module_tool/scenes/scene_start.c +++ b/video_game_module_tool/scenes/scene_start.c @@ -4,6 +4,7 @@ typedef enum { SceneStartIndexInstallDefault, + SceneStartIndexInstallRGB, SceneStartIndexInstallCustom, } SceneStartIndex; @@ -22,6 +23,12 @@ void scene_start_on_enter(void* context) { SceneStartIndexInstallDefault, submenu_item_common_callback, app); + submenu_add_item( + app->submenu, + "Install RGB Firmware", + SceneStartIndexInstallRGB, + submenu_item_common_callback, + app); submenu_add_item( app->submenu, "Install Firmware from File", @@ -41,6 +48,9 @@ bool scene_start_on_event(void* context, SceneManagerEvent event) { if(event.event == SceneStartIndexInstallDefault) { furi_string_set(app->file_path, VGM_DEFAULT_FW_FILE); scene_manager_next_scene(app->scene_manager, SceneConfirm); + } else if(event.event == SceneStartIndexInstallRGB) { + furi_string_set(app->file_path, APP_ASSETS_PATH("vgm-fw-rgb.uf2")); + scene_manager_next_scene(app->scene_manager, SceneConfirm); } else if(event.event == SceneStartIndexInstallCustom) { scene_manager_next_scene(app->scene_manager, SceneFileSelect); }