Cleanup world_map.asm
This commit is contained in:
@@ -39,11 +39,11 @@ DrawWisdomPendant:
|
|||||||
; Y position
|
; Y position
|
||||||
LDA.b #$07 : STA.l $7EC109
|
LDA.b #$07 : STA.l $7EC109
|
||||||
LDA.b #$01 : STA.l $7EC108
|
LDA.b #$01 : STA.l $7EC108
|
||||||
|
|
||||||
LDA.b #$60 : STA.b $0D
|
LDA.b #$60 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0D : STA.l $7EC025
|
LDA.b #$0D : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ DrawPowerPendant:
|
|||||||
LDA.b #$60 : STA.b $0D
|
LDA.b #$60 : STA.b $0D
|
||||||
LDA.b #$32 : STA.b $0C ; Tile GFX
|
LDA.b #$32 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$08 : STA.l $7EC025
|
LDA.b #$08 : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ DrawCouragePendant:
|
|||||||
LDA.b #$60 : STA.b $0D
|
LDA.b #$60 : STA.b $0D
|
||||||
LDA.b #$38 : STA.b $0C
|
LDA.b #$38 : STA.b $0C
|
||||||
; Tile Size
|
; Tile Size
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0A : STA.l $7EC025 ; OAM Slot used
|
LDA.b #$0A : STA.l $7EC025 ; OAM Slot used
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -94,7 +94,7 @@ DrawMasterSwordIcon:
|
|||||||
LDA.b #$62 : STA.b $0D
|
LDA.b #$62 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0B : STA.l $7EC025
|
LDA.b #$0B : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -111,7 +111,7 @@ DrawFortressOfSecretsIcon:
|
|||||||
LDA.b #$66 : STA.b $0D
|
LDA.b #$66 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0B : STA.l $7EC025
|
LDA.b #$0B : STA.l $7EC025
|
||||||
|
|
||||||
RTL
|
RTL
|
||||||
@@ -129,7 +129,7 @@ DrawFinalBossIcon:
|
|||||||
LDA.b #$66 : STA.b $0D
|
LDA.b #$66 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C
|
LDA.b #$34 : STA.b $0C
|
||||||
; Tile Size
|
; Tile Size
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -146,7 +146,7 @@ DrawHallOfSecretsIcon:
|
|||||||
LDA.b #$68 : STA.b $0D
|
LDA.b #$68 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C
|
LDA.b #$34 : STA.b $0C
|
||||||
; Tile Size
|
; Tile Size
|
||||||
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$07 : STA.l $7EC025
|
LDA.b #$07 : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -163,7 +163,7 @@ DrawPyramidIcon:
|
|||||||
LDA.b #$68 : STA.b $0D
|
LDA.b #$68 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$07 : STA.l $7EC025
|
LDA.b #$07 : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -179,7 +179,7 @@ DrawEonEscapeIcon:
|
|||||||
LDA.b #$68 : STA.b $0D
|
LDA.b #$68 : STA.b $0D
|
||||||
LDA.b #$36 : STA.b $0C ; Tile GFX
|
LDA.b #$36 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$00 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$06 : STA.l $7EC025
|
LDA.b #$06 : STA.l $7EC025
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
@@ -268,7 +268,7 @@ MapIconDraw:
|
|||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$38 : STA.b $0C
|
LDA.b #$38 : STA.b $0C
|
||||||
; Tile Size
|
; Tile Size
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
LDA.b #$0E : STA.l $7EC025 ; OAM Slot used
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
|
|
||||||
@@ -286,7 +286,7 @@ MapIconDraw:
|
|||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$08 : STA.l $7EC025
|
LDA.b #$08 : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
@@ -305,7 +305,7 @@ MapIconDraw:
|
|||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0D : STA.l $7EC025
|
LDA.b #$0D : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
@@ -325,7 +325,7 @@ MapIconDraw:
|
|||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$3C : STA.b $0C ; Tile GFX
|
LDA.b #$3C : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$0B : STA.l $7EC025
|
LDA.b #$0B : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
@@ -344,7 +344,7 @@ MapIconDraw:
|
|||||||
LDA.b #$64 : STA.b $0D
|
LDA.b #$64 : STA.b $0D
|
||||||
LDA.b #$34 : STA.b $0C ; Tile GFX
|
LDA.b #$34 : STA.b $0C ; Tile GFX
|
||||||
|
|
||||||
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
LDA.b #$02 : STA.b $0B ; 02 = 16x16, 00 = 8x8
|
||||||
LDA.b #$09 : STA.l $7EC025
|
LDA.b #$09 : STA.l $7EC025
|
||||||
|
|
||||||
JSR HandleMapDrawIcon
|
JSR HandleMapDrawIcon
|
||||||
@@ -396,7 +396,6 @@ HandleMapDrawIcon:
|
|||||||
AND.b #$10
|
AND.b #$10
|
||||||
BNE .skip_draw ; Timer to make it flash
|
BNE .skip_draw ; Timer to make it flash
|
||||||
.noflash ; ALTERNATE ENTRY POINT
|
.noflash ; ALTERNATE ENTRY POINT
|
||||||
|
|
||||||
JSR WorldMapIcon_AdjustCoordinate
|
JSR WorldMapIcon_AdjustCoordinate
|
||||||
LDA.l $7EC025 : TAX
|
LDA.l $7EC025 : TAX
|
||||||
JSR WorldMap_CalculateOAMCoordinates
|
JSR WorldMap_CalculateOAMCoordinates
|
||||||
@@ -439,121 +438,115 @@ restore_coords_and_exit:
|
|||||||
WorldMap_CalculateOAMCoordinates:
|
WorldMap_CalculateOAMCoordinates:
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; Gfx Notes
|
; 0x0C4000 to 0x0C8000 for the map gfx
|
||||||
|
; patch a new rom with your map data/gfx
|
||||||
; 0x0C4000 to 0x0C8000 for the map gfx
|
; create a new bin file out of these bytes
|
||||||
; patch a new rom with your map data/gfx
|
; 0AC727 (pc: 054727) to 0AD726 (pc: 055726) 0x1000 bytes
|
||||||
; create a new bin file out of these bytes
|
|
||||||
; OverworldMap.asm you can copy everything from start to line 214
|
|
||||||
; and 264 to 272 if you want palettes in asm too
|
|
||||||
|
|
||||||
; 0AC727 (pc: 054727) to 0AD726 (pc: 055726) 0x1000 bytes
|
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; LW OVERWORLD MAP
|
; LW OVERWORLD MAP
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
org $008E54 ;STZ $2115
|
org $008E54 ;STZ $2115
|
||||||
JSL DMAOwMap
|
JSL DMAOwMap
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
org $00E399
|
org $00E399
|
||||||
JSL DMAOwMapGfx
|
JSL DMAOwMapGfx
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; DW OVERWORLD MAP
|
; DW OVERWORLD MAP
|
||||||
; =========================================================
|
; =========================================================
|
||||||
org $008FF3
|
org $008FF3
|
||||||
RTS ; do not do anything during the DW update we'll handle it in the LW routine
|
RTS ; do nothing during DW update, we'll handle it in the LW routine
|
||||||
|
|
||||||
org $3D8000
|
org $3D8000
|
||||||
LWWorldMap_Tiles:
|
LWWorldMap_Tiles:
|
||||||
incbin world_map/LwMapTileset.bin
|
incbin world_map/LwMapTileset.bin
|
||||||
|
|
||||||
LWWorldMap_Gfx:
|
LWWorldMap_Gfx:
|
||||||
incbin world_map/LwMapGfx.bin
|
incbin world_map/LwMapGfx.bin
|
||||||
|
|
||||||
org $3E8000
|
org $3E8000
|
||||||
DWWorldMap_Tiles:
|
DWWorldMap_Tiles:
|
||||||
incbin world_map/DwMapTileset.bin
|
incbin world_map/DwMapTileset.bin
|
||||||
|
|
||||||
DWWorldMap_Gfx:
|
DWWorldMap_Gfx:
|
||||||
incbin world_map/DwMapGfx.bin
|
incbin world_map/DwMapGfx.bin
|
||||||
|
|
||||||
DMAOwMap:
|
DMAOwMap:
|
||||||
{
|
{
|
||||||
JSL Palette_ArmorAndGloves
|
JSL Palette_ArmorAndGloves
|
||||||
LDA $8A : AND #$40 : BEQ .LWMAP
|
LDA $8A : AND #$40 : BEQ .LWMAP
|
||||||
JMP .DWMAP
|
JMP .DWMAP
|
||||||
|
.LWMAP
|
||||||
.LWMAP
|
|
||||||
|
|
||||||
STZ.w $2115
|
STZ.w $2115
|
||||||
|
|
||||||
LDA.b #LWWorldMap_Tiles>>16
|
LDA.b #LWWorldMap_Tiles>>16
|
||||||
STA.w $4304
|
STA.w $4304
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA.w #$1800
|
LDA.w #$1800
|
||||||
STA.w $4300
|
STA.w $4300
|
||||||
|
|
||||||
STZ.b $04
|
STZ.b $04
|
||||||
STZ.b $02
|
STZ.b $02
|
||||||
|
|
||||||
LDY.b #$01
|
LDY.b #$01
|
||||||
LDX.b #$00
|
LDX.b #$00
|
||||||
|
|
||||||
.next_quadrant
|
.next_quadrant
|
||||||
|
|
||||||
LDA.w #$0020
|
LDA.w #$0020
|
||||||
STA.b $06
|
STA.b $06
|
||||||
|
|
||||||
LDA.l .vram_offset,X
|
LDA.l .vram_offset,X
|
||||||
STA.b $00
|
STA.b $00
|
||||||
|
|
||||||
.next_row
|
.next_row
|
||||||
|
|
||||||
LDA.b $00
|
LDA.b $00
|
||||||
STA.w $2116
|
STA.w $2116
|
||||||
|
|
||||||
CLC
|
CLC
|
||||||
ADC.w #$0080
|
ADC.w #$0080
|
||||||
STA.b $00
|
STA.b $00
|
||||||
|
|
||||||
LDA.b $02
|
LDA.b $02
|
||||||
CLC
|
CLC
|
||||||
ADC.w #LWWorldMap_Tiles
|
ADC.w #LWWorldMap_Tiles
|
||||||
STA.w $4302
|
STA.w $4302
|
||||||
|
|
||||||
LDA.w #$0020
|
LDA.w #$0020
|
||||||
STA.w $4305
|
STA.w $4305
|
||||||
|
|
||||||
STY.w $420B
|
STY.w $420B
|
||||||
|
|
||||||
CLC
|
CLC
|
||||||
ADC.b $02
|
ADC.b $02
|
||||||
STA.b $02
|
STA.b $02
|
||||||
|
|
||||||
DEC.b $06
|
DEC.b $06
|
||||||
BNE .next_row
|
BNE .next_row
|
||||||
|
|
||||||
INC.b $04
|
INC.b $04
|
||||||
INC.b $04
|
INC.b $04
|
||||||
|
|
||||||
LDX.b $04
|
LDX.b $04
|
||||||
CPX.b #$08
|
CPX.b #$08
|
||||||
BNE .next_quadrant
|
BNE .next_quadrant
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.vram_offset
|
.vram_offset
|
||||||
dw $0000, $0020, $1000, $1020
|
dw $0000, $0020, $1000, $1020
|
||||||
|
|
||||||
.DWMAP
|
.DWMAP
|
||||||
|
|
||||||
STZ.w $2115
|
STZ.w $2115
|
||||||
|
|
||||||
@@ -573,43 +566,43 @@ DMAOwMap:
|
|||||||
|
|
||||||
.next_quadrant2
|
.next_quadrant2
|
||||||
|
|
||||||
LDA.w #$0020
|
LDA.w #$0020
|
||||||
STA.b $06
|
STA.b $06
|
||||||
|
|
||||||
LDA.l .vram_offset,X
|
LDA.l .vram_offset,X
|
||||||
|
STA.b $00
|
||||||
|
|
||||||
|
.next_row2
|
||||||
|
|
||||||
|
LDA.b $00
|
||||||
|
STA.w $2116
|
||||||
|
|
||||||
|
CLC
|
||||||
|
ADC.w #$0080
|
||||||
STA.b $00
|
STA.b $00
|
||||||
|
|
||||||
.next_row2
|
LDA.b $02
|
||||||
|
CLC
|
||||||
|
ADC.w #DWWorldMap_Tiles
|
||||||
|
STA.w $4302
|
||||||
|
|
||||||
LDA.b $00
|
LDA.w #$0020
|
||||||
STA.w $2116
|
STA.w $4305
|
||||||
|
|
||||||
CLC
|
STY.w $420B
|
||||||
ADC.w #$0080
|
|
||||||
STA.b $00
|
|
||||||
|
|
||||||
LDA.b $02
|
CLC
|
||||||
CLC
|
ADC.b $02
|
||||||
ADC.w #DWWorldMap_Tiles
|
STA.b $02
|
||||||
STA.w $4302
|
|
||||||
|
|
||||||
LDA.w #$0020
|
DEC.b $06
|
||||||
STA.w $4305
|
BNE .next_row2
|
||||||
|
|
||||||
STY.w $420B
|
INC.b $04
|
||||||
|
INC.b $04
|
||||||
|
|
||||||
CLC
|
LDX.b $04
|
||||||
ADC.b $02
|
CPX.b #$08
|
||||||
STA.b $02
|
|
||||||
|
|
||||||
DEC.b $06
|
|
||||||
BNE .next_row2
|
|
||||||
|
|
||||||
INC.b $04
|
|
||||||
INC.b $04
|
|
||||||
|
|
||||||
LDX.b $04
|
|
||||||
CPX.b #$08
|
|
||||||
BNE .next_quadrant2
|
BNE .next_quadrant2
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
@@ -620,30 +613,30 @@ DMAOwMap:
|
|||||||
|
|
||||||
DMAOwMapGfx:
|
DMAOwMapGfx:
|
||||||
{
|
{
|
||||||
LDA $8A : AND #$40 : BNE .DWMAP
|
LDA $8A : AND #$40 : BNE .DWMAP
|
||||||
LDA.b #LWWorldMap_Gfx>>16 : STA $02
|
LDA.b #LWWorldMap_Gfx>>16 : STA $02
|
||||||
|
|
||||||
LDA.b #$80 : STA $2115
|
LDA.b #$80 : STA $2115
|
||||||
|
|
||||||
STZ $2116 : STZ $2117
|
STZ $2116 : STZ $2117
|
||||||
|
|
||||||
REP #$10
|
REP #$10
|
||||||
|
|
||||||
LDY.w #LWWorldMap_Gfx : STY $00
|
LDY.w #LWWorldMap_Gfx : STY $00
|
||||||
|
|
||||||
LDY.w #$0000
|
LDY.w #$0000
|
||||||
|
|
||||||
.writeChr
|
.writeChr
|
||||||
|
|
||||||
LDA [$00], Y : STA $2119 : INY
|
LDA [$00], Y : STA $2119 : INY
|
||||||
LDA [$00], Y : STA $2119 : INY
|
LDA [$00], Y : STA $2119 : INY
|
||||||
LDA [$00], Y : STA $2119 : INY
|
LDA [$00], Y : STA $2119 : INY
|
||||||
LDA [$00], Y : STA $2119 : INY
|
LDA [$00], Y : STA $2119 : INY
|
||||||
CPY.w #$4000 : BNE .writeChr
|
CPY.w #$4000 : BNE .writeChr
|
||||||
|
|
||||||
SEP #$10
|
SEP #$10
|
||||||
|
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.DWMAP
|
.DWMAP
|
||||||
|
|
||||||
@@ -673,5 +666,5 @@ DMAOwMapGfx:
|
|||||||
}
|
}
|
||||||
|
|
||||||
org $0ADC27
|
org $0ADC27
|
||||||
DWPalettes:
|
DWPalettes:
|
||||||
incbin world_map/dw_palette.bin
|
incbin world_map/dw_palette.bin
|
||||||
|
|||||||
Reference in New Issue
Block a user