stuff
This commit is contained in:
@@ -147,6 +147,8 @@ RTL
|
|||||||
HeartPieceSpritePrep:
|
HeartPieceSpritePrep:
|
||||||
PHA
|
PHA
|
||||||
|
|
||||||
|
LDA ServerRequestMode : BEQ + : : +
|
||||||
|
|
||||||
LDA #$01 : STA !REDRAW
|
LDA #$01 : STA !REDRAW
|
||||||
LDA $5D : CMP #$14 : BEQ .skip ; skip if we're mid-mirror
|
LDA $5D : CMP #$14 : BEQ .skip ; skip if we're mid-mirror
|
||||||
|
|
||||||
|
|||||||
10
newitems.asm
10
newitems.asm
@@ -29,8 +29,8 @@
|
|||||||
; #$63 - RNG Pool Item (Multi)
|
; #$63 - RNG Pool Item (Multi)
|
||||||
; #$6A - Goal Item (Single/Triforce)
|
; #$6A - Goal Item (Single/Triforce)
|
||||||
; #$6B - Goal Item (Multi/Power Star)
|
; #$6B - Goal Item (Multi/Power Star)
|
||||||
; #$6C - Server Request Synchronous
|
; #$6D- Server Request
|
||||||
; #$6D - Server Request Asychronous
|
; #$6E - Server Request (Dungeon Drop)
|
||||||
; #$70 - Maps
|
; #$70 - Maps
|
||||||
; #$80 - Compasses
|
; #$80 - Compasses
|
||||||
; #$90 - Big Keys
|
; #$90 - Big Keys
|
||||||
@@ -296,6 +296,12 @@ AddReceivedItemExpandedGetItem:
|
|||||||
LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER
|
LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER
|
||||||
CMP GoalItemRequirement : !BLT ++ : JSL.l ActivateGoal : ++
|
CMP GoalItemRequirement : !BLT ++ : JSL.l ActivateGoal : ++
|
||||||
BRL .done
|
BRL .done
|
||||||
|
+ CMP.b #$6D : BNE + ; Server Request
|
||||||
|
JSL ItemGetServiceRequest
|
||||||
|
BRL .done
|
||||||
|
+ CMP.b #$6E : BNE + ; Server Request (Dungeon Drop)
|
||||||
|
JSL ItemGetServiceRequest
|
||||||
|
BRL .done
|
||||||
+ CMP.b #$70 : !BLT + : CMP.b #$80 : !BGE + ; Free Map
|
+ CMP.b #$70 : !BLT + : CMP.b #$80 : !BGE + ; Free Map
|
||||||
AND #$0F : CMP #$08 : !BGE ++
|
AND #$0F : CMP #$08 : !BGE ++
|
||||||
%ValueShift()
|
%ValueShift()
|
||||||
|
|||||||
@@ -8,16 +8,51 @@
|
|||||||
; $80 - $9F - TX Buffer
|
; $80 - $9F - TX Buffer
|
||||||
; $A0 - $FE - Reserved
|
; $A0 - $FE - Reserved
|
||||||
; $FF - TX Status
|
; $FF - TX Status
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; Status Codes
|
||||||
|
; #$00 - Idle
|
||||||
|
; #$01 - Local Read/Write
|
||||||
|
; #$02 - Ready for External Read/Write
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; Block Commands
|
||||||
|
; #$00 - Wait
|
||||||
|
; #$01 - Signal Item-Seen
|
||||||
|
; #$02 - Signal Item-Get
|
||||||
|
; #$03 - Prompt Text
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
!RX_BUFFER = "$7F5300"
|
!RX_BUFFER = "$7F5300"
|
||||||
!RX_STATUS = "$7F537F"
|
!RX_STATUS = "$7F537F"
|
||||||
!RX_SEQUENCE = "$7EF4A0"
|
!RX_SEQUENCE = "$7EF4A0"
|
||||||
!TX_BUFFER = "$7F5380"
|
!TX_BUFFER = "$7F5380"
|
||||||
!TX_STATUS = "$7F53FF"
|
!TX_STATUS = "$7F53FF"
|
||||||
!TX_SEQUENCE = "$7EF4A0"
|
!TX_SEQUENCE = "$7EF4A0"
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
PollService:
|
PollService:
|
||||||
LDA !RX_BASE : BNE + : RTL : + ; return if command is 0
|
LDA !RX_BUFFER : BNE + : RTL : + ; return if command is 0
|
||||||
LDA #$01 : STA !RX_STATUS ; mark busy
|
LDA #$01 : STA !RX_STATUS ; mark busy
|
||||||
LDA !RX_BASE+1 : STA !RX_SEQUENCE ; mark this as handled
|
LDA !RX_BUFFER+1 : STA !RX_SEQUENCE ; mark this as handled
|
||||||
LDA !RX_BASE+2 : STA !RX_SEQUENCE+1
|
LDA !RX_BUFFER+2 : STA !RX_SEQUENCE+1
|
||||||
|
; whatever
|
||||||
LDA #$00 : STA !RX_STATUS ; mark ready
|
LDA #$00 : STA !RX_STATUS ; mark ready
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
macro ServiceRequest(type)
|
||||||
|
LDA !TX_STATUS : BEQ + : SEC : RTL : + ; return fail if status is anything but idle
|
||||||
|
LDA #$01 : STA !TX_STATUS ; mark busy
|
||||||
|
LDA $7B : STA !TX_BUFFER+1 ; world
|
||||||
|
LDA $1B : STA !TX_BUFFER+2 ; indoor/outdoor
|
||||||
|
LDA $A0 : STA !TX_BUFFER+3 ; roomid low
|
||||||
|
LDA $A1 : STA !TX_BUFFER+4 ; roomid high
|
||||||
|
LDA $76 : STA !TX_BUFFER+5 ; object index (type 2 only)
|
||||||
|
LDA <type> : STA !TX_BUFFER ; item get
|
||||||
|
LDA #$02 : STA !TX_STATUS ; mark ready for tx
|
||||||
|
CLC ; mark request as successful
|
||||||
|
RTL
|
||||||
|
endmacro
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
ItemVisualServiceRequest:
|
||||||
|
%ServiceRequest(#$01)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
ItemGetServiceRequest:
|
||||||
|
%ServiceRequest(#$02)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
Reference in New Issue
Block a user