Routines |
Prev: 6483 | Up: Map | Next: 64C7 |
Used by the routine at GameInit.
|
||||
6498 | LD BC,$7CD6 | BC=7CD6 (one byte past the end of MapPoints). | ||
649B | LD A,R | A=random number. | ||
Limit the number to 0-63.
|
||||
649D | AND %00111111 | Keep only bits 0-5. | ||
649F | LD D,A | Store the result in D. | ||
64A0 | LD HL,$0000 | HL=0000. | ||
64A3 | ADD HL,DE | DE=HL + DE. | ||
64A4 | EX DE,HL | |||
64A5 | LD HL,$7813 | HL=7813. | ||
64A8 | LD A,(HL) | A=HL. | ||
64A9 | CP $20 | If A is 20 jump to HandlerSpriteCup. | ||
64AB | JR Z,HandlerSpriteCup | |||
64AD | CP $60 | If A is not 60 jump to 64BC. | ||
64AF | JR NZ,$64BC | |||
64B1 | LD (HL),$20 | |||
HandlerSpriteCup | 64B3 | DEC HL | Decrease HL by one. | |
64B4 | LD A,(DE) | A=DE. | ||
64B5 | INC DE | Increment DE by one. | ||
64B6 | AND %01111111 | Keep only bits 0-6. | ||
64B8 | ADD A,$20 | A=A + 20. | ||
64BA | LD (HL),A | Store A at HL. | ||
64BB | INC HL | Increment HL by one. | ||
64BC | INC HL | Increment HL by three. | ||
64BD | INC HL | |||
64BE | INC HL | |||
64BF | PUSH HL | Stash HL on the stack. | ||
64C0 | AND A | |||
64C1 | SBC HL,BC | |||
64C3 | POP HL | Restore HL from the stack. | ||
64C4 | JR C,$64A8 | If ... jump to 64A8. | ||
64C6 | RET | Return. |
Prev: 6483 | Up: Map | Next: 64C7 |