Routines |
Prev: 52717 | Up: Map | Next: 52924 |
Used when apply-horizontal-mirror flag is set
Used by the routine at 52714.
|
||||||||||||||
52820 | LD A,(23449) | Increase pixel row counter... | ||||||||||||
52823 | DEC A | ... | ||||||||||||
52824 | AND 7 | ...and reset to 7 if it falls below zero... | ||||||||||||
52826 | LD (23449),A | ... | ||||||||||||
52829 | CP 7 | If new value of pixel row counter is 7 (i.e. we have rolled over to a new character block)... | ||||||||||||
52831 | JR Z,52836 | ...then advance HL to next character block to be drawn and return | ||||||||||||
52833 | DEC H | Decrease display file address by 256 bytes (i.e. move to next pixel row up) | ||||||||||||
52834 | XOR A | Set A to zero | ||||||||||||
52835 | RET | Return | ||||||||||||
This next section advances HL to next character block to be drawn
|
||||||||||||||
52836 | LD A,(23450) | Load A with apply-horizontal-mirror and apply-vertical-mirror flags | ||||||||||||
52839 | AND 1 | If apply-vertical-mirror flag is set... | ||||||||||||
52841 | JP NZ,52897 | ...then skip ahead to 52897 | ||||||||||||
52844 | PUSH BC | Store BC | ||||||||||||
52845 | LD A,(23444) | Load x-coordinate of character block currently being drawn into A... | ||||||||||||
52848 | INC A | ...increase by one... | ||||||||||||
52849 | LD B,A | ...and load into B | ||||||||||||
52850 | LD A,(23495) | Load (x-coordinate + 1) of right of graphic being drawn into A | ||||||||||||
52853 | CP B | If both x-coordinates are the same (i.e. we have moved beyond graphic's right edge)... | ||||||||||||
52854 | JR Z,52874 | ...then jump to 52874 | ||||||||||||
52856 | LD A,B | Store increased x-coordinate at 23444... | ||||||||||||
52857 | LD (23444),A | ... | ||||||||||||
52860 | LD BC,(23444) | Load BC with coordinates of new character block to draw | ||||||||||||
52864 | CALL 54132 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL | ||||||||||||
52867 | LD A,7 | Advance HL down seven pixel rows to bottom of character block... | ||||||||||||
52869 | ADD A,H | ... | ||||||||||||
52870 | LD H,A | ... | ||||||||||||
52871 | XOR A | Set A to zero | ||||||||||||
52872 | POP BC | Restore BC | ||||||||||||
52873 | RET | Return | ||||||||||||
This next section advances HL to next character row to be drawn
|
||||||||||||||
52874 | LD A,(23493) | Load A with x-coordinate of left of graphic to draw... | ||||||||||||
52877 | LD (23444),A | ...and set current x-coordinate to match | ||||||||||||
52880 | LD A,(23445) | Load current y-coordinate into C, decreasing by one... | ||||||||||||
52883 | DEC A | ... | ||||||||||||
52884 | LD C,A | ... | ||||||||||||
52885 | LD A,(23494) | Load y-coordinate of top of graphic being drawn into A | ||||||||||||
52888 | CP C | If both y-coordinates are the same (i.e. we have moved beyond graphic's top edge)... | ||||||||||||
52889 | JR Z,52788 | ...then jump to 52788 (load A with 1, reset zero flag and return) | ||||||||||||
52891 | LD A,C | Store increased y-coordinate at 23445... | ||||||||||||
52892 | LD (23445),A | ... | ||||||||||||
52895 | JR 52860 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL then return | ||||||||||||
This next section advances HL to next character block to be drawn where the apply-vertical-mirror flag is set
|
||||||||||||||
52897 | PUSH BC | Store BC | ||||||||||||
52898 | LD A,(23444) | Load x-coordinate of character block currently being drawn into A... | ||||||||||||
52901 | DEC A | ...decrease by one... | ||||||||||||
52902 | LD B,A | ...and load into B | ||||||||||||
52903 | LD A,(23493) | Load x-coordinate of left of graphic being drawn into A... | ||||||||||||
52906 | DEC A | ...and decrease by one | ||||||||||||
52907 | CP B | If both x-coordinates are the same (i.e. we have moved beyond graphic's left edge)... | ||||||||||||
52908 | JR Z,52917 | ...then jump to 52917 | ||||||||||||
52910 | LD A,B | Store decreased x-coordinate at 23444... | ||||||||||||
52911 | LD (23444),A | ... | ||||||||||||
52914 | JP 52860 | Move virtual cursor (bitmap) to display file address for coordinates x=C, y=B and load address into HL then return | ||||||||||||
52917 | LD A,(23495) | Load x-coordinate of right of graphic being drawn into A... | ||||||||||||
52920 | DEC A | ... | ||||||||||||
52921 | JP 52877 | Move current character position down one character row and return |
Prev: 52717 | Up: Map | Next: 52924 |