FRLG Macro Discussion

FRLG RNG Manipulation — Macro Guide

RNG Manipulation in the Nintendo Switch version of Pokémon Fire Red & Leaf Green allows you to control which Pokémon you encounter, including their IVs, nature, and shininess. This guide covers the macro-assisted approach to RNG manipulation, which uses computer-timed button presses for greater precision than doing it by hand.

Prerequisites: Before using this guide you should already be able to:

  • Find your Trainer ID (TID) and Secret ID (SID)
  • Calibrate your initial seed using EonTimer and Ten Lines
  • Perform a basic RNG hit by hand

If any of these are unfamiliar, start with the RNG Manip Guide for Starters video below.


Table of Contents

  1. Useful Guides
  2. External Tools
  3. Macro Tools
  4. How to Use the Macros

Useful Guides

RNG Manip Guide for Starters by im a blisy

A complete walkthrough for beginners covering:

  • How to find your Secret ID
  • How to use EonTimer and Ten Lines together
  • How to perform your first RNG hit from scratch

This video is the recommended starting point if you are new to FRLG RNG.


External Tools

Ten Lines
Searches for RNG targets, calibrates your initial seed, and provides several other RNG helpers. This is your primary tool for finding spreads and calculating advance counts.

EonTimer
A precision timer built for Pokémon RNG manipulation. Used to hit your target initial seed with frame-accurate timing.

JS-Finder
Finds your possible Secret IDs by brute-forcing combinations based on your Trainer ID and known encounters.

Decimal to Hexadecimal Converter
Converts decimal seed values to hex for input into other tools. Any converter will work — this is the one used in the starter video above.


Macro Tools

Instead of pressing buttons frame-perfectly by hand, macros let a computer execute the inputs at precise intervals. The macros in this guide are designed for use with Pokémon Automation’s Turbo Macro.

Requirements:

  • A Nintendo Switch (hardware or compatible setup)
  • A microcontroller or device capable of running Turbo Macro
  • Basic familiarity with the Pokémon Automation setup

For first-time setup, see the Getting Started Guide.

It is still possible to perform RNG manipulation entirely by hand using frame-perfect button presses — macros are an optional convenience for greater consistency.


How to Use the Macros

Most macros will require updating timing values specific to your target. You will calculate these using Ten Lines and EonTimer, then enter them into Turbo Macro before running.

Step 1 - Download the macro.

Step 2 - Open Turbo Macro in Pokemon Automation

Step 3 - Click Load Table and select the macro that you downloaded.

Step 4 - Edit timings for your specific target

Step 5 - Start the macro.

Step-by-Step: Prize Corner Example

Step 1 — Find your target
Use Ten Lines to search for a spread that meets your criteria (nature, IVs, shininess, etc.). Note the target seed and the frame count.

Step 2 — Calculate your initial seed timing
Enter your target seed into EonTimer and calibrate it to your console. This gives you the delay to hold before booting the game.

Step 3 — Set the target seed (ms) in the macro
Open Turbo Macro and locate the seed timing field. Enter the millisecond value for your target seed.

Step 4 — Calculate the Continue Screen timing

Continue Screen timing (ms) = target frame count − 3000

The 3000 ms offset accounts for the time spent holding A through the loading screen before control is returned. This value is fixed and does not need to be calibrated.

Step 5 — Enter the Continue Screen timing in the macro
Locate the Continue Screen timing field in Turbo Macro and enter the value from Step 4.

Step 6 — Run the macro
Start the macro from the Switch home screen or wherever the macro expects to begin. Do not interact with the console while the macro is running.

Setting Timings in Turbo Macro

The timing fields highlighted above are where you enter your seed (ms) and Continue Screen (ms) values. All other fields can be left at their defaults unless specified by a specific macro’s instructions.

1 Like

This is great. I know people are really anxious for good RNG-based macros and automation tools.

FRLG’s shiny rate is stupid, so i hope this helps folks.

Attaching the Shiny Manip for Wild Encounters created and shared by Meruvis.

:pushpin: Requirements

  • Basic understanding of RNG shiny manipulation
  • Tools: EON Timer and Ten Lines
  • First Pokémon in your party must know Sweet Scent

:gear: Settings

  • Controller set as wired
  • Number of loops: 1

Macro execution:
:compass: Steps
Steps 1–5
Start your Pokémon game → go back to the Home menu → relaunch the game after 2 seconds
Step 6
Set your target seed (ms)
Step 8
Set Continue Screen timing = target frames − 3000 ms (accounts for holding A until the load screen appears)
Steps 10–23
Use Sweet Scent within the fixed overworld window of 600 advances


:brain: Summary

  • Adjust timers for Step 6 and Step 8
  • EON Timer calibration is still required

:bar_chart: Observations

  • You can consistently hit the same seed depending on your target
  • Macro accuracy: ±1 frame (based on testing)
  • With proper adjustment, you can repeatedly hit the same shiny

Shiny WildEncounter.json (1.5 KB)

All credits go to Meruvis on the PokemonAutomation discord server

:sparkles: Turbo Macro – Shiny Manip for Game Corner :sparkles:


:pushpin: Requirements

  • Basic understanding of RNG shiny manipulation
  • Tools: EON Timer and Ten Lines
  • Enough coins to purchase your target Pokémon

:gear: Settings

  • Controller set as wired
  • Number of loops: 1

:compass: Steps

Steps 1–5

Start your Pokémon game → go back to the Home menu → relaunch the game after 2 seconds

Step 6

Set your target seed (ms)

Step 8

Set Continue Screen timing = target frames − 3000 ms (accounts for holding A until the loading screen appears)

Steps 10–27

Select your target Pokémon within the fixed overworld window of 600 advances

Steps 28–29

Skip the nickname screens


:gear: Adjustment for Target Pokémon

The macro is configurable depending on which Pokémon you want to hunt.

The initial setup is configured for Porygon.

Adjust the following steps based on your target:

  • Abra → set steps 17, 19, 21, 23 from D-Pad Down to D-Pad None
  • Clefairy (Piepi) → set steps 19, 21, 23 from D-Pad Down to D-Pad None
  • Pinsir / Scyther (Sichlor) → set steps 21, 23 from D-Pad Down to D-Pad None
  • Dratini → set step 23 from D-Pad Down to D-Pad None
  • Porygon → set steps 17, 19, 21, 23 to D-Pad Down (default setup)

:brain: Summary

  • Adjust timers for Step 6 and Step 8
  • Adjust steps depending on the target Pokémon
  • EON Timer calibration is still required

:bar_chart: Observations

  • You can consistently hit the same seed depending on your target
  • Macro accuracy: ±1 frame (based on testing)
  • With proper adjustment, you can repeatedly obtain the same shiny

ShinyGameCorner.json (1.9 KB)

All credits go to Meruvis on the PokemonAutomation discord server

Assorted macros uploaded by the community.

Togepi

Two macros, one for obtaining the egg and one for hatching it.

TogepiRNG.json (2.3 KB)
Hatch.json (1.7 KB)

Credit: Dhruv


Deoxys

Designed for Deoxys. Can probably be used for any static encounter where the last button press is right before the encounter. For example Lugia.

deoxysMacro.json (3.0 KB)

Credit: Rinarri


Snorlax

Designed for Snorlax. Accounts for the Poke Flute.

SnorlaxMacro.json (2.0 KB)

Credit: Nekuken97


Lugia

I haven’t tested the differences but this is probably very similar to Deoxys above.

LugiaMacro.json (1.7 KB)

Credit: Rinarri

Articuno, Zapdos, Moltres

These are all very similar.

ArticunoRNG.json (1.8 KB)
ZapdosRNG.json (1.9 KB)
MoltresRNG.json (1.9 KB)

Entei

EnteiRNG.json (4.3 KB)

Assorted Macros 2

Eevee

EeveeRNG.json (1.5 KB)

Fossil

FossilRNG.json (3.0 KB)

Hypno

HypnoRNG.json (2.5 KB)