Prev: 6C00 Up: Map Next: 6CEC
6CCD: Squiggle Line
This section draws the "Squiggle" line which separates the windows.
squiggle
SquiggleLine 6CCD CALL ClearScreen Call ClearScreen.
6CD0 LD HL,$5140 HL=5140 (screen buffer position).
6CD3 LD DE,$6DCC DE=SquiggleGFX.
6CD6 LD C,$05 C=05.
SquiggleGFX_Outer_Loop 6CD8 LD B,$10 Set a counter of 10.
6CDA PUSH HL Stash HL (the screen buffer pointer) temporarily - this is because the line is a repeated pattern.
SquiggleGFX_Inner_Loop 6CDB LD A,(DE) Copy one byte from DE (the squiggle graphics data), to HL (the screen buffer).
6CDC LD (HL),A
6CDD INC HL Increase both pointers by one.
6CDE INC DE
6CDF LD A,(DE) Copy one byte from DE (the squiggle graphics data), to HL (the screen buffer).
6CE0 LD (HL),A
6CE1 INC HL Increase HL (the screen buffer) pointer by one.
6CE2 DEC DE Decrease DE (the squiggle graphics data) pointer by one.
6CE3 DJNZ SquiggleGFX_Inner_Loop Decrease counter by one and loop back to SquiggleGFX_Inner_Loop until counter is zero.
6CE5 INC DE Increase DE (the squiggle graphics data) pointer by two.
6CE6 INC DE
6CE7 POP HL Restore HL (the screen buffer position) from the stack.
6CE8 INC H Increase H by one (i.e. move down a line).
6CE9 DEC C Decrease C by one and loop back to SquiggleGFX_Outer_Loop until counter is zero.
6CEA JR NZ,SquiggleGFX_Outer_Loop
Continue on to 6CEC.
Prev: 6C00 Up: Map Next: 6CEC