Skip to content

Instantly share code, notes, and snippets.

@GMMan
GMMan / README.md
Created February 7, 2026 07:17
SNC7330 bootrom console over UART1

This code executes the SNC7330 bootrom built-in console standalone and uses UART1 instead of UART0 for I/O.

To build, use the SN_M3B SDK with default startup code to do some basic setup, and use this code for your main program. Add symbol mapping as necessary.

Auto-baud rate is enabled, so connect with any baud rate (115200 by default). Hit escape at start of line to have the console emit some newlines, and type ? to see commands. Be careful while working with the console, because it is capable of erasing flash.

@GMMan
GMMan / app.c
Created March 9, 2025 22:43
Test app for DWARF dead code elimination issue
#include <furi.h>
#include <furi_hal.h>
void test1_app_init();
uint32_t test1_app();
void test1_app_test();
void test1_app_init() {
printf("init\n");
}
@GMMan
GMMan / cc2640r2f_rom_dumping.md
Last active July 14, 2024 22:00
Dumping ROMs from TI CC2640R2F

Dumping ROMs from TI CC2640R2F

Main flash

Memory address 0x0 to 0x1ffff. Dump over JTAG or built-in bootloader (if enabled).

Boot ROM

Memory address 0x10000000 to 0x1001cbff. Dump over JTAG or built-in bootloader.

@GMMan
GMMan / cc2640r2f_rfcbits.md
Last active July 2, 2024 03:36
RFCBITS register documentation for TI CC2640R2F

RFCBITS @ 0x400821cc

Values indicate bit mask.

  • 0x00000001: boot type: 0 = with command, 1 = special boot

Boot with command

Command specified will be executed immediately after boot init (unverified), unless command is 0, which will result in a completely normal boot.

Special boot

  • 0xe0000000: 7 = special request, otherwise execute code out of address specified by RFCBITS
@GMMan
GMMan / MceSourceSplit.cs
Created June 30, 2024 21:20
TI MCE patch source splitter
// See https://aka.ms/new-console-template for more information
using System.Text.RegularExpressions;
string inFile = @"your_patch_file.c";
string outDir = @"your_output_dir";
Regex patternRegex = new Regex(@"; (.+?):\s+(\d+) (.*)");
using StreamReader sr = File.OpenText(inFile);
Directory.CreateDirectory(outDir);
@GMMan
GMMan / be_battles.md
Last active February 11, 2023 23:33
Vital Bracelet BE Battle Logic

Vital Bracelet BE Battle Logic

If you're looking for Vital Bracelet (Digital Monster, Digivice -V-, Characters, Vital Hero) battle logic, please see here.

Encounter and setup

Each character on a BEM has three encounter chance percentages: one for phase 1-4, one for phase 5-7, and one for phase 8. For Dims and VBMs, there is no

@GMMan
GMMan / build_xtrapc_ultra.md
Last active November 12, 2022 08:59
Xtra-PC Ultra Build Guide

Building Xtra-PC Ultra from Source

Superseded by this repo. See wiki page for build instructions.

@GMMan
GMMan / gpce4_test.md
Created August 4, 2022 06:01
GPCE4 Test Program

GPCE4 Test Program

Entry

Before powering on the MCU, raise TEST pin high, configure wait states, select the test to run, and configure any inputs.

Test mode selection

Determines whether MCU starts in test mode.