Prev: 35228 Up: Map Next: 35383
35335: Toggle Map Point
Used by the routines at 32853 and FlashLocationMapPoints.
Input
HL Map co-ordinates
ToggleMapPoint 35335 LD A,L A=L.
35336 AND %00000111 Keep only bits 0-2.
35338 LD B,A B=A.
35339 LD A,128 A=128.
35341 JR Z,ToggleMapPoint_1 Jump to ToggleMapPoint_1 if A is zero.
ToggleMapPoint_0 35343 RRCA RRCA.
35344 DJNZ ToggleMapPoint_0 Decrease counter by one and loop back to ToggleMapPoint_0 until counter is zero.
ToggleMapPoint_1 35346 LD E,A E=A.
35347 LD A,H A=H.
35348 AND %00000111 Keep only bits 0-2.
35350 LD D,A D=A.
35351 RRC H Rotate H right three positions (with carry).
35353 RRC H
35355 RRC H
35357 LD A,H A=H.
35358 AND %00011000 Keep only bits 3-4.
35360 OR %01000000 Set bits 6.
35362 OR D Set the bits from D.
35363 RR H Rotate H right.
35365 RR L Rotate L right.
35367 RR H Rotate H right.
35369 RR L Rotate L right.
35371 RR H Rotate H right.
35373 RR L Rotate L right.
35375 LD H,A H=A.
35376 LD A,(HL) A=*HL.
35377 XOR E Flip the bits according to E.
35378 LD (HL),A Write A to *HL.
35379 LD A,0 A=0.
35381 INC A Increment A by one.
35382 RET Return.
Prev: 35228 Up: Map Next: 35383