Routines |
Prev: A4F4 | Up: Map | Next: A535 |
|
||||||||||||
A503 | PUSH AF | Save AF | ||||||||||
A504 | LD A,($A0B0) | Set A the y-position | ||||||||||
A507 | LD L,A | Computes the offset of the tile based on the y-position y-offset = (y-position / 8) * 32 (32 tiles per row and 8 pixels height per row) | ||||||||||
A508 | LD H,$00 | |||||||||||
A50A | SRL H | |||||||||||
A50C | RR L | |||||||||||
A50E | SRL H | |||||||||||
A510 | RR L | |||||||||||
A512 | SRL H | |||||||||||
A514 | RR L | |||||||||||
A516 | ADD HL,HL | |||||||||||
A517 | ADD HL,HL | |||||||||||
A518 | ADD HL,HL | |||||||||||
A519 | ADD HL,HL | |||||||||||
A51A | ADD HL,HL | |||||||||||
A51B | LD A,($A0AF) | Set A the x-position | ||||||||||
A51E | SRL A | Computes the offset of the tile based on the x-position x-offset = x-position / 8 | ||||||||||
A520 | SRL A | |||||||||||
A522 | SRL A | |||||||||||
A524 | LD E,A | Adds the two offsets | ||||||||||
A525 | LD D,$00 | |||||||||||
A527 | ADD HL,DE | |||||||||||
A528 | LD DE,$E19F | Set DE the base address to the tile type buffer | ||||||||||
A52B | POP AF | Recover A | ||||||||||
A52C | OR A | Is 0? | ||||||||||
A52D | JP NZ,$A533 | Jump if not | ||||||||||
A530 | LD DE,$E19E | If it's 0 then change the base address of tilr type buffer to get the previous tile | ||||||||||
A533 | ADD HL,DE | Set HL to the base address of the location of the tile in tile buffer | ||||||||||
A534 | RET |
Prev: A4F4 | Up: Map | Next: A535 |