|  | Routines | 
| Prev: 56691 | Up: Map | Next: 56937 | 
| 
 
 | ||||||||||||
| CalculateScreenAddress | 56913 | LD A,L | Load the X co-ordinate into A. | |||||||||
| 56914 | AND %11000000 | Keep only bits 6-7. | ||||||||||
| 56916 | RRA | Rotate the result right through the carry flag. | ||||||||||
| 56917 | SCF | Set the carry flag. | ||||||||||
| 56918 | RRA | Rotate right through the carry flag. | ||||||||||
| 56919 | RRCA | Rotate right (no carry flag). | ||||||||||
| 56920 | XOR L | Combine the bits with the original X co-ordinate. | ||||||||||
| 56921 | AND %11111000 | Keep only bits 3-7. | ||||||||||
| 56923 | XOR L | Combine the bits with the original X co-ordinate again. | ||||||||||
| 56924 | LD D,A | Store the result in D (high byte of the screen buffer address). | ||||||||||
| 56925 | LD A,H | Load the Y co-ordinate into A. | ||||||||||
| 56926 | RLCA | Multiply by 8. | ||||||||||
| 56927 | RLCA | |||||||||||
| 56928 | RLCA | |||||||||||
| 56929 | XOR L | Combine the bits with the original X co-ordinate. | ||||||||||
| 56930 | AND %11000111 | Keep only bits 0-2, 6-7. | ||||||||||
| 56932 | XOR L | Combine the bits with the original X co-ordinate again. | ||||||||||
| 56933 | RLCA | Multiply by 4. | ||||||||||
| 56934 | RLCA | |||||||||||
| 56935 | LD E,A | Store result in E (low byte of the screen buffer address). | ||||||||||
| 56936 | RET | Return. | ||||||||||
| Prev: 56691 | Up: Map | Next: 56937 |