Compare commits
16 Commits
fix_credit
...
kara_troll
| Author | SHA1 | Date | |
|---|---|---|---|
| 802188c906 | |||
| 086ec3f6c1 | |||
| 612db53323 | |||
| 785bd05f58 | |||
| 89cf2e29ff | |||
| 7a21eaa62a | |||
| 2d1b5116ec | |||
| ae54371cdb | |||
| f0d76f9918 | |||
| 30122cfa3d | |||
| a949230f34 | |||
| 00487370b3 | |||
| 799e47443d | |||
| 8477fbe623 | |||
| 07af59720f | |||
| 87249343ed |
31
2waymirror.asm
Normal file
31
2waymirror.asm
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $8DF7E9
|
||||||
|
dw $28DE, $28DF, $28EE, $28EF ; Scroll
|
||||||
|
dw $2C62, $2C63, $2C72, $2C73 ; Mirror
|
||||||
|
dw $2C62, $2C63, $2C72, $2D11 ; 2-Way Mirror
|
||||||
|
|
||||||
|
org $87A93F
|
||||||
|
JSL.l CheckMirrorWorld
|
||||||
|
|
||||||
|
org $87A955
|
||||||
|
JSL.l BlockEraseFix
|
||||||
|
NOP #2
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CheckMirrorWorld:
|
||||||
|
LDA.l MirrorEquipment
|
||||||
|
BEQ + ; just scroll, so don't allow
|
||||||
|
DEC
|
||||||
|
BNE +
|
||||||
|
LDA.b $8A
|
||||||
|
AND.b #$40
|
||||||
|
+ RTL
|
||||||
|
|
||||||
|
BlockEraseFix:
|
||||||
|
LDA.l MirrorEquipment
|
||||||
|
BEQ +
|
||||||
|
STZ.w $05FC
|
||||||
|
STZ.w $05FD
|
||||||
|
+ RTL
|
||||||
@@ -157,6 +157,15 @@ incsrc msu.asm
|
|||||||
incsrc dungeonmap.asm
|
incsrc dungeonmap.asm
|
||||||
incsrc hextodec.asm
|
incsrc hextodec.asm
|
||||||
incsrc textrenderer.asm
|
incsrc textrenderer.asm
|
||||||
|
incsrc rewind.asm
|
||||||
|
incsrc lift.asm
|
||||||
|
; incsrc mothula.asm
|
||||||
|
incsrc switches.asm
|
||||||
|
incsrc zoom_on_carry.asm
|
||||||
|
incsrc iframes.asm
|
||||||
|
incsrc improve_items.asm
|
||||||
|
incsrc 2waymirror.asm
|
||||||
|
incsrc deadrocks.asm
|
||||||
warnpc $A58000
|
warnpc $A58000
|
||||||
|
|
||||||
org $A28000
|
org $A28000
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
50
deadrocks.asm
Normal file
50
deadrocks.asm
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $86EDD1
|
||||||
|
JSL CheckTransform
|
||||||
|
BRA + : NOP : +
|
||||||
|
|
||||||
|
org $86EF9A
|
||||||
|
JSL SpriteDeath
|
||||||
|
NOP
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CheckTransform:
|
||||||
|
CMP.b #$8F
|
||||||
|
BNE .skip
|
||||||
|
|
||||||
|
LDA.w $0E20, X
|
||||||
|
PHA
|
||||||
|
LDA.b #$8F
|
||||||
|
STA.w $0E20, X
|
||||||
|
JSL.l $8DB818
|
||||||
|
|
||||||
|
PLA
|
||||||
|
STA.w $0DE0, X
|
||||||
|
LDA.b #$8F
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.skip
|
||||||
|
STA.w $0E20, X
|
||||||
|
JSL.l $8DB818
|
||||||
|
RTL
|
||||||
|
|
||||||
|
SpriteDeath:
|
||||||
|
LDA.w $0E20, X
|
||||||
|
CMP.b #$8F
|
||||||
|
BNE .done; not blob
|
||||||
|
LDA.w $0DE0, X
|
||||||
|
CMP.b #$27
|
||||||
|
BNE .done; blob that was formerly not a deadrock
|
||||||
|
LDA.l DeadrockCounter
|
||||||
|
CMP.b #$FF
|
||||||
|
BEQ .done ; deadrock counter maxed
|
||||||
|
INC
|
||||||
|
STA.l DeadrockCounter
|
||||||
|
|
||||||
|
.done
|
||||||
|
; what we wrote over
|
||||||
|
LDY.w $0E20, X
|
||||||
|
CPY.b #$1B
|
||||||
|
RTL
|
||||||
@@ -234,7 +234,12 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DialogItemReceive:
|
DialogItemReceive:
|
||||||
BCS .nomessage ; if doubling the item value overflowed it must be a rando item
|
BCS .nomessage ; if doubling the item value overflowed it must be a rando item
|
||||||
CPY.b #$98 : BCC ++ ;if the item is $4C or greater it must be a rando item
|
CPY.b #$98 : BCS .nomessage ; if the item is $4C or greater it must be a rando item
|
||||||
|
CPY.b #$34 : BEQ .mirror
|
||||||
|
BRA ++
|
||||||
|
.mirror
|
||||||
|
LDA.l MirrorEquipment : AND.w #$00FF
|
||||||
|
CMP.w #$0002 : BEQ ++
|
||||||
.nomessage
|
.nomessage
|
||||||
LDA.w #$FFFF
|
LDA.w #$FFFF
|
||||||
|
|
||||||
|
|||||||
25
events.asm
25
events.asm
@@ -123,6 +123,12 @@ OnFileCreation:
|
|||||||
MVN CartridgeSRAM>>16, InitSRAMTable>>16
|
MVN CartridgeSRAM>>16, InitSRAMTable>>16
|
||||||
PLB
|
PLB
|
||||||
|
|
||||||
|
; initialize rewind table and IFrames
|
||||||
|
LDA.w #$0014
|
||||||
|
STA.l IFramesSRAM ; low byte i-frames, high byte rewind trigger
|
||||||
|
LDA.w #$FFFF
|
||||||
|
STA.l RewindRoomIdSRAM
|
||||||
|
|
||||||
; Resolve instant post-aga if standard
|
; Resolve instant post-aga if standard
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.l InitProgressIndicator : BIT #$80 : BEQ +
|
LDA.l InitProgressIndicator : BIT #$80 : BEQ +
|
||||||
@@ -163,6 +169,15 @@ OnFileLoad:
|
|||||||
JSL.l RefreshRainAmmo
|
JSL.l RefreshRainAmmo
|
||||||
JSL.l SetEscapeAssist
|
JSL.l SetEscapeAssist
|
||||||
|
|
||||||
|
REP #$20
|
||||||
|
LDA.l CurrentRupees
|
||||||
|
CMP.w #50
|
||||||
|
BCS +
|
||||||
|
LDA.w #50
|
||||||
|
STA.l CurrentRupees
|
||||||
|
+
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
LDA.l IsEncrypted : CMP.b #01 : BNE +
|
LDA.l IsEncrypted : CMP.b #01 : BNE +
|
||||||
JSL LoadStaticDecryptionKey
|
JSL LoadStaticDecryptionKey
|
||||||
+
|
+
|
||||||
@@ -290,6 +305,16 @@ PostItemAnimation:
|
|||||||
INC.b NMICGRAM
|
INC.b NMICGRAM
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
|
LDA.l RewindTrigger
|
||||||
|
BEQ +
|
||||||
|
LDA.b #$19
|
||||||
|
STA.b $11
|
||||||
|
STZ.b $B0
|
||||||
|
|
||||||
|
LDA.b #$33
|
||||||
|
STA.w $012E
|
||||||
|
+
|
||||||
|
|
||||||
STZ.w ItemReceiptMethod : LDA.w AncillaGet, X ; thing we wrote over to get here
|
STZ.w ItemReceiptMethod : LDA.w AncillaGet, X ; thing we wrote over to get here
|
||||||
PLB
|
PLB
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
@@ -299,7 +299,15 @@ DrawPlayerFileShared:
|
|||||||
%fs_drawItemBasic(EquipmentSRAM+$12,9,18,FileSelectItems_cape)
|
%fs_drawItemBasic(EquipmentSRAM+$12,9,18,FileSelectItems_cape)
|
||||||
|
|
||||||
; Mirror
|
; Mirror
|
||||||
%fs_drawItemBasic(EquipmentSRAM+$13,9,20,FileSelectItems_mirror)
|
LDA.l EquipmentSRAM+$13 : AND.w #$00FF : BNE +
|
||||||
|
%fs_drawItemGray(9,20,FileSelectItems_mirror)
|
||||||
|
BRA ++
|
||||||
|
+ : DEC : BNE +
|
||||||
|
%fs_drawItem(9,20,FileSelectItems_mirror)
|
||||||
|
BRA ++
|
||||||
|
+
|
||||||
|
%fs_drawItem(9,20,FileSelectItems_mirror_2)
|
||||||
|
++
|
||||||
|
|
||||||
; Bottles
|
; Bottles
|
||||||
%fs_drawBottle(EquipmentSRAM+$1C,3,23)
|
%fs_drawBottle(EquipmentSRAM+$1C,3,23)
|
||||||
@@ -402,6 +410,9 @@ DrawPlayerFileShared:
|
|||||||
LDA.l EquipmentSRAM+$14 : AND.w #$00FF : BNE +
|
LDA.l EquipmentSRAM+$14 : AND.w #$00FF : BNE +
|
||||||
%fs_drawItemGray(5,28,FileSelectItems_gloves)
|
%fs_drawItemGray(5,28,FileSelectItems_gloves)
|
||||||
BRA ++
|
BRA ++
|
||||||
|
+ : DEC : BNE +
|
||||||
|
%fs_drawItem(5,28,FileSelectItems_weak_gloves)
|
||||||
|
BRA ++
|
||||||
+ : DEC : BNE +
|
+ : DEC : BNE +
|
||||||
%fs_drawItem(5,28,FileSelectItems_gloves)
|
%fs_drawItem(5,28,FileSelectItems_gloves)
|
||||||
BRA ++
|
BRA ++
|
||||||
@@ -543,6 +554,8 @@ FileSelectItems:
|
|||||||
dw #$0288|!FS_COLOR_RED, #$0289|!FS_COLOR_RED, #$0298|!FS_COLOR_RED, #$0299|!FS_COLOR_RED
|
dw #$0288|!FS_COLOR_RED, #$0289|!FS_COLOR_RED, #$0298|!FS_COLOR_RED, #$0299|!FS_COLOR_RED
|
||||||
.mirror
|
.mirror
|
||||||
dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$029B|!FS_COLOR_BLUE
|
dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$029B|!FS_COLOR_BLUE
|
||||||
|
.mirror_2
|
||||||
|
dw #$028A|!FS_COLOR_BLUE, #$028B|!FS_COLOR_BLUE, #$029A|!FS_COLOR_BLUE, #$02E2|!FS_COLOR_BLUE
|
||||||
|
|
||||||
.flippers
|
.flippers
|
||||||
dw #$024E|!FS_COLOR_BLUE, #$024F|!FS_COLOR_BLUE, #$025F|!FS_COLOR_BLUE|!FS_HFLIP, #$025F|!FS_COLOR_BLUE
|
dw #$024E|!FS_COLOR_BLUE, #$024F|!FS_COLOR_BLUE, #$025F|!FS_COLOR_BLUE|!FS_HFLIP, #$025F|!FS_COLOR_BLUE
|
||||||
@@ -564,6 +577,8 @@ FileSelectItems:
|
|||||||
.red_pendant
|
.red_pendant
|
||||||
dw #$02C5|!FS_COLOR_RED, #$02C6|!FS_COLOR_RED, #$02D5|!FS_COLOR_RED, #$02D6|!FS_COLOR_RED
|
dw #$02C5|!FS_COLOR_RED, #$02C6|!FS_COLOR_RED, #$02D5|!FS_COLOR_RED, #$02D6|!FS_COLOR_RED
|
||||||
|
|
||||||
|
.weak_gloves
|
||||||
|
dw #$02A0|!FS_COLOR_GREEN, #$02A1|!FS_COLOR_GREEN, #$02B0|!FS_COLOR_GREEN, #$02B1|!FS_COLOR_GREEN
|
||||||
.gloves
|
.gloves
|
||||||
dw #$028E|!FS_COLOR_BROWN, #$028F|!FS_COLOR_BROWN, #$029E|!FS_COLOR_BROWN, #$029F|!FS_COLOR_BROWN
|
dw #$028E|!FS_COLOR_BROWN, #$028F|!FS_COLOR_BROWN, #$029E|!FS_COLOR_BROWN, #$029F|!FS_COLOR_BROWN
|
||||||
.mitts
|
.mitts
|
||||||
|
|||||||
@@ -1385,9 +1385,9 @@ ReturnFromOnDrawHud:
|
|||||||
SEP #$30
|
SEP #$30
|
||||||
LDX.b #$FF ; vanilla hud code ends with #$FF in X, and it's required for unknown reasons.
|
LDX.b #$FF ; vanilla hud code ends with #$FF in X, and it's required for unknown reasons.
|
||||||
|
|
||||||
org $8DFC37 ; <- 6FC37 - headsup_display.asm : 828 (LDA.w #$28F7)
|
org $8DFC2B ; <- 6FC37 - headsup_display.asm : 828 (LDA.w #$28F7)
|
||||||
JSL DrawMagicHeader
|
JSL DrawMagicHeader
|
||||||
BRA + : NOP #15 : +
|
BRA + : NOP #27 : +
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $81CF67 ; <- CF67 - Bank01.asm : 11625 (STA $7EF36F)
|
org $81CF67 ; <- CF67 - Bank01.asm : 11625 (STA $7EF36F)
|
||||||
JSL DecrementSmallKeys
|
JSL DecrementSmallKeys
|
||||||
@@ -1487,8 +1487,9 @@ JSL SpiralStairsPreCheck
|
|||||||
org $829069 ; <- A21C A5A0 - Bank02.asm:3081 (LDX.b #$1C : LDA $A0)
|
org $829069 ; <- A21C A5A0 - Bank02.asm:3081 (LDX.b #$1C : LDA $A0)
|
||||||
JSL SpiralStairsPostCheck
|
JSL SpiralStairsPostCheck
|
||||||
|
|
||||||
org $82D6E8 ; <- 9C0A01 - Bank02.asm:10811 (STZ $010A)
|
; this is covered by a hook in rewind.asm
|
||||||
NOP #3
|
; org $82D6E8 ; <- 9C0A01 - Bank02.asm:10811 (STZ $010A)
|
||||||
|
; NOP #3
|
||||||
|
|
||||||
org $88C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
|
org $88C421 ; <- AD4021 F005 - ancilla_receive_item.asm:108 (LDA $2140 : BEQ .wait_for_music)
|
||||||
JML PendantFanfareWait : NOP
|
JML PendantFanfareWait : NOP
|
||||||
|
|||||||
45
iframes.asm
Normal file
45
iframes.asm
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $8780B9
|
||||||
|
JSL CalcIFrames
|
||||||
|
NOP
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CalcIFrames:
|
||||||
|
LDA.l IFrames
|
||||||
|
STA.w $031F
|
||||||
|
RTL
|
||||||
|
|
||||||
|
DrawIFrames:
|
||||||
|
LDA.l IFrames
|
||||||
|
AND.w #$00FF
|
||||||
|
JSL HexToDec
|
||||||
|
|
||||||
|
LDY.w #$16EE
|
||||||
|
LDA.w #$253B
|
||||||
|
STA.w $0000, Y
|
||||||
|
LDA.w #$253C
|
||||||
|
STA.w $0002, Y
|
||||||
|
|
||||||
|
LDA.l HexToDecDigit3
|
||||||
|
AND.w #$00FF
|
||||||
|
BEQ +
|
||||||
|
CLC : ADC.w #$2416
|
||||||
|
STA.w $003E, Y
|
||||||
|
+
|
||||||
|
LDA.l HexToDecDigit4
|
||||||
|
AND.w #$00FF
|
||||||
|
BNE +
|
||||||
|
LDA.w #$0011
|
||||||
|
+ CLC : ADC.w #$2416
|
||||||
|
STA.w $0040, Y
|
||||||
|
|
||||||
|
LDA.l HexToDecDigit5
|
||||||
|
AND.w #$00FF
|
||||||
|
BNE +
|
||||||
|
LDA.w #$0011
|
||||||
|
+ CLC : ADC.w #$2416
|
||||||
|
STA.w $0042, Y
|
||||||
|
|
||||||
|
RTL
|
||||||
116
improve_items.asm
Normal file
116
improve_items.asm
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $8DE4FE
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE514
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE52A
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE540
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE556
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE56C
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE5FF
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE615
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
org $8DE62B
|
||||||
|
JSR.w ItemMenu_DrawEnhanced_Short
|
||||||
|
|
||||||
|
org $8DFB63
|
||||||
|
JSL.l GetItemLevelForHud
|
||||||
|
|
||||||
|
org $8DFFFB
|
||||||
|
ItemMenu_DrawEnhanced_Short:
|
||||||
|
JSL.l ItemMenu_DrawEnhanced
|
||||||
|
RTS
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
ItemMenu_DrawEnhanced:
|
||||||
|
LDA.b $02
|
||||||
|
BEQ +
|
||||||
|
LDA.w #$0008
|
||||||
|
+ TAY
|
||||||
|
|
||||||
|
LDX.b $00
|
||||||
|
LDA.b ($04),Y
|
||||||
|
STA.w $0000,X
|
||||||
|
|
||||||
|
INY : INY
|
||||||
|
|
||||||
|
LDA.b ($04),Y
|
||||||
|
STA.w $0002,X
|
||||||
|
|
||||||
|
INY : INY
|
||||||
|
|
||||||
|
LDA.b ($04),Y
|
||||||
|
STA.w $0040,X
|
||||||
|
|
||||||
|
INY : INY
|
||||||
|
|
||||||
|
LDA.b ($04),Y
|
||||||
|
STA.w $0042,X
|
||||||
|
RTL
|
||||||
|
|
||||||
|
AddMagicMarker:
|
||||||
|
LDA.w ItemCursor : AND.w #$00FF ; load item value
|
||||||
|
PHX
|
||||||
|
TAX
|
||||||
|
LDA.l CanReduceMagic, X : AND.w #$00FF
|
||||||
|
BEQ .done
|
||||||
|
LDA.l EquipmentWRAM-1, X : AND.w #$00FF
|
||||||
|
DEC : DEC
|
||||||
|
BMI .done
|
||||||
|
BEQ .half
|
||||||
|
.quarter
|
||||||
|
LDA.w #$3D4C
|
||||||
|
BRA .write
|
||||||
|
.half
|
||||||
|
LDA.w #$3D3F
|
||||||
|
.write
|
||||||
|
STA.w $FFC2, Y
|
||||||
|
LDA.w #$3D37
|
||||||
|
STA.w $FFC0, Y
|
||||||
|
.done
|
||||||
|
PLX
|
||||||
|
RTL
|
||||||
|
|
||||||
|
GetItemLevelForHud:
|
||||||
|
LDA.l CanReduceMagic, X : AND.w #$00FF
|
||||||
|
BNE + ; it's already $0001, so we can return
|
||||||
|
LDA.l EquipmentWRAM-1, X ; normal, what we wrote over
|
||||||
|
+ RTL
|
||||||
|
|
||||||
|
CheckMagicLevel:
|
||||||
|
PHP : SEP #$30
|
||||||
|
LDA.w ItemCursor ; load item value
|
||||||
|
TAX
|
||||||
|
LDA.l CanReduceMagic, X
|
||||||
|
BEQ .normal
|
||||||
|
LDA.l EquipmentWRAM-1, X
|
||||||
|
DEC : DEC
|
||||||
|
BMI .normal
|
||||||
|
BEQ .half
|
||||||
|
.quarter
|
||||||
|
LDA.b #$02
|
||||||
|
BRA .write
|
||||||
|
.half
|
||||||
|
LDA.b #$01
|
||||||
|
BRA .write
|
||||||
|
.normal
|
||||||
|
LDA.b #$00
|
||||||
|
.write
|
||||||
|
STA.l MagicConsumption
|
||||||
|
PLP
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
CanReduceMagic:
|
||||||
|
db $00
|
||||||
|
db $00, $00, $00, $00, $00
|
||||||
|
db $01, $01, $01, $01, $01
|
||||||
|
db $01, $00, $00, $00, $00
|
||||||
|
db $00, $01, $01, $01, $00
|
||||||
@@ -418,6 +418,8 @@ AddYMarker:
|
|||||||
|
|
||||||
.drawTile
|
.drawTile
|
||||||
STA.w $FFC4, Y
|
STA.w $FFC4, Y
|
||||||
|
|
||||||
|
JSL AddMagicMarker
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -650,7 +652,15 @@ RTL
|
|||||||
; DrawMagicHeader:
|
; DrawMagicHeader:
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
DrawMagicHeader:
|
DrawMagicHeader:
|
||||||
LDA.l MagicConsumption : AND.w #$00FF : CMP.w #$0002 : BEQ .quarterMagic
|
LDA.l MagicConsumption : AND.w #$00FF
|
||||||
|
CMP.w #$0000 : BEQ .normalMagic
|
||||||
|
CMP.w #$0001 : BEQ .halfMagic
|
||||||
|
BRA .quarterMagic
|
||||||
|
.normalMagic
|
||||||
|
LDA.w #$2850 : STA.l HUDTileMapBuffer+$04
|
||||||
|
LDA.w #$A856 : STA.l HUDTileMapBuffer+$06
|
||||||
|
LDA.w #$2852 : STA.l HUDTileMapBuffer+$08
|
||||||
|
RTL
|
||||||
.halfMagic
|
.halfMagic
|
||||||
LDA.w #$28F7 : STA.l HUDTileMapBuffer+$04
|
LDA.w #$28F7 : STA.l HUDTileMapBuffer+$04
|
||||||
LDA.w #$2851 : STA.l HUDTileMapBuffer+$06
|
LDA.w #$2851 : STA.l HUDTileMapBuffer+$06
|
||||||
|
|||||||
@@ -143,28 +143,28 @@ endmacro
|
|||||||
%ReceiptProps($04, -5, 4, $2D, $F35A, $01, fighter_shield, skip) ; 04 - Fighter shield
|
%ReceiptProps($04, -5, 4, $2D, $F35A, $01, fighter_shield, skip) ; 04 - Fighter shield
|
||||||
%ReceiptProps($05, -4, 0, $20, $F35A, $02, red_shield, skip) ; 05 - Fire shield
|
%ReceiptProps($05, -4, 0, $20, $F35A, $02, red_shield, skip) ; 05 - Fire shield
|
||||||
%ReceiptProps($06, -4, 0, $2E, $F35A, $03, mirror_shield, skip) ; 06 - Mirror shield
|
%ReceiptProps($06, -4, 0, $2E, $F35A, $03, mirror_shield, skip) ; 06 - Mirror shield
|
||||||
%ReceiptProps($07, -5, 4, $09, $F345, $01, skip, skip) ; 07 - Fire rod
|
%ReceiptProps($07, -5, 4, $09, $F345, $FF, magic_item, skip) ; 07 - Fire rod
|
||||||
%ReceiptProps($08, -5, 4, $09, $F346, $01, skip, skip) ; 08 - Ice rod
|
%ReceiptProps($08, -5, 4, $09, $F346, $FF, magic_item, skip) ; 08 - Ice rod
|
||||||
%ReceiptProps($09, -4, 4, $0A, $F34B, $01, skip, skip) ; 09 - Hammer
|
%ReceiptProps($09, -4, 4, $0A, $F34B, $01, skip, skip) ; 09 - Hammer
|
||||||
%ReceiptProps($0A, -4, 4, $08, $F342, $01, skip, skip) ; 0A - Hookshot
|
%ReceiptProps($0A, -4, 4, $08, $F342, $01, skip, skip) ; 0A - Hookshot
|
||||||
%ReceiptProps($0B, -4, 4, $05, $F340, $01, bow, skip) ; 0B - Bow
|
%ReceiptProps($0B, -4, 4, $05, $F340, $01, bow, skip) ; 0B - Bow
|
||||||
%ReceiptProps($0C, -2, 5, $10, $F341, $01, blue_boomerang, skip) ; 0C - Blue Boomerang
|
%ReceiptProps($0C, -2, 5, $10, $F341, $01, blue_boomerang, skip) ; 0C - Blue Boomerang
|
||||||
%ReceiptProps($0D, -4, 0, $0B, $F344, $02, powder, skip) ; 0D - Powder
|
%ReceiptProps($0D, -4, 0, $0B, $F344, $02, powder, skip) ; 0D - Powder
|
||||||
%ReceiptProps($0E, -4, 0, $2C, $F35C, $FF, skip, skip) ; 0E - Bottle refill (bee)
|
%ReceiptProps($0E, -4, 0, $2C, $F35C, $FF, skip, skip) ; 0E - Bottle refill (bee)
|
||||||
%ReceiptProps($0F, -4, 0, $1B, $F347, $01, skip, skip) ; 0F - Bombos
|
%ReceiptProps($0F, -4, 0, $1B, $F347, $FF, magic_item, skip) ; 0F - Bombos
|
||||||
%ReceiptProps($10, -4, 0, $1A, $F348, $01, skip, skip) ; 10 - Ether
|
%ReceiptProps($10, -4, 0, $1A, $F348, $FF, magic_item, skip) ; 10 - Ether
|
||||||
%ReceiptProps($11, -4, 0, $1C, $F349, $01, skip, skip) ; 11 - Quake
|
%ReceiptProps($11, -4, 0, $1C, $F349, $FF, magic_item, skip) ; 11 - Quake
|
||||||
%ReceiptProps($12, -4, 0, $14, $F34A, $01, skip, skip) ; 12 - Lamp
|
%ReceiptProps($12, -4, 0, $14, $F34A, $FF, magic_item, skip) ; 12 - Lamp
|
||||||
%ReceiptProps($13, -4, 4, $19, $F34C, $01, shovel, skip) ; 13 - Shovel
|
%ReceiptProps($13, -4, 4, $19, $F34C, $01, shovel, skip) ; 13 - Shovel
|
||||||
%ReceiptProps($14, -4, 0, $0C, $F34C, $02, flute_inactive, skip) ; 14 - Flute
|
%ReceiptProps($14, -4, 0, $0C, $F34C, $02, flute_inactive, skip) ; 14 - Flute
|
||||||
%ReceiptProps($15, -4, 4, $07, $F350, $01, skip, skip) ; 15 - Somaria
|
%ReceiptProps($15, -4, 4, $07, $F350, $FF, magic_item, skip) ; 15 - Somaria
|
||||||
%ReceiptProps($16, -4, 0, $1D, $F35C, $FF, skip, bottles) ; 16 - Bottle
|
%ReceiptProps($16, -4, 0, $1D, $F35C, $FF, skip, bottles) ; 16 - Bottle
|
||||||
%ReceiptProps($17, -4, 0, $2F, $F36B, $FF, skip, skip) ; 17 - Heart piece
|
%ReceiptProps($17, -4, 0, $2F, $F36B, $FF, skip, skip) ; 17 - Heart piece
|
||||||
%ReceiptProps($18, -4, 4, $07, $F351, $01, skip, skip) ; 18 - Byrna
|
%ReceiptProps($18, -4, 4, $07, $F351, $FF, magic_item, skip) ; 18 - Byrna
|
||||||
%ReceiptProps($19, -4, 0, $15, $F352, $01, skip, skip) ; 19 - Cape
|
%ReceiptProps($19, -4, 0, $15, $F352, $FF, magic_item, skip) ; 19 - Cape
|
||||||
%ReceiptProps($1A, -4, 0, $12, $F353, $02, skip, skip) ; 1A - Mirror
|
%ReceiptProps($1A, -4, 0, $12, $F353, $FF, mirror, skip) ; 1A - Mirror
|
||||||
%ReceiptProps($1B, -4, 0, $0D, $F354, $01, skip, skip) ; 1B - Glove
|
%ReceiptProps($1B, -4, 0, $0D, $F354, $02, skip, skip) ; 1B - Glove
|
||||||
%ReceiptProps($1C, -4, 0, $0D, $F354, $02, skip, skip) ; 1C - Mitts
|
%ReceiptProps($1C, -4, 0, $0D, $F354, $03, skip, skip) ; 1C - Mitts
|
||||||
%ReceiptProps($1D, -4, 0, $0E, $F34E, $01, skip, skip) ; 1D - Book
|
%ReceiptProps($1D, -4, 0, $0E, $F34E, $01, skip, skip) ; 1D - Book
|
||||||
%ReceiptProps($1E, -4, 0, $11, $F356, $01, skip, skip) ; 1E - Flippers
|
%ReceiptProps($1E, -4, 0, $11, $F356, $01, skip, skip) ; 1E - Flippers
|
||||||
%ReceiptProps($1F, -4, 0, $17, $F357, $01, skip, skip) ; 1F - Pearl
|
%ReceiptProps($1F, -4, 0, $17, $F357, $01, skip, skip) ; 1F - Pearl
|
||||||
@@ -238,7 +238,7 @@ endmacro
|
|||||||
%ReceiptProps($63, -4, 0, $FF, $F36A, $FF, skip, rng_multi) ; 63 - RNG pool item (multi)
|
%ReceiptProps($63, -4, 0, $FF, $F36A, $FF, skip, rng_multi) ; 63 - RNG pool item (multi)
|
||||||
%ReceiptProps($64, -4, 0, $FF, $F340, $FF, skip, progressive_bow) ; 64 - Progressive bow
|
%ReceiptProps($64, -4, 0, $FF, $F340, $FF, skip, progressive_bow) ; 64 - Progressive bow
|
||||||
%ReceiptProps($65, -4, 0, $FF, $F340, $FF, skip, progressive_bow_2) ; 65 - Progressive bow
|
%ReceiptProps($65, -4, 0, $FF, $F340, $FF, skip, progressive_bow_2) ; 65 - Progressive bow
|
||||||
%ReceiptProps($66, -4, 0, $FF, $F36A, $FF, skip, skip) ; 66 -
|
%ReceiptProps($66, -4, 0, $51, $F354, $01, skip, skip) ; 66 - Weak Glove
|
||||||
%ReceiptProps($67, -4, 0, $FF, $F36A, $FF, skip, skip) ; 67 -
|
%ReceiptProps($67, -4, 0, $FF, $F36A, $FF, skip, skip) ; 67 -
|
||||||
%ReceiptProps($68, -4, 0, $FF, $F36A, $FF, skip, skip) ; 68 -
|
%ReceiptProps($68, -4, 0, $FF, $F36A, $FF, skip, skip) ; 68 -
|
||||||
%ReceiptProps($69, -4, 0, $FF, $F36A, $FF, skip, skip) ; 69 -
|
%ReceiptProps($69, -4, 0, $FF, $F36A, $FF, skip, skip) ; 69 -
|
||||||
@@ -320,8 +320,8 @@ endmacro
|
|||||||
%ReceiptProps($B5, -4, 0, $28, $F36A, $FF, free_crystal, skip) ; B5 - Crystal 4
|
%ReceiptProps($B5, -4, 0, $28, $F36A, $FF, free_crystal, skip) ; B5 - Crystal 4
|
||||||
%ReceiptProps($B6, -4, 0, $28, $F36A, $FF, free_crystal, skip) ; B6 - Crystal 3
|
%ReceiptProps($B6, -4, 0, $28, $F36A, $FF, free_crystal, skip) ; B6 - Crystal 3
|
||||||
%ReceiptProps($B7, -4, 0, $49, $F36A, $FF, skip, skip) ; B7 - Reserved
|
%ReceiptProps($B7, -4, 0, $49, $F36A, $FF, skip, skip) ; B7 - Reserved
|
||||||
%ReceiptProps($B8, -4, 0, $49, $F36A, $FF, skip, skip) ; B8 -
|
%ReceiptProps($B8, -4, 0, $52, $F36A, $FF, teleporter, skip) ; B8 - Teleporter
|
||||||
%ReceiptProps($B9, -4, 0, $49, $F36A, $FF, skip, skip) ; B9 -
|
%ReceiptProps($B9, -4, 0, $53, $F36A, $FF, i_frames, skip) ; B9 - 10 IFrames
|
||||||
%ReceiptProps($BA, -4, 0, $49, $F36A, $FF, skip, skip) ; BA -
|
%ReceiptProps($BA, -4, 0, $49, $F36A, $FF, skip, skip) ; BA -
|
||||||
%ReceiptProps($BB, -4, 0, $49, $F36A, $FF, skip, skip) ; BB -
|
%ReceiptProps($BB, -4, 0, $49, $F36A, $FF, skip, skip) ; BB -
|
||||||
%ReceiptProps($BC, -4, 0, $49, $F36A, $FF, skip, skip) ; BC -
|
%ReceiptProps($BC, -4, 0, $49, $F36A, $FF, skip, skip) ; BC -
|
||||||
@@ -517,7 +517,7 @@ endmacro
|
|||||||
%SpriteProps($63, 2, 2, $FF, $FF, $0000) ; 63 - RNG pool item (multi)
|
%SpriteProps($63, 2, 2, $FF, $FF, $0000) ; 63 - RNG pool item (multi)
|
||||||
%SpriteProps($64, 2, 2, $FF, $FF, $0000) ; 64 - Progressive bow
|
%SpriteProps($64, 2, 2, $FF, $FF, $0000) ; 64 - Progressive bow
|
||||||
%SpriteProps($65, 2, 2, $FF, $FF, $0000) ; 65 - Progressive bow
|
%SpriteProps($65, 2, 2, $FF, $FF, $0000) ; 65 - Progressive bow
|
||||||
%SpriteProps($66, 2, 2, $00, $00, $0000) ; 66 -
|
%SpriteProps($66, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; 66 - Weak Glove
|
||||||
%SpriteProps($67, 2, 2, $00, $00, $0000) ; 67 -
|
%SpriteProps($67, 2, 2, $00, $00, $0000) ; 67 -
|
||||||
%SpriteProps($68, 2, 2, $00, $00, $0000) ; 68 -
|
%SpriteProps($68, 2, 2, $00, $00, $0000) ; 68 -
|
||||||
%SpriteProps($69, 2, 2, $00, $00, $0000) ; 69 -
|
%SpriteProps($69, 2, 2, $00, $00, $0000) ; 69 -
|
||||||
@@ -599,8 +599,8 @@ endmacro
|
|||||||
%SpriteProps($B5, 2, 2, $80, $80, PalettesCustom_crystal) ; B5 - Crystal 4
|
%SpriteProps($B5, 2, 2, $80, $80, PalettesCustom_crystal) ; B5 - Crystal 4
|
||||||
%SpriteProps($B6, 2, 2, $80, $80, PalettesCustom_crystal) ; B6 - Crystal 3
|
%SpriteProps($B6, 2, 2, $80, $80, PalettesCustom_crystal) ; B6 - Crystal 3
|
||||||
%SpriteProps($B7, 2, 2, $80, $80, $0000) ; B7 - Reserved
|
%SpriteProps($B7, 2, 2, $80, $80, $0000) ; B7 - Reserved
|
||||||
%SpriteProps($B8, 2, 2, $04, $04, $0000) ; B8 -
|
%SpriteProps($B8, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; B8 - Teleporter
|
||||||
%SpriteProps($B9, 2, 2, $04, $04, $0000) ; B9 -
|
%SpriteProps($B9, 2, 2, $01, $01, PalettesVanilla_red_melon+$0E) ; B9 - 10 IFrames
|
||||||
%SpriteProps($BA, 2, 2, $04, $04, $0000) ; BA -
|
%SpriteProps($BA, 2, 2, $04, $04, $0000) ; BA -
|
||||||
%SpriteProps($BB, 2, 2, $04, $04, $0000) ; BB -
|
%SpriteProps($BB, 2, 2, $04, $04, $0000) ; BB -
|
||||||
%SpriteProps($BC, 2, 2, $04, $04, $0000) ; BC -
|
%SpriteProps($BC, 2, 2, $04, $04, $0000) ; BC -
|
||||||
@@ -793,7 +793,7 @@ endmacro
|
|||||||
%InventoryItem($63, $0001, $0000, $0000) ; 63 - RNG pool item (multi)
|
%InventoryItem($63, $0001, $0000, $0000) ; 63 - RNG pool item (multi)
|
||||||
%InventoryItem($64, $00A5, $0000, $0000) ; 64 - Progressive bow
|
%InventoryItem($64, $00A5, $0000, $0000) ; 64 - Progressive bow
|
||||||
%InventoryItem($65, $00A5, $0000, $0000) ; 65 - Progressive bow
|
%InventoryItem($65, $00A5, $0000, $0000) ; 65 - Progressive bow
|
||||||
%InventoryItem($66, $0001, $0000, $0000) ; 66 -
|
%InventoryItem($66, $0089, $0000, $0000) ; 66 - Weak Glove
|
||||||
%InventoryItem($67, $0001, $0000, $0000) ; 67 -
|
%InventoryItem($67, $0001, $0000, $0000) ; 67 -
|
||||||
%InventoryItem($68, $0001, $0000, $0000) ; 68 -
|
%InventoryItem($68, $0001, $0000, $0000) ; 68 -
|
||||||
%InventoryItem($69, $0001, $0000, $0000) ; 69 -
|
%InventoryItem($69, $0001, $0000, $0000) ; 69 -
|
||||||
@@ -875,8 +875,8 @@ endmacro
|
|||||||
%InventoryItem($B5, $0080, $0000, $0000) ; B5 - Crystal 4
|
%InventoryItem($B5, $0080, $0000, $0000) ; B5 - Crystal 4
|
||||||
%InventoryItem($B6, $0080, $0000, $0000) ; B6 - Crystal 3
|
%InventoryItem($B6, $0080, $0000, $0000) ; B6 - Crystal 3
|
||||||
%InventoryItem($B7, $0000, $0000, $0000) ; B7 - Reserved
|
%InventoryItem($B7, $0000, $0000, $0000) ; B7 - Reserved
|
||||||
%InventoryItem($B8, $0001, $0000, $0000) ; B8 -
|
%InventoryItem($B8, $0081, $0000, $0000) ; B8 - Teleporter
|
||||||
%InventoryItem($B9, $0001, $0000, $0000) ; B9 -
|
%InventoryItem($B9, $0081, $0000, $0000) ; B9 - 10 IFrames
|
||||||
%InventoryItem($BA, $0001, $0000, $0000) ; BA -
|
%InventoryItem($BA, $0001, $0000, $0000) ; BA -
|
||||||
%InventoryItem($BB, $0001, $0000, $0000) ; BB -
|
%InventoryItem($BB, $0001, $0000, $0000) ; BB -
|
||||||
%InventoryItem($BC, $0001, $0000, $0000) ; BC -
|
%InventoryItem($BC, $0001, $0000, $0000) ; BC -
|
||||||
@@ -1053,7 +1053,7 @@ ItemReceiptGraphicsOffsets:
|
|||||||
dw $0 ; 63 - RNG pool item (multi)
|
dw $0 ; 63 - RNG pool item (multi)
|
||||||
dw $0 ; 64 - Progressive bow
|
dw $0 ; 64 - Progressive bow
|
||||||
dw $0 ; 65 - Progressive bow
|
dw $0 ; 65 - Progressive bow
|
||||||
dw $0 ; 66 -
|
dw $0C60 ; 66 - Weak Glove
|
||||||
dw $0 ; 67 -
|
dw $0 ; 67 -
|
||||||
dw $0 ; 68 -
|
dw $0 ; 68 -
|
||||||
dw $0 ; 69 -
|
dw $0 ; 69 -
|
||||||
@@ -1139,8 +1139,8 @@ ItemReceiptGraphicsOffsets:
|
|||||||
dw BigDecompressionBuffer+$08A0 ; B5 - Crystal 4
|
dw BigDecompressionBuffer+$08A0 ; B5 - Crystal 4
|
||||||
dw BigDecompressionBuffer+$08A0 ; B6 - Crystal 3
|
dw BigDecompressionBuffer+$08A0 ; B6 - Crystal 3
|
||||||
dw $0 ; B7 - Reserved
|
dw $0 ; B7 - Reserved
|
||||||
dw $0 ; B8 -
|
dw $0CE0 ; B8 - Teleporter
|
||||||
dw $0 ; B9 -
|
dw $0CA0 ; B9 - 10 IFrames
|
||||||
dw $0 ; BA -
|
dw $0 ; BA -
|
||||||
dw $0 ; BB -
|
dw $0 ; BB -
|
||||||
dw $0 ; BC -
|
dw $0 ; BC -
|
||||||
@@ -1323,7 +1323,7 @@ StandingItemGraphicsOffsets:
|
|||||||
dw $0 ; 63 - RNG pool item (multi)
|
dw $0 ; 63 - RNG pool item (multi)
|
||||||
dw $0 ; 64 - Progressive bow
|
dw $0 ; 64 - Progressive bow
|
||||||
dw $0 ; 65 - Progressive bow
|
dw $0 ; 65 - Progressive bow
|
||||||
dw $0 ; 66 -
|
dw $0C60 ; 66 - Weak Glove
|
||||||
dw $0 ; 67 -
|
dw $0 ; 67 -
|
||||||
dw $0 ; 68 -
|
dw $0 ; 68 -
|
||||||
dw $0 ; 69 -
|
dw $0 ; 69 -
|
||||||
@@ -1409,8 +1409,8 @@ StandingItemGraphicsOffsets:
|
|||||||
dw BigDecompressionBuffer+$08A0 ; B5 - Crystal 4
|
dw BigDecompressionBuffer+$08A0 ; B5 - Crystal 4
|
||||||
dw BigDecompressionBuffer+$08A0 ; B6 - Crystal 3
|
dw BigDecompressionBuffer+$08A0 ; B6 - Crystal 3
|
||||||
dw $0 ; B7 - Reserved
|
dw $0 ; B7 - Reserved
|
||||||
dw $0 ; B8 -
|
dw $0CE0 ; B8 - Teleporter
|
||||||
dw $0 ; B9 -
|
dw $0CA0 ; B9 - 10 IFrames
|
||||||
dw $0 ; BA -
|
dw $0 ; BA -
|
||||||
dw $0 ; BB -
|
dw $0 ; BB -
|
||||||
dw $0 ; BC -
|
dw $0 ; BC -
|
||||||
|
|||||||
51
lift.asm
Normal file
51
lift.asm
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $87D35E
|
||||||
|
db $01, $02, $01, $01, $03, $02, $03
|
||||||
|
|
||||||
|
org $8DF809
|
||||||
|
MenuEquipmentIcons:
|
||||||
|
.gloves
|
||||||
|
dw $2121, $2122, $2123, $2124 ; No glove
|
||||||
|
dw $3CDA, $3CDB, $3CEA, $3CEB ; Weak glove
|
||||||
|
dw $2130, $2131, $2140, $2141 ; Power glove
|
||||||
|
dw $28DA, $28DB, $28EA, $28EB ; Titan's mitt
|
||||||
|
|
||||||
|
.boots
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No boots
|
||||||
|
dw $3429, $342A, $342B, $342C ; Pegasus boots
|
||||||
|
|
||||||
|
.flippers
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No flippers
|
||||||
|
dw $2C9A, $2C9B, $2C9D, $2C9E ; Flippers
|
||||||
|
|
||||||
|
.pearl
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No pearl
|
||||||
|
dw $2433, $2434, $2435, $2436 ; Moon pearl
|
||||||
|
|
||||||
|
org $8DE7C7
|
||||||
|
LDA.w #MenuEquipmentIcons_gloves
|
||||||
|
|
||||||
|
org $8DE7DD
|
||||||
|
LDA.w #MenuEquipmentIcons_boots
|
||||||
|
|
||||||
|
org $8DE7F3
|
||||||
|
LDA.w #MenuEquipmentIcons_flippers
|
||||||
|
|
||||||
|
org $8DECF9
|
||||||
|
LDA.w #MenuEquipmentIcons_pearl
|
||||||
|
|
||||||
|
org $8DFADB
|
||||||
|
dw MenuEquipmentIcons_gloves
|
||||||
|
dw MenuEquipmentIcons_boots
|
||||||
|
dw MenuEquipmentIcons_flippers
|
||||||
|
dw MenuEquipmentIcons_pearl
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
LoadModifiedGloveValue:
|
||||||
|
LDA.l GloveEquipment : AND.w #$00FF
|
||||||
|
BEQ .done
|
||||||
|
DEC
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
17
mothula.asm
Normal file
17
mothula.asm
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $9EBF01 ; z_speed
|
||||||
|
db 2, -2
|
||||||
|
|
||||||
|
org $9EBF03 ; y_speed and x_speed
|
||||||
|
db -32, -24, 0, 24, 32, 24, 0, -24, -32, -24
|
||||||
|
|
||||||
|
org $9EBFD3 ; beam speeds
|
||||||
|
db -24, 0, 24
|
||||||
|
db 36, 48, 36
|
||||||
|
|
||||||
|
org $9EBD6E ; spike max speed and acceleration
|
||||||
|
db 64, -64, 0, 0, 64, -64
|
||||||
|
db 2, -2, 0, 0, 2, -2
|
||||||
|
|
||||||
|
pullpc
|
||||||
47
newitems.asm
47
newitems.asm
@@ -360,6 +360,27 @@ ItemBehavior:
|
|||||||
LDA.b #70 : STA.l ArrowsFiller ; fill arrows
|
LDA.b #70 : STA.l ArrowsFiller ; fill arrows
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
.magic_item
|
||||||
|
LDA.b #$7E
|
||||||
|
STA.b $02
|
||||||
|
REP #$30
|
||||||
|
LDA.w ItemReceipts_target, X
|
||||||
|
STA.b $00
|
||||||
|
SEP #$30
|
||||||
|
LDA.b [$00]
|
||||||
|
CMP.b #$03
|
||||||
|
BCS +
|
||||||
|
INC
|
||||||
|
STA.b [$00]
|
||||||
|
+
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.mirror
|
||||||
|
LDA.l MirrorEquipment : CMP.b #$02 : !BGE +
|
||||||
|
INC : STA.l MirrorEquipment ; upgrade mirror
|
||||||
|
+
|
||||||
|
RTS
|
||||||
|
|
||||||
.magic_2
|
.magic_2
|
||||||
LDA.l MagicConsumption : CMP.b #$02 : !BGE +
|
LDA.l MagicConsumption : CMP.b #$02 : !BGE +
|
||||||
INC : STA.l MagicConsumption ; upgrade magic
|
INC : STA.l MagicConsumption ; upgrade magic
|
||||||
@@ -660,6 +681,28 @@ ItemBehavior:
|
|||||||
.done
|
.done
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
.teleporter
|
||||||
|
REP #$20 ; set 16-bit accumulator
|
||||||
|
LDA.l RewindRoomId
|
||||||
|
CMP.w #$FFFF
|
||||||
|
BEQ +
|
||||||
|
; restore
|
||||||
|
SEP #$20
|
||||||
|
LDA.b #$01
|
||||||
|
STA.l RewindTrigger
|
||||||
|
RTS
|
||||||
|
; save
|
||||||
|
+
|
||||||
|
JSL.l SaveRewind
|
||||||
|
SEP #$20
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.i_frames
|
||||||
|
LDA.l IFrames
|
||||||
|
CLC : ADC.b #10
|
||||||
|
STA.l IFrames
|
||||||
|
RTS
|
||||||
|
|
||||||
ResolveReceipt:
|
ResolveReceipt:
|
||||||
PHA : PHX
|
PHA : PHX
|
||||||
PHK : PLB
|
PHK : PLB
|
||||||
@@ -765,7 +808,7 @@ ResolveLootID:
|
|||||||
LDA.w .gloves_ids,X
|
LDA.w .gloves_ids,X
|
||||||
JMP.w .have_item
|
JMP.w .have_item
|
||||||
..ids
|
..ids
|
||||||
db $1B, $1C, $1C
|
db $66, $1B, $1C, $1C
|
||||||
|
|
||||||
.progressive_bow
|
.progressive_bow
|
||||||
; For non-chest progressive bows we assign the tracking bits to SpriteMetaData,X
|
; For non-chest progressive bows we assign the tracking bits to SpriteMetaData,X
|
||||||
@@ -881,6 +924,8 @@ RTS
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
;Return BowEquipment but also draw silver arrows if you have the upgrade even if you don't have the bow
|
;Return BowEquipment but also draw silver arrows if you have the upgrade even if you don't have the bow
|
||||||
CheckHUDSilverArrows:
|
CheckHUDSilverArrows:
|
||||||
|
JSL.l CheckMagicLevel
|
||||||
|
|
||||||
LDA.l ArrowMode : BNE .rupee_bow
|
LDA.l ArrowMode : BNE .rupee_bow
|
||||||
LDA.l BowEquipment : TAX : BEQ .nobow
|
LDA.l BowEquipment : TAX : BEQ .nobow
|
||||||
JSL.l DrawHUDArrows_normal
|
JSL.l DrawHUDArrows_normal
|
||||||
|
|||||||
@@ -602,6 +602,8 @@ RestoreMenu_SetSubModule:
|
|||||||
RTL
|
RTL
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
DrawHeartPiecesMenu:
|
DrawHeartPiecesMenu:
|
||||||
|
JSL DrawIFrames
|
||||||
|
|
||||||
LDA.l HUDHeartColors_index : AND.w #$00FF
|
LDA.l HUDHeartColors_index : AND.w #$00FF
|
||||||
ASL : TAX
|
ASL : TAX
|
||||||
LDA.l HUDHeartColors_masks_game_hud,X
|
LDA.l HUDHeartColors_masks_game_hud,X
|
||||||
@@ -609,7 +611,7 @@ DrawHeartPiecesMenu:
|
|||||||
|
|
||||||
LDA.l HeartPieceQuarter : AND.w #$00FF
|
LDA.l HeartPieceQuarter : AND.w #$00FF
|
||||||
ASL #3 : TAX
|
ASL #3 : TAX
|
||||||
LDY.w #$16F2
|
LDY.w #$16F6
|
||||||
|
|
||||||
LDA.l HeartPieceMenuBaseTiles,X
|
LDA.l HeartPieceMenuBaseTiles,X
|
||||||
ORA.b Scrap0D
|
ORA.b Scrap0D
|
||||||
|
|||||||
@@ -83,6 +83,9 @@ LCode:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
IsItemAvailable:
|
IsItemAvailable:
|
||||||
|
CPX.b #$14 : BNE .not_mirror
|
||||||
|
LDA.b #$01 : RTL
|
||||||
|
.not_mirror
|
||||||
LDA.l InfiniteBombs : BEQ .finite
|
LDA.l InfiniteBombs : BEQ .finite
|
||||||
.infinite
|
.infinite
|
||||||
CPX.b #$04 : BNE .finite
|
CPX.b #$04 : BNE .finite
|
||||||
|
|||||||
@@ -20,10 +20,11 @@ StoreBombCount:
|
|||||||
PLA : STA.l BombsEquipment
|
PLA : STA.l BombsEquipment
|
||||||
RTL
|
RTL
|
||||||
SearchForEquippedItem:
|
SearchForEquippedItem:
|
||||||
LDA.l InfiniteBombs : BEQ +
|
|
||||||
LDA.b #$01 : LDX.b #$00 : RTL
|
LDA.b #$01 : LDX.b #$00 : RTL
|
||||||
+
|
; LDA.l InfiniteBombs : BEQ +
|
||||||
LDA.l BowEquipment ; thing we wrote over
|
; LDA.b #$01 : LDX.b #$00 : RTL
|
||||||
|
; +
|
||||||
|
; LDA.l BowEquipment ; thing we wrote over
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
DecrementArrows:
|
DecrementArrows:
|
||||||
|
|||||||
281
rewind.asm
Normal file
281
rewind.asm
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
pushpc
|
||||||
|
org $82D6E2
|
||||||
|
JSL CheckLoadRewind
|
||||||
|
BCC +
|
||||||
|
JMP.w $D83F
|
||||||
|
+
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CheckLoadRewind:
|
||||||
|
; what we wrote over
|
||||||
|
STZ.w $011A
|
||||||
|
STZ.w $011C
|
||||||
|
; STZ.w $010A ; removed for MSU patch anyway
|
||||||
|
|
||||||
|
LDA.l RewindTrigger
|
||||||
|
AND.w #$00FF
|
||||||
|
BEQ .no_state
|
||||||
|
|
||||||
|
JSR.w LoadRewind
|
||||||
|
SEC
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.no_state
|
||||||
|
LDA.l $7EF3CC ; rest of what we wrote over
|
||||||
|
CLC
|
||||||
|
RTL
|
||||||
|
|
||||||
|
LoadRewind:
|
||||||
|
LDA.l RewindDungeonEntrance
|
||||||
|
STA.w $010E
|
||||||
|
|
||||||
|
LDA.l RewindRoomId
|
||||||
|
STA.b $A0
|
||||||
|
STA.w $048E
|
||||||
|
|
||||||
|
LDA.l RewindVerticalScroll
|
||||||
|
STA.b $E8
|
||||||
|
STA.b $E6
|
||||||
|
STA.w $0122
|
||||||
|
STA.w $0124
|
||||||
|
|
||||||
|
LDA.l RewindHorizontalScroll
|
||||||
|
STA.b $E2
|
||||||
|
STA.b $E0
|
||||||
|
STA.w $011E
|
||||||
|
STA.w $0120
|
||||||
|
|
||||||
|
LDA.l RewindYCoordinate
|
||||||
|
STA.b $20
|
||||||
|
|
||||||
|
LDA.l RewindXCoordinate
|
||||||
|
STA.b $22
|
||||||
|
|
||||||
|
LDA.l RewindCameraTriggerY
|
||||||
|
STA.w $0618
|
||||||
|
|
||||||
|
INC A
|
||||||
|
INC A
|
||||||
|
STA.w $061A
|
||||||
|
|
||||||
|
LDA.l RewindCameraTriggerX
|
||||||
|
STA.w $061C
|
||||||
|
|
||||||
|
INC A
|
||||||
|
INC A
|
||||||
|
STA.w $061E
|
||||||
|
|
||||||
|
LDA.w #$01F8
|
||||||
|
STA.b $EC
|
||||||
|
|
||||||
|
LDA.l RewindOverworldDoorTilemap
|
||||||
|
STA.w $0696
|
||||||
|
STZ.w $0698
|
||||||
|
|
||||||
|
LDA.w #$0000
|
||||||
|
STA.w $0610
|
||||||
|
|
||||||
|
LDA.w #$0110
|
||||||
|
STA.w $0612
|
||||||
|
|
||||||
|
LDA.w #$0000
|
||||||
|
STA.w $0614
|
||||||
|
|
||||||
|
LDA.w #$0100
|
||||||
|
STA.w $0616
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries
|
||||||
|
STA.w $0601
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+1
|
||||||
|
STA.w $0603
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+2
|
||||||
|
STA.w $0605
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+3
|
||||||
|
STA.w $0607
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+4
|
||||||
|
STA.w $0609
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+5
|
||||||
|
STA.w $060B
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+6
|
||||||
|
STA.w $060D
|
||||||
|
|
||||||
|
LDA.l RewindCameraScrollBoundaries+7
|
||||||
|
STA.w $060F
|
||||||
|
|
||||||
|
STZ.w $0600
|
||||||
|
STZ.w $0602
|
||||||
|
|
||||||
|
LDA.b #$10
|
||||||
|
STA.w $0604
|
||||||
|
STA.w $0606
|
||||||
|
|
||||||
|
STZ.w $0608
|
||||||
|
STZ.w $060A
|
||||||
|
STZ.w $060C
|
||||||
|
STZ.w $060E
|
||||||
|
|
||||||
|
LDA.l RewindLinkFacing
|
||||||
|
STA.b $2F
|
||||||
|
|
||||||
|
LDA.l RewindMainGFX
|
||||||
|
STA.w $0AA1
|
||||||
|
|
||||||
|
LDA.l RewindSong
|
||||||
|
STA.w $0132
|
||||||
|
|
||||||
|
LDA.l RewindFloor
|
||||||
|
STA.b $A4
|
||||||
|
|
||||||
|
LDA.l RewindDungeonId
|
||||||
|
STA.w $040C
|
||||||
|
|
||||||
|
LDA.l Rewind_6C
|
||||||
|
STA.b $6C
|
||||||
|
|
||||||
|
LDA.l Rewind_EE
|
||||||
|
STA.b $EE
|
||||||
|
|
||||||
|
LDA.l Rewind_0476
|
||||||
|
STA.w $0476
|
||||||
|
|
||||||
|
LDA.l Rewind_A6
|
||||||
|
STA.b $A6
|
||||||
|
|
||||||
|
LDA.l Rewind_A7
|
||||||
|
STA.b $A7
|
||||||
|
|
||||||
|
LDA.l Rewind_A9
|
||||||
|
STA.b $A9
|
||||||
|
|
||||||
|
LDA.l Rewind_AA
|
||||||
|
STA.b $AA
|
||||||
|
|
||||||
|
STZ.w $02E4
|
||||||
|
|
||||||
|
PHP
|
||||||
|
REP #$30
|
||||||
|
LDA.w #$0000
|
||||||
|
STA.l RewindTrigger
|
||||||
|
|
||||||
|
LDA.w #$FFFF
|
||||||
|
STA.l RewindRoomId
|
||||||
|
|
||||||
|
PHB
|
||||||
|
LDX.w #RewindEntranceCache
|
||||||
|
LDY.w #$C140
|
||||||
|
LDA.w #$27
|
||||||
|
MVN $7E, RewindEntranceCache>>16
|
||||||
|
PLB
|
||||||
|
PLP
|
||||||
|
RTS
|
||||||
|
|
||||||
|
SaveRewind:
|
||||||
|
PHP
|
||||||
|
REP #$20
|
||||||
|
|
||||||
|
LDA.w $010E
|
||||||
|
STA.l RewindDungeonEntrance
|
||||||
|
|
||||||
|
LDA.b $A0
|
||||||
|
STA.l RewindRoomId
|
||||||
|
|
||||||
|
LDA.b $E8
|
||||||
|
STA.l RewindVerticalScroll
|
||||||
|
|
||||||
|
LDA.b $E2
|
||||||
|
STA.l RewindHorizontalScroll
|
||||||
|
|
||||||
|
LDA.b $20
|
||||||
|
STA.l RewindYCoordinate
|
||||||
|
|
||||||
|
LDA.b $22
|
||||||
|
STA.l RewindXCoordinate
|
||||||
|
|
||||||
|
LDA.w $0618
|
||||||
|
STA.l RewindCameraTriggerY
|
||||||
|
|
||||||
|
LDA.w $061C
|
||||||
|
STA.l RewindCameraTriggerX
|
||||||
|
|
||||||
|
LDA.w $0696
|
||||||
|
STA.l RewindOverworldDoorTilemap
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
|
LDA.w $0601
|
||||||
|
STA.l RewindCameraScrollBoundaries
|
||||||
|
|
||||||
|
LDA.w $0603
|
||||||
|
STA.l RewindCameraScrollBoundaries+1
|
||||||
|
|
||||||
|
LDA.w $0605
|
||||||
|
STA.l RewindCameraScrollBoundaries+2
|
||||||
|
|
||||||
|
LDA.w $0607
|
||||||
|
STA.l RewindCameraScrollBoundaries+3
|
||||||
|
|
||||||
|
LDA.w $0609
|
||||||
|
STA.l RewindCameraScrollBoundaries+4
|
||||||
|
|
||||||
|
LDA.w $060B
|
||||||
|
STA.l RewindCameraScrollBoundaries+5
|
||||||
|
|
||||||
|
LDA.w $060D
|
||||||
|
STA.l RewindCameraScrollBoundaries+6
|
||||||
|
|
||||||
|
LDA.w $060F
|
||||||
|
STA.l RewindCameraScrollBoundaries+7
|
||||||
|
|
||||||
|
LDA.b $2F
|
||||||
|
STA.l RewindLinkFacing
|
||||||
|
|
||||||
|
LDA.w $0AA1
|
||||||
|
STA.l RewindMainGFX
|
||||||
|
|
||||||
|
LDA.w $0132
|
||||||
|
STA.l RewindSong
|
||||||
|
|
||||||
|
LDA.b $A4
|
||||||
|
STA.l RewindFloor
|
||||||
|
|
||||||
|
LDA.w $040C
|
||||||
|
STA.l RewindDungeonId
|
||||||
|
|
||||||
|
LDA.b $6C
|
||||||
|
STA.l Rewind_6C
|
||||||
|
|
||||||
|
LDA.b $EE
|
||||||
|
STA.l Rewind_EE
|
||||||
|
|
||||||
|
LDA.w $0476
|
||||||
|
STA.l Rewind_0476
|
||||||
|
|
||||||
|
LDA.b $A6
|
||||||
|
STA.l Rewind_A6
|
||||||
|
|
||||||
|
LDA.b $A7
|
||||||
|
STA.l Rewind_A7
|
||||||
|
|
||||||
|
LDA.b $A9
|
||||||
|
STA.l Rewind_A9
|
||||||
|
|
||||||
|
LDA.b $AA
|
||||||
|
STA.l Rewind_AA
|
||||||
|
|
||||||
|
PHB
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$C140
|
||||||
|
LDY.w #RewindEntranceCache
|
||||||
|
LDA.w #$27
|
||||||
|
MVN RewindEntranceCache>>16, $7E
|
||||||
|
PLB
|
||||||
|
PLP
|
||||||
|
RTL
|
||||||
@@ -37,8 +37,8 @@ SpriteSwap_Palette_ArmorAndGloves:
|
|||||||
SEP #$30
|
SEP #$30
|
||||||
LDA.l SpriteSwapper : BNE .continue
|
LDA.l SpriteSwapper : BNE .continue
|
||||||
REP #$30
|
REP #$30
|
||||||
LDA.l GloveEquipment
|
JSL.l LoadModifiedGloveValue
|
||||||
JSL $9BEE21 ; Read Original Palette Code
|
JSL $9BEE24 ; Read Original Palette Code
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.continue
|
.continue
|
||||||
|
|||||||
38
sram.asm
38
sram.asm
@@ -321,7 +321,8 @@ DungeonsCompleted: skip 2 ; Bitfield indicating whether a dungeon's prize
|
|||||||
; This has the same shape as the dungeon item bitfields.
|
; This has the same shape as the dungeon item bitfields.
|
||||||
MapCountDisplay: skip 2 ;
|
MapCountDisplay: skip 2 ;
|
||||||
CrystalCounter: skip 2 ; Total Number of crystals collected (integer)
|
CrystalCounter: skip 2 ; Total Number of crystals collected (integer)
|
||||||
skip 40 ; Unused
|
DeadrockCounter: skip 2 ; Number of deadrocks killed
|
||||||
|
skip 38 ; Unused
|
||||||
ServiceSequence: ; See servicerequest.asm
|
ServiceSequence: ; See servicerequest.asm
|
||||||
ServiceSequenceRx: skip 8 ; Service sequence receive
|
ServiceSequenceRx: skip 8 ; Service sequence receive
|
||||||
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
||||||
@@ -390,7 +391,34 @@ ExtendedFileNameWRAM: skip 24 ; File name, 12 word-length characters.
|
|||||||
RoomPotData: skip 592 ; Table for expanded pot shuffle. One word per room.
|
RoomPotData: skip 592 ; Table for expanded pot shuffle. One word per room.
|
||||||
SpritePotData: skip 592 ; Table for expanded pot shuffle. One word per room.
|
SpritePotData: skip 592 ; Table for expanded pot shuffle. One word per room.
|
||||||
PurchaseCounts: skip 96 ; Keeps track of shop purchases
|
PurchaseCounts: skip 96 ; Keeps track of shop purchases
|
||||||
PrivateBlockPersistent: skip 513 ; Reserved for 3rd party developers
|
|
||||||
|
PrivateBlockPersistent: ; Reserved for 3rd party developers
|
||||||
|
IFrames: skip 1
|
||||||
|
RewindTrigger: skip 1
|
||||||
|
RewindRoomId: skip 2
|
||||||
|
RewindDungeonEntrance: skip 2
|
||||||
|
RewindVerticalScroll: skip 2
|
||||||
|
RewindHorizontalScroll: skip 2
|
||||||
|
RewindYCoordinate: skip 2
|
||||||
|
RewindXCoordinate: skip 2
|
||||||
|
RewindCameraTriggerY: skip 2
|
||||||
|
RewindCameraTriggerX: skip 2
|
||||||
|
RewindOverworldDoorTilemap: skip 2
|
||||||
|
RewindCameraScrollBoundaries: skip 8
|
||||||
|
RewindLinkFacing: skip 1
|
||||||
|
RewindMainGFX: skip 1
|
||||||
|
RewindSong: skip 1
|
||||||
|
RewindFloor: skip 1
|
||||||
|
RewindDungeonId: skip 1
|
||||||
|
Rewind_6C: skip 1
|
||||||
|
Rewind_EE: skip 1
|
||||||
|
Rewind_0476: skip 1
|
||||||
|
Rewind_A6: skip 1
|
||||||
|
Rewind_A7: skip 1
|
||||||
|
Rewind_A9: skip 1
|
||||||
|
Rewind_AA: skip 1
|
||||||
|
RewindEntranceCache: skip $28
|
||||||
|
skip 433
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Direct SRAM Assignments ($700000 - $7080000)
|
; Direct SRAM Assignments ($700000 - $7080000)
|
||||||
@@ -420,7 +448,11 @@ skip 283 ;
|
|||||||
InverseChecksumSRAM: skip 2 ;
|
InverseChecksumSRAM: skip 2 ;
|
||||||
ExtendedSaveDataSRAM: ;
|
ExtendedSaveDataSRAM: ;
|
||||||
ExtendedFileNameSRAM: skip 24 ; We read and write the file name directly from and to SRAM (24 bytes)
|
ExtendedFileNameSRAM: skip 24 ; We read and write the file name directly from and to SRAM (24 bytes)
|
||||||
skip $1AE4 ;
|
skip $500
|
||||||
|
IFramesSRAM: skip 1
|
||||||
|
RewindTriggerSRAM: skip 1
|
||||||
|
RewindRoomIdSRAM: skip 2
|
||||||
|
skip $15E0 ;
|
||||||
RomVersionSRAM: skip 4 ; ALTTPR ROM version. Low byte is the version, high byte writes
|
RomVersionSRAM: skip 4 ; ALTTPR ROM version. Low byte is the version, high byte writes
|
||||||
; $01 for now (32-bits total)
|
; $01 for now (32-bits total)
|
||||||
RomNameSRAM: skip 21 ; ROM name from $FFC0, burned in during init (21 bytes)
|
RomNameSRAM: skip 21 ; ROM name from $FFC0, burned in during init (21 bytes)
|
||||||
|
|||||||
@@ -477,6 +477,24 @@ CreditsLineBlank:
|
|||||||
%blankline()
|
%blankline()
|
||||||
%blankline()
|
%blankline()
|
||||||
|
|
||||||
|
%smallcredits("APRIL SILLIES RANDOMIZER", "green")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
|
||||||
|
%bigcredits("KARAFRUIT")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
%blankline()
|
||||||
|
|
||||||
|
%smallcredits("APRIL SILLIES BETA TESTERS", "yellow")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
|
||||||
|
%bigcredits("WILLOW")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
%blankline()
|
||||||
|
|
||||||
%smallcredits("SPRITE DEVELOPMENT", "green")
|
%smallcredits("SPRITE DEVELOPMENT", "green")
|
||||||
|
|
||||||
%blankline()
|
%blankline()
|
||||||
@@ -503,6 +521,8 @@ CreditsLineBlank:
|
|||||||
|
|
||||||
%smallcredits("YOUR SPRITE BY", "yellow")
|
%smallcredits("YOUR SPRITE BY", "yellow")
|
||||||
|
|
||||||
|
%blankline()
|
||||||
|
|
||||||
%addarbline(YourSpriteCreditsHi)
|
%addarbline(YourSpriteCreditsHi)
|
||||||
%addarbline(YourSpriteCreditsLo)
|
%addarbline(YourSpriteCreditsLo)
|
||||||
|
|
||||||
@@ -536,24 +556,6 @@ CreditsLineBlank:
|
|||||||
%blankline()
|
%blankline()
|
||||||
%blankline()
|
%blankline()
|
||||||
|
|
||||||
if !FEATURE_PATREON_SUPPORTERS
|
|
||||||
%smallcredits("PATREON SUPPORTERS", "yellow")
|
|
||||||
|
|
||||||
%addarbline(PatronCredit1Hi)
|
|
||||||
%addarbline(PatronCredit1Lo)
|
|
||||||
|
|
||||||
%blankline()
|
|
||||||
%addarbline(PatronCredit2Hi)
|
|
||||||
%addarbline(PatronCredit2Lo)
|
|
||||||
|
|
||||||
%blankline()
|
|
||||||
%addarbline(PatronCredit3Hi)
|
|
||||||
%addarbline(PatronCredit3Lo)
|
|
||||||
|
|
||||||
%blankline()
|
|
||||||
%blankline()
|
|
||||||
endif
|
|
||||||
|
|
||||||
%smallcredits("SPECIAL THANKS", "red")
|
%smallcredits("SPECIAL THANKS", "red")
|
||||||
|
|
||||||
%blankline()
|
%blankline()
|
||||||
@@ -609,22 +611,6 @@ endif
|
|||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
%emptyline()
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
|
|
||||||
if !FEATURE_PATREON_SUPPORTERS == 0
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
%emptyline()
|
|
||||||
endif
|
|
||||||
|
|
||||||
;===================================================================================================
|
;===================================================================================================
|
||||||
|
|
||||||
|
|||||||
56
switches.asm
Normal file
56
switches.asm
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $87A46E
|
||||||
|
JSL CheckBookTriggerSwitch
|
||||||
|
BCS +
|
||||||
|
skip 15
|
||||||
|
+
|
||||||
|
|
||||||
|
org $8296A8
|
||||||
|
JSL FinishPegChange
|
||||||
|
|
||||||
|
org $86B93F
|
||||||
|
BRA + : NOP #8 : +
|
||||||
|
LDA.b #$19
|
||||||
|
STA.b $11
|
||||||
|
LDA.b #$33
|
||||||
|
JSL $8DBB7C
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
FinishPegChange:
|
||||||
|
LDA.b #$20
|
||||||
|
TRB.w $037A
|
||||||
|
|
||||||
|
STZ.b $B0
|
||||||
|
STZ.b $11
|
||||||
|
RTL
|
||||||
|
|
||||||
|
CheckBookTriggerSwitch:
|
||||||
|
LDA.b $10
|
||||||
|
CMP.b #$07
|
||||||
|
BNE +
|
||||||
|
|
||||||
|
LDA.l $7EC172
|
||||||
|
EOR.b #$01
|
||||||
|
STA.l $7EC172
|
||||||
|
|
||||||
|
LDA.b #$16
|
||||||
|
STA.b $11
|
||||||
|
|
||||||
|
LDA.b #$20
|
||||||
|
TSB.w $037A
|
||||||
|
|
||||||
|
LDA.b #$25
|
||||||
|
JSL $8DBB8A
|
||||||
|
|
||||||
|
SEC
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
+ CLC
|
||||||
|
.done
|
||||||
|
; what we wrote over
|
||||||
|
LDA.b $3A
|
||||||
|
AND.b #$BF
|
||||||
|
STA.b $3A
|
||||||
|
RTL
|
||||||
@@ -64,22 +64,23 @@ LoadModifiedMagicLevel:
|
|||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; $7E0348 - Ice Value
|
; $7E0348 - Ice Value
|
||||||
|
|
||||||
|
LoadModifiedIceFloorValue:
|
||||||
|
LDA.b RoomIndex : CMP.b #$91 : BEQ + : CMP.b #$92 : BEQ + : CMP.b #$93 : BEQ + ; mire basement currently broken - not sure why
|
||||||
|
LDA.b LinkState : CMP.b #$01 : BEQ + : CMP.b #$17 : BEQ + : CMP.b #$1C : BEQ +
|
||||||
|
LDA.b LinkSpeed : CMP.b #$02 : BEQ +
|
||||||
|
LDA.b LinkSlipping : BNE +
|
||||||
|
LDA.b $3C : AND.b #$0F : CMP.b #$09 : BNE ++
|
||||||
|
LDA.w $0372 : BNE ++
|
||||||
|
.yes
|
||||||
|
LDA.w TileActIce : ORA.l IceModifier : ORA.b #$10 : RTS
|
||||||
|
++ : LDA.w TileActIce : ORA.l IceModifier : RTS
|
||||||
|
+ : LDA.w TileActIce
|
||||||
|
RTS
|
||||||
LoadModifiedIceFloorValue_a11:
|
LoadModifiedIceFloorValue_a11:
|
||||||
LDA.b RoomIndex : CMP.b #$91 : BEQ + : CMP.b #$92 : BEQ + : CMP.b #$93 : BEQ + ; mire basement currently broken - not sure why
|
JSR LoadModifiedIceFloorValue : AND.b #$11 : RTL
|
||||||
LDA.b LinkState : CMP.b #$01 : BEQ + : CMP.b #$17 : BEQ + : CMP.b #$1C : BEQ +
|
|
||||||
LDA.b LinkSpeed : CMP.b #$02 : BEQ +
|
|
||||||
LDA.b LinkSlipping : BNE +
|
|
||||||
LDA.w TileActIce : ORA.l IceModifier : AND.b #$11 : RTL
|
|
||||||
+ : LDA.w TileActIce : AND.b #$11
|
|
||||||
RTL
|
|
||||||
LoadModifiedIceFloorValue_a01:
|
LoadModifiedIceFloorValue_a01:
|
||||||
LDA.b RoomIndex : CMP.b #$91 : BEQ + : CMP.b #$92 : BEQ + : CMP.b #$93 : BEQ + ; mire basement currently broken - not sure why
|
JSR LoadModifiedIceFloorValue : AND.b #$01 : RTL
|
||||||
LDA.b LinkState : CMP.b #$01 : BEQ + : CMP.b #$17 : BEQ + : CMP.b #$1C : BEQ +
|
|
||||||
LDA.b LinkSpeed : CMP.b #$02 : BEQ +
|
|
||||||
LDA.b LinkSlipping : BNE +
|
|
||||||
LDA.w TileActIce : ORA.l IceModifier : AND.b #$01 : RTL
|
|
||||||
+ : LDA.w TileActIce : AND.b #$01
|
|
||||||
RTL
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
CheckTabletSword:
|
CheckTabletSword:
|
||||||
LDA.l AllowHammerTablets : BEQ +
|
LDA.l AllowHammerTablets : BEQ +
|
||||||
|
|||||||
@@ -922,7 +922,7 @@ dw $00D8 ; 216
|
|||||||
|
|
||||||
org $B08198 ; PC 0x180198-0x1801A9
|
org $B08198 ; PC 0x180198-0x1801A9
|
||||||
GanonsTowerOpenAddress: ; 0x180198-0x180199
|
GanonsTowerOpenAddress: ; 0x180198-0x180199
|
||||||
dw CrystalCounter ; Target address for GT open check
|
dw DeadrockCounter ; Target address for GT open check
|
||||||
GanonsTowerOpenTarget: ; 0x18019A-0x18019B
|
GanonsTowerOpenTarget: ; 0x18019A-0x18019B
|
||||||
dw $0007 ; Target amount for GT open modes to compare
|
dw $0007 ; Target amount for GT open modes to compare
|
||||||
GanonsTowerOpenMode: ; 0x18019C-0x18019D
|
GanonsTowerOpenMode: ; 0x18019C-0x18019D
|
||||||
|
|||||||
13
zoom_on_carry.asm
Normal file
13
zoom_on_carry.asm
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $87E294
|
||||||
|
JSL.l CheckSpeed
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CheckSpeed:
|
||||||
|
LDA.w $0308 : BIT.b #$80 : BNE .zoom
|
||||||
|
LDA.b $5E : STA.b $00 ; what we wrote over
|
||||||
|
RTL
|
||||||
|
.zoom
|
||||||
|
LDA.b #$10 : STA.b $00 : RTL
|
||||||
Reference in New Issue
Block a user