Prev: 6A1C Up: Map Next: 6BE7
6BD0: Process UDG Data
Used by the routines at 7162 and Draw_Gauge.
Input
B Length of UDG data
C Colour attribute
DE UDG data address
HL Screen buffer address
Process_UDG_Data 6BD0 LD A,(DE) Fetch UDG data reference.
6BD1 INC DE Increment UDG data reference address pointer held in DE by one.
6BD2 PUSH DE Stash DE, HL and BC on the stack.
6BD3 PUSH HL
6BD4 PUSH BC
6BD5 CALL $6114 Call 6114.
6BD8 POP BC Restore BC and HL from the stack.
6BD9 POP HL
6BDA INC L Increment L by one.
6BDB LD A,L A=L.
6BDC AND %11100000 Keep only bits 5-7.
6BDE JR Z,Process_UDG_Data_Skip If the result is zero, jump to Process_UDG_Data_Skip.
6BE0 XOR A L=00.
6BE1 LD L,A
6BE2 INC H Increment H by one.
Process_UDG_Data_Skip 6BE3 POP DE Restore DE from the stack.
6BE4 DJNZ Process_UDG_Data Decrease counter by one and loop back to Process_UDG_Data until counter is zero.
6BE6 RET Return.
Prev: 6A1C Up: Map Next: 6BE7