![]() |
Routines |
| Prev: 66F9 | Up: Map | Next: 672D |
|
Fills the edge column which has been newly placed on the screen.
|
||||
| FillNewAttributeColumn | 6700 | LD DE,$7802 | DE=7802. | |
| 6703 | LD B,$10 | Set a counter in B to process 10 rows. | ||
| FillNewAttributeColumn_Loop | 6705 | LD A,(DE) | Read the terrain data into A. | |
| 6706 | INC E | Move to the next column of terrain data. | ||
| 6707 | LD C,$04 | Set the default colour in C to GREEN. | ||
| 6709 | CP $0F | Jump to SetNewAttributeColumn_Colour if the terrain byte is lower than 0F or higher than 90. | ||
| 670B | JR C,SetNewAttributeColumn_Colour | |||
| 670D | CP $90 | |||
| 670F | JR NC,SetNewAttributeColumn_Colour | |||
| 6711 | INC C | Increment the colour byte in C by one (to CYAN). | ||
| 6712 | CP $3D | Jump to SetNewAttributeColumn_Colour if the terrain byte is lower than 3D. | ||
| 6714 | JR C,SetNewAttributeColumn_Colour | |||
| 6716 | INC C | Increment the colour byte in C by one (to YELLOW). | ||
| 6717 | CP $51 | Jump to SetNewAttributeColumn_Colour if #the terrain byte is lower than 51. | ||
| 6719 | JR C,SetNewAttributeColumn_Colour | |||
| 671B | LD C,$02 | Set the colour in C to RED. | ||
| 671D | CP $6F | Jump to SetNewAttributeColumn_Colour if the terrain byte is lower than 6F. | ||
| 671F | JR C,SetNewAttributeColumn_Colour | |||
| 6721 | INC C | Increment the colour byte in C by one (to MAGENTA). | ||
| SetNewAttributeColumn_Colour | 6722 | LD (HL),C | Write the attribute byte in C to the attribute buffer pointer. | |
| 6723 | LD A,$20 | L+=20 to move down one position. | ||
| 6725 | ADD A,L | |||
| 6726 | LD L,A | |||
| 6727 | ADC A,H | Add the carry to H. | ||
| 6728 | SUB L | |||
| 6729 | LD H,A | |||
| 672A | DJNZ FillNewAttributeColumn_Loop | Decrease the row counter by one and loop back to FillNewAttributeColumn_Loop until all the rows have been processed. | ||
| 672C | RET | Return. | ||
| Prev: 66F9 | Up: Map | Next: 672D |
SUB Linstruction then removes the low byte from the high byte calculation, leaving just the original high byte + the carry flag.