{"id":260,"date":"2011-08-18T20:17:16","date_gmt":"2011-08-19T01:17:16","guid":{"rendered":"http:\/\/snarfblam.com\/words\/?p=260"},"modified":"2015-07-20T19:39:20","modified_gmt":"2015-07-21T00:39:20","slug":"zelda-automap-0-2-source","status":"publish","type":"post","link":"http:\/\/snarfblam.com\/words\/?p=260","title":{"rendered":"Zelda Automap 0.2 Source"},"content":{"rendered":"<p>Below is the source for the Zelda Automap hack (0.2). You can also <a href=\"http:\/\/snarfblam.com\/files\/Automap_0.2.zip\">download the source<\/a> with the needed GFX file. The code should be assembled with snarfblASM. The resulting IPS file should be applied to the PRG0 version of the ROM (PRG1 appears to work as well, but the hack was created and tested on PRG0). Comments are welcome.<\/p>\n<p><!--more--><br \/>\n<HR><\/p>\n<div id=\"code_frame\">\n<style type=\"text\/css\">\/**\n * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n * (http:\/\/qbnz.com\/highlighter\/ and http:\/\/geshi.org\/)\n *\/\n._6502tasm .de1, ._6502tasm .de2 {font: normal normal 1em\/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}\n._6502tasm  {font-family:monospace;}\n._6502tasm .imp {font-weight: bold; color: red;}\n._6502tasm li, ._6502tasm .li1 {background: #ffffff;}\n._6502tasm .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}\n._6502tasm .li2 {background: #f8f8f8;}\n._6502tasm .kw1 {color: #00f; font-weight:bold;}\n._6502tasm .kw2 {color: #00f; font-weight:bold;}\n._6502tasm .kw3 {color: #080; font-weight:bold;}\n._6502tasm .kw4 {color: #f00; font-weight:bold;}\n._6502tasm .kw5 {color: #80f; font-weight:bold;}\n._6502tasm .kw6 {color: #f08; font-weight:bold;}\n._6502tasm .kw7 {color: #a04; font-weight:bold; font-style: italic;}\n._6502tasm .co1 {color: #999; font-style: italic;}\n._6502tasm .es0 {color: #009; font-weight: bold;}\n._6502tasm .br0 {color: #000;}\n._6502tasm .sy0 {color: #080;}\n._6502tasm .st0 {color: #080;}\n._6502tasm .nu0 {color: #f00;}\n._6502tasm .nu5 {color: #f00;}\n._6502tasm .nu13 {color: #f00;}\n._6502tasm span.xtra { display:block; }<\/p>\n<\/style>\n<div class=\"_6502tasm\">\n<ol>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Zelda auto-map Patch <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; 0.2<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; By snarfblam<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Includes:<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; -Auto-map<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; -1\/8 heart increments<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; -Faster potion\/fairy refill<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; -Changed magic key count from &quot;A&quot; to &quot;infinity&quot; symbol<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; snarfblASM<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; This code should be assembled with snarfblASM. snarfblASM was<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; used for two reasons: <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; -The PATCH directive <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; -I authored snarfblASM and I look for every opportunity to test it.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; PATCH directive<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; The .PATCH directive specifies a ROM offset for the code that<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; follows. This is good for hacks that need to insert code at<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; many locations. Syntax is as follows:<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; .PATCH offset &nbsp; &nbsp; ; decimal<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; .PATCH $offset &nbsp; &nbsp;; hex<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; .PATCH 0xoffset &nbsp; ; hex<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; .PATCH BB:AAAA &nbsp; &nbsp;; B = bank, A = address (both hex). Assumes 16kb banks. Header is accounted for.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; CODE!!!<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Map image<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$16D10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.incbin <span class=\"st0\">&quot;MapTiles.gfx&quot;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Variable declarations<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Game variables<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">LevelNumber &nbsp; &nbsp; &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">SaveSlot &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$16<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">PendingPpuMacro &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$14<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">CurrentMapLocation &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$EB<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">NewMapLocation &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$EC<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">OAM_MapBlipY &nbsp; &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$0254<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Game routines<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">BankSwap &nbsp; &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$FFAC<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">SendPpuMacro &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$A0F6<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Our addresses<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">MapTiles &nbsp; &nbsp;<span class=\"sy0\">=<\/span> <span class=\"nu13\">$AD00<\/span> <span class=\"co1\">; 06:AD00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">VRAM_MapTiles <span class=\"sy0\">=<\/span> <span class=\"nu13\">$1300<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Our variables<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.enum <span class=\"nu13\">$6C00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; tileFlag: &nbsp; .dsb <span class=\"nu0\">1<\/span> &nbsp;<span class=\"co1\">; Used to indicate that there is a pending PPU macro for the map<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; mapVar: &nbsp; &nbsp; .dsb <span class=\"nu0\">1<\/span> &nbsp;<span class=\"co1\">; Temporary storage variable<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; mapVar_X: &nbsp; .dsb <span class=\"nu0\">1<\/span> &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; mapVar_Y: &nbsp; .dsb <span class=\"nu0\">1<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; mapLoop_X: &nbsp;.dsb <span class=\"nu0\">1<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; mapLoop_Y: &nbsp;.dsb <span class=\"nu0\">1<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.endenum<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.enum <span class=\"nu13\">$7F10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; SecondPpuStringIndex: .DSB <span class=\"nu0\">1<\/span> &nbsp; &nbsp;<span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; MapBits_Left: &nbsp; .DSB <span class=\"nu0\">1<\/span> &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Stores flags for whether the two screens in the left\/right side<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; MapBits_Right: &nbsp;.DSB <span class=\"nu0\">1<\/span> &nbsp; &nbsp; &nbsp;<span class=\"co1\">; of the current map tile have been visited, in lower 2 bits<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; MapFilter_Top: &nbsp; &nbsp;.DSB <span class=\"nu0\">1<\/span> &nbsp; &nbsp;<span class=\"co1\">; Stores a value to be ANDed with the bytes of a map tile to black out unvisited screens<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; MapFilter_Bottom: .DSB <span class=\"nu0\">1<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; MapTileMacro: &nbsp; .DSB <span class=\"nu13\">$14<\/span> &nbsp; &nbsp;<span class=\"co1\">; 10 bytes of tile data, 2 byte pointer, 1 byte len specifier, 1 byte FF terminator<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;TempAddress: &nbsp; &nbsp;.DW 1<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; MapBlipY: &nbsp; &nbsp; &nbsp; .DSB <span class=\"nu13\">$1<\/span> &nbsp; &nbsp; <span class=\"co1\">; Stores the y-coordinate of the map blip<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.ende<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.enum <span class=\"nu13\">$7F50<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; MapRam: &nbsp; &nbsp; .DSB <span class=\"nu13\">$10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; MapSaveRam: .DSB <span class=\"nu13\">$30<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.ende<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Registers<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PpuControl1 &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2000<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">PpuControl2 &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2001<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PpuStatus &nbsp; &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2002<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">OamAddress &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2003<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">OamData &nbsp; &nbsp; &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2004<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">PpuScroll &nbsp; &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2005<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PpuAddress &nbsp; &nbsp; &nbsp;:<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2006<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">PpuData &nbsp; &nbsp; &nbsp; &nbsp; :<span class=\"sy0\">=<\/span> <span class=\"nu13\">$2007<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;&quot;AUTOMAP BY SNARF&quot;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Adds by-line to title screen<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH <span class=\"nu13\">$1A8C5<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$0A<\/span>, <span class=\"nu13\">$1E<\/span>, <span class=\"nu13\">$1D<\/span>, <span class=\"nu13\">$18<\/span>, <span class=\"nu13\">$16<\/span>, <span class=\"nu13\">$0A<\/span>, <span class=\"nu13\">$19<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$00<\/span>, <span class=\"nu13\">$2C<\/span>, <span class=\"nu13\">$02<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$0B<\/span>, <span class=\"nu13\">$22<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$1C<\/span>, <span class=\"nu13\">$17<\/span>, <span class=\"nu13\">$0A<\/span>, <span class=\"nu13\">$1B<\/span>, <span class=\"nu13\">$0F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;A &nbsp; &nbsp;U &nbsp; &nbsp;T &nbsp; &nbsp;O &nbsp; &nbsp;M &nbsp; &nbsp;A &nbsp; &nbsp;P &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp;. &nbsp; &nbsp;1 &nbsp; &nbsp; &nbsp; &nbsp; B &nbsp; &nbsp;Y &nbsp; &nbsp; &nbsp; &nbsp; S &nbsp; &nbsp;N &nbsp; &nbsp;A &nbsp; &nbsp;R &nbsp; &nbsp;F <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Map blip blinking<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; New blip pattern<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH <span class=\"nu13\">$846F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX e0 e0 e0 00 00 00 00 00 e0 a0 e0 00 00 00 00 00 <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Corrects positioning of map blip<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; :71F7: &nbsp; &nbsp; LDA #$11 &nbsp; &nbsp; &nbsp; ; A = left edge of map<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Blip update routine<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 05:BC00<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">BlipUpdate:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Exit if in a dungeon<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> LevelNumber<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> exitHijack<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Grab the current blip position if it is on-screen<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> OAM_MapBlipY<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapBlipY<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">OW_BlipUpdate:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$15<\/span> <span class=\"co1\">; Get frame counter<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Blink every 32 frames<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BCC<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Show blip<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> MapBlipY<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> OAM_MApBlipY<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> exitHijack<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Hide blip<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> OAM_MapBlipY<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">exitHijack:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> <span class=\"nu13\">$77E7<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Hijack <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 07:F322 <span class=\"co1\">; Per-frame update hijack &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> SafeBlipUpdate <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; SafeBlipUpdate<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;This routine is placed after DoWholeMapHijack (under &quot;Draw whole map -HIJACK-&quot;) below<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;because these two functions must be placed in the fixed bank, together in the small available space.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;New heart data<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; New heart PPU macros<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; The PPU addresses of these macros have been swapped so that the hearts fill the top row before the bottom row.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$6517<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; First row of hearts<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$D6<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Second row of hearts<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$B6<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &quot;-LIFE-&quot; (unchanged)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$1bF1E<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$62<\/span>, <span class=\"nu13\">$15<\/span>, <span class=\"nu13\">$12<\/span>, <span class=\"nu13\">$0F<\/span>, <span class=\"nu13\">$0E<\/span>, <span class=\"nu13\">$62<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; New heart tiles<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$8C8F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.HEX 6c ee ee ee fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e de fe fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> <span class=\"co1\">; Partial hearts<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX 6c ee ee ee fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9e 9e fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.HEX 6c ee ee ee ee 5c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9e 9e 9e 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX 6c ee ee ee ee 6c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9e 9e 9e 5c <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.HEX 6c fe ee ee f6 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9e 9e 8e <span class=\"nu0\">44<\/span> <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX 6c fe ee fe fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9e <span class=\"nu0\">82<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">44<\/span> <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.HEX 6c fa e6 fe fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9a <span class=\"nu0\">82<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">44<\/span> <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX 6c fa e6 fe fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c 9e 9a <span class=\"nu0\">82<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">44<\/span> <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.HEX 6c 9e 9a b2 f2 6c 00 00 00 00 00 00 00 00 00 00 <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH <span class=\"nu13\">$8E8F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.HEX 6c fe fe fe fe 7c <span class=\"nu0\">38<\/span> <span class=\"nu0\">10<\/span> 6c <span class=\"nu0\">92<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">82<\/span> <span class=\"nu0\">44<\/span> <span class=\"nu0\">28<\/span> <span class=\"nu0\">10<\/span> <span class=\"co1\">; Whole heart<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Magic key tile index<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; This byte specifies the tile index to use for the key count when player has the magic key<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH <span class=\"nu13\">$65b2<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$58<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;Map PPU macros<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; New tilemap for the map to allow each tile to be unique.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$1935F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Whole overworld map<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$62<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;.db $30,$30,$30,$30,$30,$30,$30,$30<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$30<\/span>, <span class=\"nu13\">$31<\/span>, <span class=\"nu13\">$32<\/span>, <span class=\"nu13\">$33<\/span>, <span class=\"nu13\">$34<\/span>, <span class=\"nu13\">$35<\/span>, <span class=\"nu13\">$36<\/span>, <span class=\"nu13\">$37<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$82<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;.db $30,$30,$30,$30,$30,$30,$30,$30<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$38<\/span>, <span class=\"nu13\">$39<\/span>, <span class=\"nu13\">$3A<\/span>, <span class=\"nu13\">$3B<\/span>, <span class=\"nu13\">$3C<\/span>, <span class=\"nu13\">$3D<\/span>, <span class=\"nu13\">$3E<\/span>, <span class=\"nu13\">$3F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$A2<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;.db $30,$30,$30,$30,$30,$30,$30,$30<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$40<\/span>, <span class=\"nu13\">$41<\/span>, <span class=\"nu13\">$42<\/span>, <span class=\"nu13\">$43<\/span>, <span class=\"nu13\">$44<\/span>, <span class=\"nu13\">$45<\/span>, <span class=\"nu13\">$46<\/span>, <span class=\"nu13\">$47<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.db <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$C2<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;.db $30,$30,$30,$30,$30,$30,$30,$30<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$48<\/span>, <span class=\"nu13\">$49<\/span>, <span class=\"nu13\">$4A<\/span>, <span class=\"nu13\">$4B<\/span>, <span class=\"nu13\">$4C<\/span>, <span class=\"nu13\">$4D<\/span>, <span class=\"nu13\">$4E<\/span>, <span class=\"nu13\">$4F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.db <span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;New Map Attribute<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Used to apply the proper palette for the overworld map.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; This is the original routine that queues the PPU macro that sets HUD palettes<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B005:A9 18 &nbsp; &nbsp; LDA #$18<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B007:D0 0F &nbsp; &nbsp; BNE $B018<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B009:A9 D0 &nbsp; &nbsp; LDA #$D0<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B00B:A0 17 &nbsp; &nbsp; LDY #$17<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B00D:4C 01 85 &nbsp;JMP $8501<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B010:A9 E8 &nbsp; &nbsp; LDA #$E8<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B012:A0 2F &nbsp; &nbsp; LDY #$2F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B014:D0 F7 &nbsp; &nbsp; BNE $B00D<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B016:A9 0E &nbsp; &nbsp; LDA #$0E<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B018:85 14 &nbsp; &nbsp; STA $0014 = #$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;05:B01A:E6 13 &nbsp; &nbsp; INC $0013 = #$05<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;05:B01C:60 &nbsp; &nbsp; &nbsp; &nbsp;RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">OriginalHudAttributeMacro <span class=\"sy0\">=<\/span> <span class=\"nu13\">$A2D3<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 05:B01A<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Hijack the routine that queues the attribute macro<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> NewHudMacroSelector<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 05:AF20<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Map palette selection routine<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; If the overworld map attribute macro is queued in a level, we swap in the<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; dungeon map attribute macro (since we&#8217;ve changed the overworld map macro)<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">NewHudMacroSelector:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Skip this routine for overworld<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> LevelNumber<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Only run this routine if the pending macro is the HUD attribute macro<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> PendingPpuMacro<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0E<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Change 0E to 7E to load dungeon hud attributes &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$7E<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> PendingPpuMacro<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">INC<\/span> <span class=\"nu13\">$13<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Modifications to PPU macro pointer table<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Pointer to below attributes (new overworld attribute macro)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 06:A00E <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DW OverworldAttributeData &nbsp; &nbsp; &nbsp;<span class=\"co1\">; New overworld map attribute macro<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 06:A07E<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DW OriginalHudAttributeMacro &nbsp; <span class=\"co1\">; Original attribute macro to be used for dungeons<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; New attribute data &nbsp; &nbsp; <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 06:BEF0<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">OverworldAttributeData:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; New data to change map colors<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DB <span class=\"nu13\">$23<\/span>, <span class=\"nu13\">$C0<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; .DB <span class=\"nu13\">$10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DB <span class=\"nu13\">$C0<\/span>, <span class=\"nu13\">$FF<\/span>, <span class=\"nu13\">$70<\/span>, <span class=\"nu13\">$00<\/span>, <span class=\"nu13\">$00<\/span>, <span class=\"nu13\">$44<\/span>, <span class=\"nu13\">$55<\/span>, <span class=\"nu13\">$55<\/span>, <span class=\"nu13\">$FF<\/span>, <span class=\"nu13\">$FF<\/span>, <span class=\"nu13\">$37<\/span>, <span class=\"nu13\">$00<\/span>, <span class=\"nu13\">$00<\/span>, <span class=\"nu13\">$44<\/span>, <span class=\"nu13\">$55<\/span>, <span class=\"nu13\">$55<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; This is additional macros from the original data. It needs to be part of the same PPU macro string.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; .DB <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$6F<\/span>, <span class=\"nu13\">$0E<\/span>, <span class=\"nu13\">$69<\/span>, <span class=\"nu13\">$0B<\/span>, <span class=\"nu13\">$6B<\/span>, <span class=\"nu13\">$69<\/span>, <span class=\"nu13\">$0A<\/span>, <span class=\"nu13\">$6B<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$62<\/span>, <span class=\"nu13\">$15<\/span>, <span class=\"nu13\">$12<\/span>, <span class=\"nu13\">$0F<\/span>, <span class=\"nu13\">$0E<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DB <span class=\"nu13\">$62<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$CF<\/span>, <span class=\"nu13\">$06<\/span>, <span class=\"nu13\">$6E<\/span>, <span class=\"nu13\">$6A<\/span>, <span class=\"nu13\">$6D<\/span>, <span class=\"nu13\">$6E<\/span>, <span class=\"nu13\">$6A<\/span>, <span class=\"nu13\">$6D<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$8F<\/span>, <span class=\"nu13\">$C2<\/span>, <span class=\"nu13\">$6C<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$91<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; .DB <span class=\"nu13\">$C2<\/span>, <span class=\"nu13\">$6C<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$92<\/span>, <span class=\"nu13\">$C2<\/span>, <span class=\"nu13\">$6C<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$94<\/span>, <span class=\"nu13\">$C2<\/span>, <span class=\"nu13\">$6C<\/span>, <span class=\"nu13\">$20<\/span>, <span class=\"nu13\">$6B<\/span>, <span class=\"nu13\">$84<\/span>, <span class=\"nu13\">$F7<\/span>, <span class=\"nu13\">$24<\/span>, <span class=\"nu13\">$F9<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; .DB <span class=\"nu13\">$61<\/span>, <span class=\"nu13\">$FF<\/span>, <span class=\"nu13\">$29<\/span>, <span class=\"nu13\">$84<\/span>, <span class=\"nu13\">$09<\/span>, <span class=\"nu13\">$12<\/span>, <span class=\"nu13\">$17<\/span>, <span class=\"nu13\">$1F<\/span>, <span class=\"nu13\">$0E<\/span>, <span class=\"nu13\">$17<\/span>, <span class=\"nu13\">$1D<\/span>, <span class=\"nu13\">$18<\/span>, <span class=\"nu13\">$1B<\/span>, <span class=\"nu13\">$22<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Terminator<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; .DB <span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Save\/Load\/Delete Hijacks<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Save Hijack<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; 02:A77A: &nbsp; &nbsp;JSR $9D2A <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 02:A77A<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> SaveMapData<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; SaveHijackReturn <span class=\"sy0\">=<\/span> <span class=\"nu13\">$9D2A<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Load Hijack<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; 02:A5FE: &nbsp; &nbsp;JSR $E625<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 02:A5FE<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> LoadMapData<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; LoadHijackReturn <span class=\"sy0\">=<\/span> <span class=\"nu13\">$E625<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Delete Map Hijack &#8211; Register Name<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp;<span class=\"co1\">;02:A2C7: &nbsp;JSR $A764 = File creation hijack<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 02:A2C7<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> DeleteMap_RegisterName<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Delete Map Hijack 2 &#8211; Second Quest <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp;<span class=\"co1\">;02:ABB5: &nbsp;JMP $AF5A = Second quest hijack <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 02:ABB5<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> DeleteMap_SecondQuest<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Save\/Load\/Delete routines<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Save map data<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 02:B000<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">SaveMapData:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> PrepLoadSaveIndexers<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> MapRam,<span class=\"kw2\">X<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapSaveRam,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">DEX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BPL<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> SaveHijackReturn<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Load map data<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">LoadMapData:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> PrepLoadSaveIndexers<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> MapSaveRam,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapRam,<span class=\"kw2\">X<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">DEX<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BPL<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> LoadHijackReturn<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Delete routines<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">DeleteMap_RegisterName:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> DeleteMap<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> <span class=\"nu13\">$A764<\/span> &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Return from hijack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">DeleteMap_SecondQuest:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> DeleteMap<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> <span class=\"nu13\">$AF5A<\/span> &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Return from hijack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Delete map data<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">DeleteMap:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">STA<\/span> MapRam,<span class=\"kw2\">X<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">DEX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BPL<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span> &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Common routines<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PrepLoadSaveIndexers:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Sets the Y register to point to the end of the player&#8217;s map save data (MapSaveRam,Y),<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; and sets X to point to the end of map data ram.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDX<\/span> SaveSlot &nbsp; &nbsp;<span class=\"co1\">; Save slot 1<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$1F<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Save slot 2<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">DEX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$2F<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Save slot 3<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Updating map spot<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Updates a single tile on the map as the player walks around<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Hijack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 05:A8BE<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">;05:A8BE:20 F4 A9 &nbsp;JSR $A9F4<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; UpdateMapSpotReturn <span class=\"sy0\">=<\/span> <span class=\"nu13\">$A9F4<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> UpdateMapSpot <span class=\"co1\">;$85A0<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Update routine<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 05:85A0<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">UpdateMapSpot:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">;JSR $752F &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; Displaced code<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Update map data<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> CurrentMapLocation<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">AND<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Get X-coordinate<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAX<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Used to index into map data<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Push tile-X onto stack<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> CurrentMapLocation<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; A \/= 16 (get map Y)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Push Tile-Y onto stack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Set bit for y location<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">++<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ORA<\/span> MapRam,<span class=\"kw2\">X<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapRam,<span class=\"kw2\">X<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Pull tile index into registers<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> UpdateMapTile<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">;RTS<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> UpdateMapSpotReturn<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;Update map tile<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; =========================================================== &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;Processes map data and invokes the rendering routine.<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;Used by &quot;Update map spot&quot; and &quot;draw whole map&quot; code<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;PlayerMapData = $7F50<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PpuMapMacroBase <span class=\"sy0\">=<\/span> <span class=\"nu13\">$6BCD<\/span> &nbsp; &nbsp; <span class=\"co1\">; Map macros<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">SingleTileMacro <span class=\"sy0\">=<\/span> <span class=\"nu13\">$6BFA<\/span> &nbsp; &nbsp; <span class=\"co1\">; Single map tile macro<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">SingleTileMacroByte <span class=\"sy0\">=<\/span> <span class=\"nu13\">$6BFD<\/span> <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PpuMapMacroLen <span class=\"sy0\">=<\/span> <span class=\"nu13\">$B<\/span> &nbsp; &nbsp; <span class=\"co1\">; 11 Bytes: 8 tiles + 3-byte header<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">MapTiles <span class=\"sy0\">=<\/span> <span class=\"nu13\">$30<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 05:BC30<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">UpdateMapTile:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; A &#8211; Unused<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; X &#8211; Tile X<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Y &#8211; Tile Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STX<\/span> mapVar_X<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STY<\/span> mapVar_Y<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TXA<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; X = X * 2<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; We need to extract four bits out of the player&#8217;s &quot;explored map data&quot;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; and use them as a tile index<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> MapRam,<span class=\"kw2\">X<\/span> &nbsp; &nbsp; <span class=\"co1\">; Load map byte<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> ProcessMapByte &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Get relevant two bits<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> mapVar &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Store semi-calculated tile value<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapBits_Left<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> mapVar_Y<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> MapRam <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span>,<span class=\"kw2\">X<\/span> <span class=\"co1\">; Get next map byte<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> ProcessMapByte &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Get relevant two bits<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapBits_Right<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Set flag to update single tile on screen<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> tileFlag<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> RenderMapTile<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">ProcessMapByte:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Takes a player-map data byte and gets the relevant two bits out of it<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; A &#8211; Map byte<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Y &#8211; Map Tile Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Return via A<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; A = A &gt;&gt; (Y * 2) | 3<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; While Y != 0<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BEQ<\/span> <span class=\"sy0\">++<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LSR<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; &nbsp; A &gt;&gt; 2<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">DEY<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; &nbsp; Y&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">AND<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$03<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; A<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;Draw whole map<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; =========================================================== &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">DrawWholeMap:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Prepare PPU to write map data<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$2002<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#&gt;<\/span>VRAM_MapTiles <span class=\"co1\">; Set PPU address<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$2006<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#&lt;<\/span>VRAM_MapTiles<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$2006<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Loop over Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> mapLoop_Y<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; &nbsp; Loop over X<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> mapLoop_X<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDX<\/span> mapLoop_X &nbsp; &nbsp; &nbsp; <span class=\"co1\">; &nbsp; &nbsp; &nbsp; Render one map tile<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> mapLoop_Y<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> UpdateMapTile<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;TYA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;PHA <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">TXA<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; &nbsp; &nbsp; &nbsp; Send to PPU (preserve registers)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">PHA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> SendTileToPPU<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">TAX<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;PLA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;TAY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">INC<\/span> mapLoop_X<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> mapLoop_X<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$08<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">INC<\/span> mapLoop_Y<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> mapLoop_Y<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$04<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; SendTileToPPU:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> MapTileMacro<span class=\"sy0\">+<\/span><span class=\"nu0\">3<\/span>,<span class=\"kw2\">X<\/span> &nbsp; &nbsp;<span class=\"co1\">; Load tile data byte<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$2007<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Write to PPU<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">INX<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CPX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$10<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;Map tile rendering<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; =========================================================== &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">RenderMapTile:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Parameters<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &#8211; mapVar_X : &nbsp; &nbsp; Tile X<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &#8211; mapVar_Y : &nbsp; &nbsp; Tile Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &#8211; mapBits_Left: &nbsp;Bit-0 = TL screen discovered, Bit-1 = BL screen discovered<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &#8211; mapBits_Right: Bit-0 = TR screen discovered, Bit-1 = BR &nbsp;screen discovered<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Preserve zp variables<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Calculate the source address of tile data, to copy to macro<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; and the PPU dest address to write to the macro.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Address = BaseAddress + tileX * $10 + tileY * $80<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Y = tileY \/ 2<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Set x to low byte of pointer (will be 00 or 80)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Low byte of src\/dest pointers<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> mapVar_Y<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TAY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BCC<\/span> <span class=\"sy0\">+<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; If carry was set (Y was odd), add 80 to low byte of pointers<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDX<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$80<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">STX<\/span> <span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Write low byte of pointer<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> mapVar_X &nbsp; &nbsp;<span class=\"co1\">; Add mapVar_X * #$10 to $00<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">ASL<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">CLC<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">ADC<\/span> <span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Write low byte of ROM source and PPU dest (low byte will be same on both)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">1<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Calculate high byte of src pointer<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">TYA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">ADC<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$AD<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Calculate high byte of dest pointer<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">TYA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ADC<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$13<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Write macro-length<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$10<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">2<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Run this code twice to create two bit filters (to be ANDed) for tile data, one for top half, one for bottom<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; This &quot;blacks out&quot; map areas that have not been visited.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">MapBitLoop:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">LSR<\/span> MapBits_Left &nbsp; &nbsp;<span class=\"co1\">; Grab low bit (for top-left or bottom-left)<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BCS<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; If clear, AND out high nibble<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LSR<\/span> MapBits_Right &nbsp; <span class=\"co1\">; Grab low bit (for top-right or bottom-right)<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BCS<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$F0<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; If clear, AND out low nibble<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">STA<\/span> MapFilter_Top,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">INY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$02<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> MapBitLoop<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Copy 10 bytes of tile data<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; We use four loops:<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; &nbsp; -Top half, first plane<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; &nbsp; -Bottom half, first plane<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; &nbsp; -Top half, second plane<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; &nbsp; -Bottom half, second plane<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$03<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu13\">$00<\/span><span class=\"br0\">&#41;<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> MapFilter_Top<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">3<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BPL<\/span> <span class=\"sy0\">&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$07<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu13\">$00<\/span><span class=\"br0\">&#41;<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> MapFilter_Bottom<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">3<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$03<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0B<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu13\">$00<\/span><span class=\"br0\">&#41;<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> MapFilter_Top<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">3<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$07<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span> &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0F<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu13\">$00<\/span><span class=\"br0\">&#41;<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">AND<\/span> MapFilter_Bottom<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu0\">3<\/span>,<span class=\"kw2\">Y<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">DEY<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">CPY<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$0B<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">&#8211;<\/span> <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Write terminator to end of macro<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$FF<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> MapTileMacro <span class=\"sy0\">+<\/span> <span class=\"nu13\">$13<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Restore zero-page<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span> <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;Partial heart routine<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; =========================================================== &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Partial heart routine<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">PartialHeartRoutine:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; Returns appropriate tile index in A<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$0F<\/span> &nbsp; &nbsp; <span class=\"co1\">; Load partial-heart value<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Divide by $20 (into a range of 0-7)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LSR<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CLC<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ADC<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$50<\/span> &nbsp; &nbsp;<span class=\"co1\">; Partial-heart tiles are # 50-57<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> <span class=\"nu13\">$6ED7<\/span> &nbsp; <span class=\"co1\">; Return from hijack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Hijack<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Original code<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; (1):6EC8:C9 80 &nbsp; &nbsp; CMP #$80 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; If partial-heart-value &gt;= #$80, load full-heart-tile<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;:6ECA:B0 F4 &nbsp; &nbsp; BCS $6EC0 &nbsp; &nbsp; &nbsp; &nbsp; <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;:6ECC:A9 00 &nbsp; &nbsp; LDA #$00 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; ??????????????<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;:6ECE:8D 29 05 &nbsp;STA $0529 &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; (2):6ED1:A9 65 &nbsp; &nbsp; LDA #$65 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; Load half-full heart tile<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;:6ED3:D0 02 &nbsp; &nbsp; BNE $6ED7 &nbsp; &nbsp; &nbsp; &nbsp; ; Branch always &nbsp; <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; (1) &#8211; Update value of CMP #$80 to run our partial heart routine for smaller increments<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; (2) &#8211; Hijack goes here<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH <span class=\"nu13\">$6748<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.BASE &nbsp;<span class=\"nu13\">$6EC8<\/span> &nbsp; &nbsp;<span class=\"co1\">; This code is run from RAM<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$F8<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BCS<\/span> <span class=\"nu13\">$6EC0<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$0529<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> PartialHeartRoutine<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;Draw whole map -HIJACK-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; =========================================================== &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Original code<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp; &nbsp; Displaced code is called at end of DoWholeMapHijack routine<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp; &nbsp; &nbsp;-06:8089:E6 11 &nbsp; &nbsp; INC $0011 = #$00<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp; &nbsp; &nbsp; 06:808B:60 &nbsp; &nbsp; &nbsp; &nbsp;RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Hijack<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 06:<span class=\"nu0\">8089<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> DoWholeMapHijack<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Hijack code<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; This routine must go in the fixed bank because bank-swapping is <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; needed to run the desired code.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH &nbsp;07:FFC0<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">DoWholeMapHijack: &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> LevelNumber <span class=\"co1\">; Only run this routine for the overworld<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> Exit<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Load bank 5<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$05<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; The code we want to run is in a different bank than is currently loaded<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> BankSwap<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> DrawWholeMap<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"co1\">; Load bank 6 &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$06<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; This is the bank that was previously loaded<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> BankSwap<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">Exit:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Displaced code<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">INC<\/span> <span class=\"nu13\">$11<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Safe blip update<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; This code really &nbsp;belongs under the &quot;Map blip blinking&quot; section, but is placed with DoWholeMapHijack, because<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; they need to be placed together in the tiny bit of free space in the fixed bank.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 07:FFD6<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">SafeBlipUpdate:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; Only runs the blip-flashing code when it is banked in.<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PHA<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Need to preserve A<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$8000<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$20<\/span> &nbsp; &nbsp;<span class=\"co1\">; Is this bank 5? (checking for a known value)<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">BNE<\/span> <span class=\"sy0\">+<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> BlipUpdate<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"sy0\">*<\/span> &nbsp; <span class=\"kw1\">PLA<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JMP<\/span> <span class=\"nu13\">$77E7<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp;PPU Transfers<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;WholeMapMacro = $6BCD<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; PPU update hijack <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp; &nbsp; 07:E4C1: &nbsp; &nbsp; &nbsp;JSR $A080<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.Patch 07:E4C1<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> <span class=\"nu13\">$9D70<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; PPU Trasnfer <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &#8212;&#8212;&#8212;&#8212;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">.PATCH 06:9D70<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; Call displaced code<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> <span class=\"nu13\">$A080<\/span> &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">lda<\/span> LevelNumber &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; If we aren&#8217;t in overworld, clear flag and return<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">bne<\/span> ClearAndReturn<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"co1\">; this bit is from the old automap (without an actual image of overworld)<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ldx<\/span> tileFlag &nbsp; &nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">beq<\/span> return &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; If there is no pending tile, return<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;dex<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;beq UpdateOneTile &nbsp; &nbsp; &nbsp; ; A value of 1 indicates one tile will be updated<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;dex<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;beq UpdateAllTiles &nbsp; &nbsp; &nbsp;; A value of 2 indicates whole map will be updated<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;rts &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; Invalid value &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">UpdateOneTile:<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">lda<\/span> <span class=\"sy0\">#&lt;<\/span>MapTileMacro<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">sta<\/span> <span class=\"nu13\">$00<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">lda<\/span> <span class=\"sy0\">#&gt;<\/span>MapTileMacro<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">sta<\/span> <span class=\"nu13\">$01<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">JSR<\/span> SendPpuMacro<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">ClearAndReturn:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">lda<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$00<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; Clear tile flag<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">sta<\/span> TileFlag<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; return:<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; from old map<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;UpdateAllTiles:<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;lda #&lt;WholeMapMacro<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;sta $00<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;lda #&gt;WholeMapMacro<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;sta $01<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;JSR SendPpuMacro<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; &nbsp;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; &nbsp;JMP ClearAndReturn<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp;Fast life fill<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; ===========================================================<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; Causes life to fill faster with potion\/fairy<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; ORIGINAL CODE<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; 05:B1EF &nbsp; LDA $0670 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; If current heart &gt; #$F8 (out of #$100):<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; 05:B1F2 &nbsp; CMP #$F8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; <\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; 05:B1F4 &nbsp; BCS $B1FD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; &nbsp; Jump to routine to set current heart to 0 and increment full-heart count<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; 05:B1F6 &nbsp; CLC &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; Add #$06 to current heart value (out of #$100), and return<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; 05:B1F7 &nbsp; ADC #$06 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">; &nbsp; 05:B1F9 &nbsp; STA $0670 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">; &nbsp; 05:B1FC &nbsp; RTS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp;<\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\"><span class=\"co1\">;.ORG $B1EF<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\"><span class=\"co1\">;.PATCH $171FF<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">.PATCH 05:B1EF<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">LDA<\/span> <span class=\"nu13\">$0670<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">CMP<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$D7<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">; <\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">BCS<\/span> <span class=\"nu13\">$B1FD<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; &nbsp; Jump to routine to set current heart to 0 and increment full-heart count<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp;<\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">CLC<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">; Add #$06 to current heart value (out of #$100), and return<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">ADC<\/span> <span class=\"sy0\">#<\/span><span class=\"nu13\">$18<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li2\">\n<div class=\"de2\">&nbsp; &nbsp; <span class=\"kw1\">STA<\/span> <span class=\"nu13\">$0670<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;<\/span><\/div>\n<\/li>\n<li class=\"li1\">\n<div class=\"de1\">&nbsp; &nbsp; <span class=\"kw1\">RTS<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"co1\">;<\/span><\/div>\n<\/li>\n<\/ol>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Below is the source for the Zelda Automap hack (0.2). You can also download the source with the needed GFX file. The code should be assembled with snarfblASM. The resulting IPS file should be applied to the PRG0 version of the ROM (PRG1 appears to work as well, but the hack was created and tested [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,18,3,24],"tags":[26,27,10,12,46,9,23,28],"class_list":["post-260","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-romhacking","category-suitenes","tag-26","tag-asm","tag-hacking","tag-nes","tag-programming","tag-rom","tag-romulus-2","tag-snarfblasm"],"_links":{"self":[{"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/posts\/260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=260"}],"version-history":[{"count":10,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/posts\/260\/revisions"}],"predecessor-version":[{"id":537,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=\/wp\/v2\/posts\/260\/revisions\/537"}],"wp:attachment":[{"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=260"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/snarfblam.com\/words\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}