| Prev: 8B94 | Up: Map | Next: 8BC6 |
8BA3: Process old position screen address adjustment.
|
Similar boundary handling for the old (erasure) position.
|
||||
| adjust_old_position | 8BA3 | LD BC,($8B0A) | Check if old Y position crosses a character row boundary. | |
| 8BA7 | LD A,B | |||
| 8BA8 | AND $07 | |||
| 8BAA | CP $00 | |||
| 8BAC | JP NZ,adjust_old_screen_third_loop | |||
| 8BAF | LD A,B | If at a third-of-screen boundary, jump to subtract $00E0 instead. | ||
| 8BB0 | AND $3F | |||
| 8BB2 | CP $00 | |||
| 8BB4 | JP Z,adjust_old_screen_third | |||
| 8BB7 | LD HL,($8B14) | Subtract $07E0 from old screen address for character row crossing. | ||
| 8BBA | LD DE,$07E0 | |||
| 8BBD | OR A | |||
| 8BBE | SBC HL,DE | |||
| 8BC0 | LD ($8B14),HL | |||
| 8BC3 | JP adjust_old_screen_third_loop | |||
| Prev: 8B94 | Up: Map | Next: 8BC6 |