Prev: 26011 Up: Map Next: 26190
26012: Scroll Playarea
Used by the routines at 26624, 27308, 27648 and 28184.
ScrollPlayarea 26012 LD HL,(30743) HL=*30743.
26015 LD D,H D=H.
26016 LD E,L E=L.
26017 LD A,(30745) A=*30745.
26020 LD C,A C=A.
26021 INC A Increment A by one.
26022 AND %00000111 Keep only bits 0-2.
26024 LD (30745),A Write A to *30745.
26027 JR NZ,ScrollPlayarea_1 Jump to ScrollPlayarea_1 if A is not zero.
26029 INC L Increment L by one.
26030 JR NZ,ScrollPlayarea_0 Jump to ScrollPlayarea_0 if L is not zero.
26032 LD A,H H+=5.
26033 ADD A,5
26035 LD H,A
ScrollPlayarea_0 26036 LD (30743),HL Write HL to *30743.
ScrollPlayarea_1 26039 LD A,E E+=8.
26040 ADD A,8
26042 LD E,A
26043 JR NC,ScrollPlayarea_2 Jump to ScrollPlayarea_2 if {} is higher.
26045 LD A,D D+=5.
26046 ADD A,5
26048 LD D,A
ScrollPlayarea_2 26049 LD A,C A=C.
26050 LD B,1 B=1.
26052 CALL 25956 Call 25956.
26055 LD HL,16415 HL=16415 (screen buffer location).
26058 LD D,H D=H.
26059 LD E,L E=L.
26060 EXX Switch to the shadow registers.
ScrollPlayarea_3 26061 LD A,(DE) A=*DE.
26062 INC E Increment E by one.
26063 LD L,A L=A.
26064 LD H,31 H=31.
26066 ADD HL,HL HL+=HL.
26067 ADD HL,HL HL+=HL.
26068 EXX Switch to the shadow registers.
26069 LD B,4 B=4.
ScrollPlayarea_4 26071 EXX Switch to the shadow registers.
26072 LD A,(HL) A=*HL.
26073 INC L Increment L by one.
26074 EXX Switch to the shadow registers.
26075 RLD RLD.
26077 DEC L Decrease L by one.
26078 RLD RLD.
26080 DEC L Decrease L by one.
26081 RLD RLD.
26083 DEC L Decrease L by one.
26084 RLD RLD.
26086 DEC L Decrease L by one.
26087 RLD RLD.
26089 DEC L Decrease L by one.
26090 RLD RLD.
26092 DEC L Decrease L by one.
26093 RLD RLD.
26095 DEC L Decrease L by one.
26096 RLD RLD.
26098 DEC L Decrease L by one.
26099 RLD RLD.
26101 DEC L Decrease L by one.
26102 RLD RLD.
26104 DEC L Decrease L by one.
26105 RLD RLD.
26107 DEC L Decrease L by one.
26108 RLD RLD.
26110 DEC L Decrease L by one.
26111 RLD RLD.
26113 DEC L Decrease L by one.
26114 RLD RLD.
26116 DEC L Decrease L by one.
26117 RLD RLD.
26119 DEC L Decrease L by one.
26120 RLD RLD.
26122 DEC L Decrease L by one.
26123 RLD RLD.
26125 DEC L Decrease L by one.
26126 RLD RLD.
26128 DEC L Decrease L by one.
26129 RLD RLD.
26131 DEC L Decrease L by one.
26132 RLD RLD.
26134 DEC L Decrease L by one.
26135 RLD RLD.
26137 DEC L Decrease L by one.
26138 RLD RLD.
26140 DEC L Decrease L by one.
26141 RLD RLD.
26143 DEC L Decrease L by one.
26144 RLD RLD.
26146 DEC L Decrease L by one.
26147 RLD RLD.
26149 DEC L Decrease L by one.
26150 RLD RLD.
26152 DEC L Decrease L by one.
26153 RLD RLD.
26155 DEC L Decrease L by one.
26156 RLD RLD.
26158 DEC L Decrease L by one.
26159 RLD RLD.
26161 DEC L Decrease L by one.
26162 RLD RLD.
26164 DEC L Decrease L by one.
26165 RLD RLD.
26167 DEC L Decrease L by one.
26168 RLD RLD.
26170 LD L,E L=E.
26171 INC H Increment H by two.
26172 INC H
26173 DJNZ ScrollPlayarea_4 Decrease counter by one and loop back to ScrollPlayarea_4 until counter is zero.
26175 LD A,32 E+=32.
26177 ADD A,E
26178 LD E,A
26179 LD L,A L=A.
26180 JR NC,ScrollPlayarea_5 Jump to ScrollPlayarea_5 if {} is higher.
26182 LD D,72 D=72.
ScrollPlayarea_5 26184 LD H,D H=D.
26185 EXX Switch to the shadow registers.
26186 DJNZ ScrollPlayarea_3 Decrease counter by one and loop back to ScrollPlayarea_3 until counter is zero.
26188 EXX Switch to the shadow registers.
26189 RET Return.
Prev: 26011 Up: Map Next: 26190