;Spawn location table cryptic documentation ;$A0 |$15B6E - $15B7B (2) Starting room ;$0601 |$15B7C - $15BB3 (8) scroll ranges ;$E2 |$15BB4 - $15BC1 (2) Location X? Scroll Data ;$E8 |$15BC2 - $15BCF (2) Location Y? Scroll Data ;$20 |$15BD0 - $15BDD (2) link x? ;$22 |$15BDE - $15BEB (2) link y? ;$0618 |$15BEC - $15BF9 (2) camera y? ;$061c |$15BFA - $15C07 (2) camera x? ;$0AA1 |$15C08 - $15C0E (1) Starting Location Blockset Type ;$A4 |$15C0F - $15C15 (1) Starting Location Floor Type ;$040C |$15C16 - $15C1C (1) Dungeon Designation ;$EE,$0476|$15C1D - $15C23 (1) ladder and background ;$A6,$A7 |$15C24 - $15C2A (1) scroll properties ;$A9,$AA |$15C2B - $15C31 (1) Scroll Quandrant ;$0696 |$15C32 - $15C3F (2) overworld exit location ;$010E |$15C40 - $15C4D (2) starting location entrance value ;$0132 |$15C4E - $15C54 (1) music ;----------------------------------------------- ; Sanc Spawn point at dark sanc ;----------------------------------------------- org $02D8D4 : dw $112 org $02D8E8 : db $22, $22, $22, $23, $04, $04, $04, $05 org $02D91A : dw $0400 org $02D928 : dw $222e org $02D936 : dw $229a org $02D944 : dw $0480 org $02D952 : dw $00a5 org $02D960 : dw $007F org $02D96D : db $14 org $02D974 : db $00 org $02D97B : db $FF org $02D982 : db $00 org $02D989 : db $02 org $02D990 : db $00 org $02D998 : dw $0000 org $02D9A6 : dw $005A org $02D9B3 : db $12 ; Handle exit from this cave org $308250 ;StartingAreaExitTable dw $0112 : db $53 : dw $001e, $0400, $06e2, $0446, $0758, $046d, $075f : db $00, $00, $00 org $308240 ;StartingAreaExitOffset db $00, $01, $00, $00, $00, $00, $00 ;----------------------------------------------- ; Old man spawn point at End of Cave ;----------------------------------------------- org $02D8DE : dw $00F1 org $02D910 : db $1F, $1E, $1F, $1F, $03, $02, $03, $03 org $02D924 : dw $0300 org $02D932 : dw $1F10 org $02D940 : dw $1FC0 org $02D94E : dw $0378 org $02D95C : dw $0187 org $02D96A : dw $017F org $02D972 : db $06 org $02D979 : db $00 org $02D980 : db $FF org $02D987 : db $00 org $02D98E : db $22 org $02D995 : db $12 org $02D9A2 : dw $0000 org $02D9B0 : dw $0007 org $02D9B8 : db $12 ;-------------------------------------------------------------- ; Make Houlihan exit at Pyramid ;-------------------------------------------------------------- org $02DB68 : dw $0003 org $02DBC9 : db $5b org $02DC55 : dw $0b0e org $02DCF3 : dw $075a org $02DD91 : dw $0674 org $02DE2F : dw $07a8 org $02DECD : dw $06e8 org $02DF6B : dw $07c7 org $02E009 : dw $06f3 org $02E06A : db $06 org $02E0B9 : db $fa org $02E145 : dw $0000 org $02E1E3 : dw $0000 ;-------------------------------------------------------------- ; Make Houlihan exit at C-Shaped House ;-------------------------------------------------------------- ;org $02DB68 : dw $0003 ;org $02DBC9 : db $58 ;org $02DC55 : dw $09d8 ;org $02DCF3 : dw $0744 ;org $02DD91 : dw $02ce ;org $02DE2F : dw $0797 ;org $02DECD : dw $0348 ;org $02DF6B : dw $07b3 ;org $02E009 : dw $0353 ;org $02E06A : db $0a ;org $02E0B9 : db $f6 ;org $02E145 : dw $0DE8 ;org $02E1E3 : dw $0000 ;-------------------------------------------------------------- ; Inverted Exit Shuffles ;-------------------------------------------------------------- ; swap bomb shop and links house org $02DB8C+$00 : db $6C org $1BBB73+$00 : db $53 org $1BBB73+$52 : db $01 ; swap AT and GT org $1BBB73+$23 : db $37 org $1BBB73+$36 : db $24 org $02DAEE+$38+$38 : dw $00e0 org $02DAEE+$25+$25 : dw $000c ; Bumper Cave (Bottom) => Old Man Cave (West) org $1BBB73+$15 : db $06 org $02DAEE+$17+$17 : dw $00f0 ; Old Man Cave (West) => Bumper Cave (Bottom) org $1BBB73+$05 : db $16 org $02DAEE+$07+$07 : dw $00fb ; Death Mountain Return Cave (West) => Bumper Cave (Top) org $1BBB73+$2d : db $17 org $02DAEE+$2f+$2f : dw $00eb ; Old Man Cave (East) => Death Mountain Return Cave (West) org $1BBB73+$06 : db $2e org $02DAEE+$08+$08 : dw $00e6 ; Bumper Cave (Top) => Dark Death Mountain Fairy org $1BBB73+$16 : db $5e ; Dark Death Mountain Healer Fairy => Old Man Cave (East) org $1BBB73+$6F : db $07 org $02DAEE+$18+$18 : dw $00f1 org $02DB8C+$18 : db $43 org $02DBDB+$18+$18 : dw $1400 org $02DC79+$18+$18 : dw $0294 org $02DD17+$18+$18 : dw $0600 org $02DDB5+$18+$18 : dw $02e8 org $02DE53+$18+$18 : dw $0678 org $02DEF1+$18+$18 : dw $0303 org $02DF8F+$18+$18 : dw $0685 org $02E02D+$18 : db $0a org $02E07C+$18 : db $f6 org $02E0CB+$18+$18 : dw $0000 org $02E169+$18+$18 : dw $0000 ;-------------------------------------------------------------- ; Other inverted ;-------------------------------------------------------------- org $30804A : db $01 ; main toggle org $0283E0 : db $F0 ; residual portal org $02B34D : db $F0 ; residual portal org $06DB78 : db $8B ; residual portal org $05AF79 : db $F0 ; vortex org $0DB3C5 : db $C6 ; vortex org $07A3F4 : db $F0 ; duck org $07A3F4 : db $F0 ; duck org $02E849 : dw $0043, $0056, $0058, $006C, $006F, $0070, $007B, $007F, $001B ; Dark World Flute Spots org $02E8D5 : dw $07C8 ; nudge flute spot 3 out of gargoyle statue org $02E8F7 : dw $01F8 ; nudge flute spot 3 out of gargoyle statue org $07A943 : db $F0 ; Dark to light world mirror org $07A96D : db $D0 ; residual portal? org $08D40C : db $D0 ; morph poof org $308174 : db $01 ; ER's Fix fake worlds fix. Currently needed for inverted org $0280A6 : db $D0 ; Spawn logic org $1FED31 : db $0E ; pre-open open TR bomb door org $1FED41 : db $0E ; pre-open open TR bomb door org $0ABFBB : db $90 ; Show portal on dark world map org $308089 : db $01 ; Open TR Entrance if exiting from it org $06B2AA : JSL Sprite_ShowMessageFromPlayerContact ; front end will actually do `org $06B2AB : dl $05E1F0` ; Write to StartingAreaOverworldDoor table to indicate the overworld door being used for ; the single entrance spawn point org $308247 ; PC 0x180247 db $00, $5A, $00, $00, $00, $00, $00 org $1AF696 : db #$F0 ;Bat X position (sprite_retreat_bat.asm:130) org $1AF6B2 : db #$33 ;Bat Delay (sprite_retreat_bat.asm:136) ;New Hole Mask Position org $1AF730 db $6A, $9E, $0C, $00 db $7A, $9E, $0C, $00 db $8A, $9E, $0C, $00 db $6A, $AE, $0C, $00 db $7A, $AE, $0C, $00 db $8A, $AE, $0C, $00 db $67, $97, $0C, $00 db $8D, $97, $0C, $00 ;Cryptic documentation of flute/whirlpool table format (all value 16 bit) ;eae5 - Overworld area that the exit leads to ;eb07 $0084 - VRAM locations to place Link at. ;eb29 $e6/0122/0124 - Y Scroll Data ;eb4b $e0/011e/0120 - X Scroll Data ;eb6d $20 - Link's Y Coordinate ;eb8f $22 - Link's X Coordinate ;ebb1 $0618 - Camera Y Coordinate ;ebd3 $061c - Camera X Coordinate ;ebf5 $0624- Ukn1 in HM ;ec17 $0628- Ukn2 in HM ;adjust flute spot 9 position org $02E87B : dw $00ae org $02E89D : dw $0610 org $02E8BF : dw $077e org $02E8E1 : dw $0672 org $02E903 : dw $07f8 org $02E925 : dw $067d org $02E947 : dw $0803 org $02E969 : dw $0000 org $02E98B : dw $FFF2 ; aga tower exit/ pyramid spawn (now hyrule castle ledge spawn) org $02DAEE+$06+$06 : dw $0020 org $02DB8C+$06 : db $1B org $02DBDB+$06+$06 : dw $00ae org $02DC79+$06+$06 : dw $0610 org $02DD17+$06+$06 : dw $077e org $02DDB5+$06+$06 : dw $0672 org $02DE53+$06+$06 : dw $07f8 org $02DEF1+$06+$06 : dw $067d org $02DF8F+$06+$06 : dw $0803 org $02E02D+$06 : db $00 org $02E07C+$06 : db $f2 org $02E0CB+$06+$06 : dw $0000 org $02E169+$06+$06 : dw $0000 org $308350 : db $00, $00, $01 ; Death mountain cave should start on overworld ;(0x????,0x1B,0x0130,0x060a,0x0716,0x0672,0x07f8,0x0681,0x0803,0x0c,0x02,xx,xx) ; Exit table cryptic documentation: ;??|$15D8A-$15E27 - (0x4F entries, 2 bytes each) - Rooms that exit to overworld Areas ("Room" in HM) ;??|$15E28-$15E76 - (0x4F entries, 1 byte each) - Overworld area that the exit leads to. ("Map" in HM) ;84|$15E77-$15F14 - (0x4F entries, 2 bytes each) - VRAM locations to place Link at. Gets fed to $7E0084 (???? in HM) ;e6|$15F15-$15FB2 - (0x4F entries, 2 bytes each) - Y Scroll Data ;e0|$15FB3-$16050 - (0x4F entries, 2 bytes each) - X Scroll Data ;$20|$16051-$160EE - (0x4F entries, 2 bytes each) - Link's Y Coordinate ;$22|$160EF-$1618C - (0x4F entries, 2 bytes each) - Link's X Coordinate ;0618|$1618D-$1622A - (0x4F entries, 2 bytes each) - Camera Y Coordinate ;061c|$1622B-$162C8 - (0x4F entries, 2 bytes each) - Camera X Coordinate ;0624|$162C9-$16317 - (0x4F entries, 1 byte each) - Ukn1 in HM ;0628|$16318-$16366 - (0x4F entries, 1 byte each) - Ukn2 in HM ; redefine some map16 tiles org $0FF1C8 dw #$190F, #$190F, #$190F, #$194C dw #$190F, #$194B, #$190F, #$195C dw #$594B, #$194C, #$19EE, #$19EE dw #$194B, #$19EE, #$19EE, #$19EE dw #$594B, #$190F, #$595C, #$190F dw #$190F, #$195B, #$190F, #$190F dw #$19EE, #$19EE, #$195C, #$19EE dw #$19EE, #$19EE, #$19EE, #$595C dw #$595B, #$190F, #$190F, #$190F ; Redefine more map16 tiles org $0FA480 dw #$190F, #$196B, #$9D04, #$9D04 dw #$196B, #$190F, #$9D04, #$9D04 ; update pyramid hole entrances org $1bb810 : dw $00BE, $00C0, $013E org $1bb836 : dw $001B, $001B, $001B ; add an extra pyramid hole entrance ; ExtraHole_Map16: org $308300 : dw $0140 ; ExtraHole_Area: org $308320 : dw $001B ; ExtraHole_Entrance: org $308340 : db $7B ;prioritize retreat Bat and use 3rd sprite section org $1af504 : dw $148B org $1af50c : dw $149B org $1af514 : dw $14A4 org $1af51c : dw $1489 org $1af524 : dw $14AC org $1af52c : dw $54AC org $1af534 : dw $148C org $1af53c : dw $548C org $1af544 : dw $1484 org $1af54c : dw $5484 org $1af554 : dw $14A2 org $1af55c : dw $54A2 org $1af564 : dw $14A0 org $1af56c : dw $54A0 org $1af574 : dw $148E org $1af57c : dw $548E org $1af584 : dw $14AE org $1af58c : dw $54AE ;Make retreat bat gfx available in Hyrule castle. org $00DB9D : db $1A ;sprite set 1, section 3 org $00DC09 : db $1A ;sprite set 27, section 3 ;use new castle hole graphics (The values are the SNES address of the graphics: 31e000) org $00D009 : db $31 org $00D0e8 : db $E0 org $00D1c7 : db $00 ;add color for shading for castle hole org $1BE8DA : dw $39AD ; TR tail jump org $00886e : db $5C, $00, $A0, $A1 ;Remove Hyrule Castle Gate warp org $09D436 : db $F3 ;replace whirlpool with (harmless) SpritePositionTarget Overlord ;Add warps under rocks, etc. org $1BC67A : db #$2E, #$0B, #$82 ; Replace a rupee under bush to add a warp on map 80 (top of kak) org $1BC81E : db #$94, #$1D, #$82 ; Replace a heart under bush to add a warp on map 120 (mire) org $1BC655 : db #$4A, #$1D, #$82 ; Replace a bomb :( under bush to add a warp on map 78 (DM) org $1BC80D : db #$B2, #$0B, #$82 ; map 111 org $1BC3DF : db #$D8, #$D1 ; new pointer for map 115 no items to replace org $1BD1D8 : db #$A8, #$02, #$82, #$FF, #$FF ;new data for map115 org $1BC85A : db #$50, #$0F, #$82 org $1BC387 : db #$DD, #$D1 ;New pointer for map 71 no items to replace org $1BD1DD : db #$A4, #$06, #$82, #$9E, #$06, #$82, #$FF, #$FF ;new data for map 71 ;;move pyramid exit overworld door org $1BB96F+$35+$35 : dw $001b org $1BBA71+$35+$35 : dw $011c org $1BBB73+$35 : db $36 org $02DAEE+$37+$37 : dw $0010 org $02DB8C+$37 : db $1B org $02DBDB+$37+$37 : dw $000e org $02DC79+$37+$37 : dw $0600 org $02DD17+$37+$37 : dw $0676 org $02DDB5+$37+$37 : dw $0604 org $02DE53+$37+$37 : dw $06e8 org $02DEF1+$37+$37 : dw $066d org $02DF8F+$37+$37 : dw $06f3 org $02E02D+$37 : db $00 org $02E07C+$37 : db $0a org $02E0CB+$37+$37 : dw $0000 org $02E169+$37+$37 : dw $811c ;org $02E849 ; Fly 1 to Sanctuary ;db #$13, #$00, #$16, #$00, #$18, #$00, #$2C, #$00, #$2F, #$00, #$30, #$00, #$3B, #$00, #$3F, #$00, #$5B, #$00, #$35, #$00, #$0F, #$00, #$15, #$00, #$33, #$00, #$12, #$00, #$3F, #$00, #$55, #$00, #$7F, #$00, #$1A, #$00, #$88, #$08, #$30, #$0B, #$88, #$05, #$98, #$07, #$80, #$18, #$9E, #$06, #$10, #$08, #$2E, #$00, #$42, #$12, #$80, #$06, #$12, #$01, #$9E, #$05, #$8E, #$04, #$80, #$02, #$12, #$01, #$80, #$02, #$00, #$04, #$16, #$05, #$59, #$07, #$B9, #$0A, #$FA, #$0A, #$1E, #$0F, #$DF, #$0E, #$05, #$0F, #$00, #$06, #$46, #$0E, #$C6, #$02, #$2A, #$04, #$BA, #$0C, #$9A, #$04, #$56, #$0E, #$2A, #$04, #$56, #$0E, #$D6, #$06, #$4E, #$0C, #$7E, #$01, #$40, #$08, #$B2, #$0E, #$00, #$00, #$F2, #$06, #$75, #$0E, #$78, #$07, #$0A, #$0C, #$06, #$0E, #$8A, #$0A, #$EA, #$06, #$62, #$04, #$00, #$0E, #$8A, #$0A, #$00, #$0E, #$68, #$04, #$78, #$05, #$B7, #$07, #$17, #$0B, #$58, #$0B, #$A8, #$0F, #$3D, #$0F, #$67, #$0F, #$5C, #$06, #$A8, #$0E, #$28, #$03, #$88, #$04, #$18, #$0D, #$F8, #$04, #$B8, #$0E, #$88, #$04, #$B8, #$0E, #$56, #$07, #$C8, #$0C, #$00, #$02, #$B8, #$08, #$30, #$0F, #$78, #$00, #$78, #$07, #$F3, #$0E, #$F0, #$07, #$90, #$0C, #$80, #$0E, #$10, #$0B, #$70, #$07, #$E8, #$04, #$68, #$0E, #$10, #$0B, #$68, #$0E, #$70, #$04, #$83, #$05, #$C6, #$07, #$26, #$0B, #$67, #$0B, #$8D, #$0F, #$4C, #$0F, #$72, #$0F, #$6D, #$06, #$B3, #$0E, #$33, #$03, #$97, #$04, #$27, #$0D, #$07, #$05, #$C3, #$0E, #$97, #$04, #$C3, #$0E, #$56, #$07, #$D3, #$0C, #$0B, #$02, #$BF, #$08, #$37, #$0F, #$8D, #$00, #$7F, #$07, #$FA, #$0E, #$F7, #$07, #$97, #$0C, #$8B, #$0E, #$17, #$0B, #$77, #$07, #$EF, #$04, #$85, #$0E, #$17, #$0B, #$85, #$0E, #$F6, #$FF, #$FA, #$FF, #$07, #$00, #$F7, #$FF, #$F6, #$FF, #$00, #$00, #$F1, #$FF, #$FB, #$FF, #$00, #$00, #$FA, #$FF, #$0A, #$00, #$F6, #$FF, #$F6, #$FF, #$F6, #$FF, #$FA, #$FF, #$F6, #$FF, #$FA, #$FF, #$F2, #$FF, #$F2, #$FF, #$02, #$00, #$00, #$00, #$0E, #$00, #$00, #$00, #$FE, #$FF, #$0B, #$00, #$F8, #$FF, #$06, #$00, #$FA, #$FF, #$FA, #$FF, #$06, #$00, #$0E, #$00, #$00, #$00, #$FA, #$FF, #$00, #$00 ;