Dynamite Dan | Routines |
Prev: E820 | Up: Map | Next: E87A |
|
||||||||||
E84E | LD B,(HL) | Get the height. | ||||||||
E84F | INC HL | |||||||||
E850 | LD C,(HL) | Get the width. | ||||||||
E851 | INC HL | |||||||||
E852 | PUSH BC | Remember BC and DE. | ||||||||
E853 | PUSH DE | |||||||||
E854 | CALL $E87A | Copy the graphic data. | ||||||||
Put the pixel data on screen.
|
||||||||||
E857 | POP DE | Restore BC and DE. | ||||||||
E858 | POP BC | |||||||||
E859 | LD A,(HL) | Is this a "fill" command? | ||||||||
E85A | AND A | |||||||||
E85B | JR NZ,$E862 | Jump forward if it isn't. | ||||||||
There is a "fill" command here.
|
||||||||||
E85D | INC HL | Put the attribute in A. | ||||||||
E85E | LD A,(HL) | |||||||||
E85F | JP $E8BA | Move forward to do the fill. | ||||||||
Print the attribute for the graphic.
|
||||||||||
E862 | CALL $E8E3 | Convert the screen address to an attribute address. | ||||||||
E865 | EX DE,HL | Put the attribute address in HL. | ||||||||
E866 | PUSH BC | Remember BC and HL. | ||||||||
E867 | PUSH HL | |||||||||
E868 | LD A,(DE) | Get the attribute data. | ||||||||
E869 | LD (HL),A | Put it on screen. | ||||||||
E86A | INC L | Move to the next column. | ||||||||
E86B | INC DE | Move to the next data cell. | ||||||||
E86C | DJNZ $E868 | Loop while there are more columns. | ||||||||
E86E | POP HL | Restore HL. | ||||||||
E86F | LD BC,$0020 | Move to the next row. | ||||||||
E872 | AND A | |||||||||
E873 | SBC HL,BC | |||||||||
E875 | POP BC | Restore BC. | ||||||||
E876 | DEC C | Loop back if there are more rows to draw. | ||||||||
E877 | JR NZ,$E866 | |||||||||
E879 | RET | Otherwise return. |
Prev: E820 | Up: Map | Next: E87A |