![]() |
Routines |
Prev: AFEB | Up: Map | Next: B05E |
Used by the routine at EB10.
|
||||
B01F | LD C,A | C=A. | ||
B020 | LD A,($A7EE) | A=*Count_ScenicEvents. | ||
B023 | AND A | Jump to B03D if *Count_ScenicEvents is zero. | ||
B024 | JR Z,$B03D | |||
B026 | LD B,A | B=A. | ||
B027 | LD HL,($A7E2) | HL=*Pointer_ScenicEventLocations. | ||
B02A | JR $B02D | Jump to B02D. | ||
B02C | INC HL | Increment HL by one. | ||
B02D | LD A,(HL) | A=*HL. | ||
B02E | CALL ValidateItemPresent | Call ValidateItemPresent. | ||
B031 | JR NZ,$B03B | Jump to B03B if HL is not equal to A. | ||
B033 | PUSH HL | Stash HL and BC on the stack. | ||
B034 | PUSH BC | |||
B035 | LD B,(HL) | B=*HL. | ||
B036 | CALL $AF08 | Call AF08. | ||
B039 | POP BC | Restore BC and HL from the stack. | ||
B03A | POP HL | |||
B03B | DJNZ $B02C | Decrease counter by one and loop back to B02C until counter is zero. | ||
B03D | LD A,C | Write C to *CurrentRoom. | ||
B03E | LD ($A7C3),A | |||
B041 | LD A,($A787) | A=*A787. | ||
B044 | AND A | Return if *A787 is zero. | ||
B045 | RET Z | |||
B046 | LD B,$08 | B=08. | ||
B048 | LD HL,$A788 | HL=A788. | ||
B04B | LD C,A | C=A. | ||
B04C | JR $B04F | Jump to B04F. | ||
B04E | INC HL | Increment HL by one. | ||
B04F | SRL C | Shift C right. | ||
B051 | JR NC,$B05B | Jump to B05B if HL is greater than or equal to A. | ||
B053 | LD A,(HL) | A=*HL. | ||
B054 | PUSH HL | Stash HL and BC on the stack. | ||
B055 | PUSH BC | |||
B056 | CALL Handler_UpdateItemEventCurrentRoom | Call Handler_UpdateItemEventCurrentRoom. | ||
B059 | POP BC | Restore BC and HL from the stack. | ||
B05A | POP HL | |||
B05B | DJNZ $B04E | Decrease counter by one and loop back to B04E until counter is zero. | ||
B05D | RET | Return. | ||
View the equivalent code in The Jewels Of Babylon.
|
Prev: AFEB | Up: Map | Next: B05E |