Prev: 27164 Up: Map Next: 27623
27600: Process UDG Data
Used by the routines at 29026 and Draw_Gauge.
Input
B Length of UDG data
C Colour attribute
DE UDG data address
HL Screen buffer address
Process_UDG_Data 27600 LD A,(DE) Fetch UDG data reference.
27601 INC DE Increment UDG data reference address pointer held in DE by one.
27602 PUSH DE Stash DE, HL and BC on the stack.
27603 PUSH HL
27604 PUSH BC
27605 CALL 24852 Call 24852.
27608 POP BC Restore BC and HL from the stack.
27609 POP HL
27610 INC L Increment L by one.
27611 LD A,L A=L.
27612 AND %11100000 Keep only bits 5-7.
27614 JR Z,Process_UDG_Data_Skip If the result is zero, jump to Process_UDG_Data_Skip.
27616 XOR A L=0.
27617 LD L,A
27618 INC H Increment H by one.
Process_UDG_Data_Skip 27619 POP DE Restore DE from the stack.
27620 DJNZ Process_UDG_Data Decrease counter by one and loop back to Process_UDG_Data until counter is zero.
27622 RET Return.
Prev: 27164 Up: Map Next: 27623