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 |