|  | Routines | 
| Prev: 24448 | Up: Map | Next: 24619 | 
| 
Used by the routine at Create_Background.
 | ||||||||||||||||||||||||
| 
Unpacks the attribute data into the buffer. On entry HL will contain one of the following background reference memory locations;  
 
 | ||||||||||||||||||||||||
| Background_Attributes | 24592 | LD DE,22528 | Begin at the start of the 22528. | |||||||||||||||||||||
| Background_Attributes_Loop | 24595 | LD A,(HL) | Pick up the attribute data from HL. | |||||||||||||||||||||
| 24596 | INC HL | Increase HL by one. | ||||||||||||||||||||||
| 24597 | CP (HL) | If the following byte is different to the current attribute byte jump to Background_Attributes_Repeat_Copy. | ||||||||||||||||||||||
| 24598 | JR NZ,Background_Attributes_Repeat_Copy | |||||||||||||||||||||||
| 24600 | AND A | The data terminates with double zeroes, so if this occurs then return. | ||||||||||||||||||||||
| 24601 | RET Z | |||||||||||||||||||||||
| 
Copy and loop back round to Background_Attributes_Loop until bit 7 in the current attribute data is set.
 | ||||||||||||||||||||||||
| Background_Attributes_Repeat_Copy | 24602 | BIT 7,A | Test if d7 is set in current attribute data. Reset bit to zero. | |||||||||||||||||||||
| 24604 | RES 7,A | |||||||||||||||||||||||
| 24606 | LD (DE),A | Write the attribute data to DE. | ||||||||||||||||||||||
| 24607 | INC DE | Increment DE by one. | ||||||||||||||||||||||
| 24608 | JR Z,Background_Attributes_Loop | Jump back to Background_Attributes_Loop unless the bit was set. | ||||||||||||||||||||||
| 
Using the following attribute data byte as a counter, copy the current byte this number of times.
 | ||||||||||||||||||||||||
| 24610 | LD B,(HL) | Pick up the attribute data from HL into B to use as a counter. | ||||||||||||||||||||||
| 24611 | INC HL | Increase HL by one. | ||||||||||||||||||||||
| 24612 | DEC B | Decrease the counter by one. | ||||||||||||||||||||||
| Background_Copy_Attribute_Repeat | 24613 | LD (DE),A | Write the same attribute data to DE. | |||||||||||||||||||||
| 24614 | INC DE | Increment DE by one. | ||||||||||||||||||||||
| 24615 | DJNZ Background_Copy_Attribute_Repeat | Decrease counter by one and loop back to Background_Copy_Attribute_Repeat until counter is zero. | ||||||||||||||||||||||
| 24617 | JR Background_Attributes_Loop | Jump back to Background_Attributes_Loop. | ||||||||||||||||||||||
| Prev: 24448 | Up: Map | Next: 24619 |