<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pokeyellow.git/home, branch master</title>
<subtitle>Pokemon Yellow disassembly with SL0P mods: fastboot, SECRET SL0P WARP MENU, custom intro splash</subtitle>
<id>https://git.sl0p.foo/pokeyellow.git/atom/home?h=master</id>
<link rel='self' href='https://git.sl0p.foo/pokeyellow.git/atom/home?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/'/>
<updated>2026-07-15T11:37:56Z</updated>
<entry>
<title>explore: rewrite as an instant screen-paging camera</title>
<updated>2026-07-15T11:37:56Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-15T11:37:56Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=27c01477dffa3f0aa66d531e5b5ed1bdc54609e3'/>
<id>urn:sha1:27c01477dffa3f0aa66d531e5b5ed1bdc54609e3</id>
<content type='text'>
Per feedback, EXPLORE should page whole screens on button presses (instant
redraw), not move/walk the character. Ripped out the walk-engine approach
entirely -- reverted the CollisionCheckOnLand noclip hook and the OverworldLoop
simulated-joypad paging hook, and removed both helpers.

EXPLORE is now a self-contained camera loop that renders straight from the map
block buffer:
  - view pointer = wOverworldMap + (by+1)*stride + bx  (LoadCurrentMapView)
  - a d-pad press shifts the camera coords by ~one screen and re-renders
  - at a map edge it crosses to the connected map using that connection's
    alignment offset (or clamps if none), LoadMapData + re-render
  - B restores the origin view + returns to the SL0P menu
No character walking, sprites hidden for a clean camera. Verified: within-map
paging steps a screen at a time, seams cross with correct offsets (Pallet -&gt;
Route1 -&gt; Viridian), 25-page random stress with no corruption, and normal
gameplay resumes after exit.
</content>
</entry>
<entry>
<title>explore: pivot to noclip free-roam camera</title>
<updated>2026-07-15T10:15:50Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-15T10:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=259c6b8ec4524dcd4a75da065106107f2165b202'/>
<id>urn:sha1:259c6b8ec4524dcd4a75da065106107f2165b202</id>
<content type='text'>
Ground-truth from render_overworld.py showed Kanto is ONE seamless world joined
along shared edges with per-connection offsets -- so a map-by-map browser is the
wrong model. Replaced it with noclip free-roam that leans on the engine's own
player-walk + connection-crossing machinery (which already handles seams/offsets
correctly):

- wSlopNoclip flag (reused the dead wUnusedObtainedBadges byte at D356, 0 r/w,
  not unioned, in the saved region -&gt; safe).
- CollisionCheckOnLand: 5-byte hook at the top -&gt; when noclip is set, return
  no-collision. Freed the room in ROM0 by deleting the unreferenced Func_0db5
  (dead farcall LoadToggleableObjectData) in LoadMapHeader.
- EXPLORE menu entry now just toggles wSlopNoclip and closes the menu, dropping
  you into the overworld to glide through walls/NPCs/ledges and walk across map
  connections exactly as the world data defines them.

Verified: Pallet -&gt; (walk north through the fences) -&gt; seam-cross into Route 1 at
y=35 -&gt; continue north; toggle off restores collision (player blocked).
</content>
</entry>
<entry>
<title>menu: SL0P MENU scaffolding with WARP as a submenu</title>
<updated>2026-07-15T00:01:51Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-15T00:01:51Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=849fc45bc57e9a1f85c4fa98103ec04991406627'/>
<id>urn:sha1:849fc45bc57e9a1f85c4fa98103ec04991406627</id>
<content type='text'>
Refactor the flat warp menu into a table-driven top-level SL0P MENU opened by
SELECT. Each entry = a name in SlopMenuText + a routine in SlopMenuHandlers;
handlers return carry set (a warp was started, exit) or clear (back to the
menu). Ships two entries:
  WARP -&gt; WarpSubmenu (the 13-destination town list)
  HEAL -&gt; SlopHealParty (restore party HP + clear status), demoing an action
Shared open/close display handling (hide sprites, single-space flags, wTileMap
push, restore). Add an entry by appending a name+handler and bumping
SLOP_MENU_COUNT. (renamed engine/warp_menu.asm -&gt; engine/slop_menu.asm)
</content>
</entry>
<entry>
<title>warp: SELECT opens quick-warp (B1) + relocate intro-skip to PlayIntro</title>
<updated>2026-07-14T22:37:04Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T22:37:04Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=cbd75bcf8a14a647469e6e89c9c8a816fff9bc10'/>
<id>urn:sha1:cbd75bcf8a14a647469e6e89c9c8a816fff9bc10</id>
<content type='text'>
- home/overworld.asm: SELECT in the overworld farcalls WarpMenu, then restarts
  the overworld loop so the fly-warp flags get processed.
- engine/warp_menu.asm (new): WarpMenu reuses the fly-warp machinery
  (wDestinationMap + BIT_FLY_WARP/BIT_USED_FLY). B1 warps to Pallet
  unconditionally to validate the hook; the real destination menu is next.
- Moved the fastboot intro-skip out of home/init.asm into PlayIntro (bank 10)
  to reclaim ~10 bytes of home ROM0 for the overworld hook. Net boot behavior
  is unchanged; new-game path still shows the intro.
</content>
</entry>
<entry>
<title>fastboot: skip intro/title/menu and autoload save if one exists</title>
<updated>2026-07-14T22:28:26Z</updated>
<author>
<name>Ash Ketchum</name>
<email>no-reply@sl0p.foo</email>
</author>
<published>2026-07-14T22:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=d52815caa2c0f385ae61e38ecc7b5bddd7ccf7b3'/>
<id>urn:sha1:d52815caa2c0f385ae61e38ecc7b5bddd7ccf7b3</id>
<content type='text'>
Three small hooks, all gated on CheckForPlayerNameInSRAM (carry = save present):
- home/init.asm: skip 'predef PlayIntro' when a save exists
- engine/movie/title.asm (PrepareTitleScreen): jp MainMenu, skipping the
  title screen (only the boot path hits PrepareTitleScreen; return-to-title
  paths jp DisplayTitleScreen directly, so they're unaffected)
- engine/menus/main_menu.asm (MainMenu): after TryLoadSaveFile, if
  wSaveFileStatus==2 jp SpecialEnterMap, skipping the CONTINUE menu

Exported CheckForPlayerNameInSRAM (:: ) so home/init.asm can farcall it.
New game (no save) path is fully preserved. Ship pokeyellow.gbc only; the
_DEBUG build overflows home ROM0 by 8 bytes with the init hook.
</content>
</entry>
<entry>
<title>Identify `wPikachuSpawnStateFlags` and `wPikachuMapScriptFlags` bits, and `PIKAMOVEMENT_*` constants (#158)</title>
<updated>2026-06-24T18:43:48Z</updated>
<author>
<name>Yoann Fievez</name>
<email>yoann.fievez@gmail.com</email>
</author>
<published>2026-06-24T18:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=d150f7f4f49e9dda08c52199159b30ae9b4f00e8'/>
<id>urn:sha1:d150f7f4f49e9dda08c52199159b30ae9b4f00e8</id>
<content type='text'>
- Rename `wd471` to` wPikachuSpawnStateFlags`, with `BIT_PIKACHU_SPAWN_*` bits
- Rename `wd492` to `wPikachuMapScriptFlags`, with `BIT_PIKACHU_MAP_*` bits
- Introduce `PIKAMOVEMENT_*` constants for `ApplyPikachuMovementData`
- Refactor `BillsHouse` scripts and Pikachu/Bill movement data</content>
</entry>
<entry>
<title>Merge branch 'master' of https://github.com/pret/pokered</title>
<updated>2026-01-18T04:38:33Z</updated>
<author>
<name>dannye</name>
<email>33dannye@gmail.com</email>
</author>
<published>2026-01-18T04:38:33Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=bc2354dd6626ce28bb9561547ed2107cfa56c18e'/>
<id>urn:sha1:bc2354dd6626ce28bb9561547ed2107cfa56c18e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use macros to enforce "hidden object" constraints, and rename them to "hidden events" (#559)</title>
<updated>2026-01-08T03:05:37Z</updated>
<author>
<name>Rangi</name>
<email>35663410+Rangi42@users.noreply.github.com</email>
</author>
<published>2026-01-08T03:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=0e49aef88ef94b9d3e80d89e4eb718e9425045df'/>
<id>urn:sha1:0e49aef88ef94b9d3e80d89e4eb718e9425045df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use macros to enforce "missable/hide/show object" constraints, and rename them to "toggleable objects" (#557)</title>
<updated>2026-01-08T03:05:20Z</updated>
<author>
<name>Rangi</name>
<email>35663410+Rangi42@users.noreply.github.com</email>
</author>
<published>2026-01-08T03:05:20Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=fe1e76466b293c83e6cd3a7d4639fb3c49da26ad'/>
<id>urn:sha1:fe1e76466b293c83e6cd3a7d4639fb3c49da26ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Comment more unreferenced local labels (#550)</title>
<updated>2025-12-15T20:14:17Z</updated>
<author>
<name>Narishma-gb</name>
<email>194818981+Narishma-gb@users.noreply.github.com</email>
</author>
<published>2025-12-15T20:14:17Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/pokeyellow.git/commit/?id=e9d3324bc06faa7de3b7a35d1f9429e610e8a761'/>
<id>urn:sha1:e9d3324bc06faa7de3b7a35d1f9429e610e8a761</id>
<content type='text'>
</content>
</entry>
</feed>
