![]() |
Routines |
| Prev: 53577 | Up: Map | Next: 53649 |
|
Used by the routine at 36616.
|
||||
| 53581 | LD B,7 | Set repeat counter to 7 | ||
|
This entry point is used by the routine at 53577.
|
||||
| 53583 | PUSH BC | Store BC (B = remaining number of iterations required) | ||
| 53584 | LD HL,22528 | Point HL at start of attribute file | ||
| 53587 | LD BC,704 | Set BC to 704 (i.e. gap between start of attribute file and start of second-last row (timer figures)) | ||
| 53590 | LD A,(HL) | Load current attribute at memory location HL into A | ||
| 53591 | AND 7 | Strip out other components to leave only INK component | ||
| 53593 | JR Z,53602 | If value is zero (black INK) then skip ahead to 53602 | ||
| 53595 | INC A | Increase INK value to next colour | ||
| 53596 | AND 7 | Strip out other components to leave only INK component | ||
| 53598 | JR NZ,53602 | If value is not zero (black INK) then skip ahead to 53602 | ||
| 53600 | LD A,1 | INK value was zero, so set now to blue INK | ||
| 53602 | LD E,A | Load new INK value into E | ||
| 53603 | LD A,(HL) | Load current attribute at memory location HL into A | ||
| 53604 | AND 56 | Strip out other components to leave only PAPER component | ||
| 53606 | JR Z,53616 | If black PAPER, then skip ahead to 53616 | ||
| 53608 | ADD A,8 | Increase to next PAPER colour | ||
| 53610 | AND 56 | Strip out other components to leave only PAPER component | ||
| 53612 | JR NZ,53616 | If PAPER component is not black then skip ahead to 53616 | ||
| 53614 | LD A,8 | PAPER value was zero, so set now to blue PAPER | ||
| 53616 | OR E | Add INK component back in | ||
| 53617 | OR 64 | Set BRIGHT flag | ||
| 53619 | LD (HL),A | Paint new attribute back to current position in attribute file | ||
| 53620 | AND 16 | Set / reset speaker bit | ||
| 53622 | OR 2 | Set RED bit to maintain red border | ||
| 53624 | OUT (254),A | Set border and set / reset speaker state | ||
| 53626 | INC HL | Advance to next byte of attribute file | ||
| 53627 | DEC BC | Decrease remaining number of character blocks to process | ||
| 53628 | LD A,B | If number of remaining character blocks is not zero... | ||
| 53629 | OR C | ... | ||
| 53630 | JR NZ,53590 | ...then loop back to 53590 | ||
| 53632 | POP BC | Restore BC (B = remaining number of iterations required) | ||
| 53633 | DJNZ 53583 | Loop back for next iteration | ||
|
This entry point is used by the routine at 53887.
|
||||
| 53635 | LD HL,61312 | Clear display buffers 1 and 2... | ||
| 53638 | LD BC,4224 | ... | ||
| 53641 | LD (HL),0 | ... | ||
| 53643 | LD D,H | ... | ||
| 53644 | LD E,L | ... | ||
| 53645 | INC DE | ... | ||
| 53646 | LDIR | ... | ||
| 53648 | RET | Return | ||
| Prev: 53577 | Up: Map | Next: 53649 |