|  | Routines | 
| Prev: B560 | Up: Map | Next: B77B | 
| 
 | ||||||||||||||
| B715 | PUSH AF | Store main registers. | ||||||||||||
| B716 | PUSH IX | |||||||||||||
| B718 | PUSH HL | |||||||||||||
| B719 | PUSH BC | |||||||||||||
| B71A | PUSH DE | |||||||||||||
| B71B | EX DE,HL | Swap DE and HL. | ||||||||||||
| 
First, set the attribute.
 | ||||||||||||||
| B71C | PUSH HL | Store the co-ordinates in HL. | ||||||||||||
| B71D | LD D,$58 | Point the high byte of DE to the attribute buffer. | ||||||||||||
| B71F | LD E,L | Point the low byte to the x co-ordinate. | ||||||||||||
| B720 | LD L,H | Put the y co-ordinate in HL. | ||||||||||||
| B721 | LD H,$00 | |||||||||||||
| B723 | ADD HL,HL | Multiply by 16 to get the right offset. | ||||||||||||
| B724 | ADD HL,HL | |||||||||||||
| B725 | ADD HL,HL | |||||||||||||
| B726 | ADD HL,HL | |||||||||||||
| B727 | ADD HL,HL | |||||||||||||
| B728 | ADD HL,DE | Add the earlier address in the attribute buffer. | ||||||||||||
| B729 | LD (HL),C | Set the attribute to the colour specified. | ||||||||||||
| B72A | PUSH DE | Remember the current address in DE. | ||||||||||||
| B72B | LD DE,$0020 | Move forward a row. | ||||||||||||
| B72E | ADD HL,DE | |||||||||||||
| B72F | POP DE | Restore DE. | ||||||||||||
| B730 | LD (HL),C | Set the attribute. | ||||||||||||
| B731 | POP HL | Restore the co-ordinates. | ||||||||||||
| 
Now, set the graphic data.
 | ||||||||||||||
| B732 | LD L,H | Put the y co-ordinate in HL and set D to 0. | ||||||||||||
| B733 | LD D,$00 | |||||||||||||
| B735 | LD H,D | |||||||||||||
| B736 | LD C,E | Put the current column. in C. | ||||||||||||
| B737 | LD B,D | Set B to the current row. | ||||||||||||
| B738 | ADD HL,HL | Multiply HL by 8 to get a suitable offset. | ||||||||||||
| B739 | ADD HL,HL | |||||||||||||
| B73A | ADD HL,HL | |||||||||||||
| B73B | ADD HL,HL | |||||||||||||
| B73C | LD DE,$81F8 | Add the base address for the screen offsets table. (81F8) | ||||||||||||
| B73F | ADD HL,DE | |||||||||||||
| B740 | PUSH HL | Put this in IX. | ||||||||||||
| B741 | POP IX | |||||||||||||
| B743 | LD L,A | Put the object ID in HL. | ||||||||||||
| B744 | LD H,$00 | |||||||||||||
| B746 | ADD HL,HL | Multiply it by 8 to get a suitable offset. | ||||||||||||
| B747 | ADD HL,HL | |||||||||||||
| B748 | ADD HL,HL | |||||||||||||
| B749 | LD DE,$DFDC | Add the base address for the character set. (DFDC) | ||||||||||||
| B74C | ADD HL,DE | |||||||||||||
| B74D | EX DE,HL | Swap DE and HL. | ||||||||||||
| B74E | LD A,$08 | 8 rows to update. | ||||||||||||
| B750 | LD L,(IX+$00) | Get the screen offset for the start of the row in HL. | ||||||||||||
| B753 | LD H,(IX+$01) | |||||||||||||
| B756 | ADD HL,BC | Add the offset for the current column and row. | ||||||||||||
| B757 | INC IX | Point to the next entry in the screen offsets table. | ||||||||||||
| B759 | INC IX | |||||||||||||
| B75B | EX DE,HL | Swap HL and DE, as the copying is done that way round. | ||||||||||||
| B75C | LDI | Copy from HL (buffer) to DE (screen). | ||||||||||||
| B75E | EX DE,HL | Swap HL and DE back again. | ||||||||||||
| B75F | INC BC | Move forward a column . | ||||||||||||
| B760 | LD L,(IX+$00) | Get the screen offset for the start of the row in HL. | ||||||||||||
| B763 | LD H,(IX+$01) | |||||||||||||
| B766 | ADD HL,BC | Add the offset for the current column and row. | ||||||||||||
| B767 | INC IX | Point to the next entry in the screen offsets table. | ||||||||||||
| B769 | INC IX | |||||||||||||
| B76B | DEC DE | Move back a column. | ||||||||||||
| B76C | EX DE,HL | Swap HL and DE, as the copying is done that way round. | ||||||||||||
| B76D | LDI | Copy from HL (buffer) to DE (screen). | ||||||||||||
| B76F | EX DE,HL | Swap HL and DE back again. | ||||||||||||
| B770 | INC BC | Move forward a column . | ||||||||||||
| B771 | DEC A | Loop while there are more rows to draw. | ||||||||||||
| B772 | JR NZ,$B750 | |||||||||||||
| B774 | POP DE | Restore main registers and return. | ||||||||||||
| B775 | POP BC | |||||||||||||
| B776 | POP HL | |||||||||||||
| B777 | POP IX | |||||||||||||
| B779 | POP AF | |||||||||||||
| B77A | RET | |||||||||||||
| Prev: B560 | Up: Map | Next: B77B |