![]() |
Routines |
Prev: 27648 | Up: Map | Next: 27884 |
This section draws the "Squiggle" line which separates the windows.
|
|||||
|
|||||
SquiggleLine | 27853 | CALL ClearScreen | Call ClearScreen. | ||
27856 | LD HL,20800 | HL=20800 (screen buffer position). | |||
27859 | LD DE,28108 | DE=SquiggleGFX. | |||
27862 | LD C,5 | C=5. | |||
SquiggleGFX_Outer_Loop | 27864 | LD B,16 | Set a counter of 16. | ||
27866 | PUSH HL | Stash HL (the screen buffer pointer) temporarily - this is because the line is a repeated pattern. | |||
SquiggleGFX_Inner_Loop | 27867 | LD A,(DE) | Copy one byte from DE (the squiggle graphics data), to HL (the screen buffer). | ||
27868 | LD (HL),A | ||||
27869 | INC HL | Increase both pointers by one. | |||
27870 | INC DE | ||||
27871 | LD A,(DE) | Copy one byte from DE (the squiggle graphics data), to HL (the screen buffer). | |||
27872 | LD (HL),A | ||||
27873 | INC HL | Increase HL (the screen buffer) pointer by one. | |||
27874 | DEC DE | Decrease DE (the squiggle graphics data) pointer by one. | |||
27875 | DJNZ SquiggleGFX_Inner_Loop | Decrease counter by one and loop back to SquiggleGFX_Inner_Loop until counter is zero. | |||
27877 | INC DE | Increase DE (the squiggle graphics data) pointer by two. | |||
27878 | INC DE | ||||
27879 | POP HL | Restore HL (the screen buffer position) from the stack. | |||
27880 | INC H | Increase H by one (i.e. move down a line). | |||
27881 | DEC C | Decrease C by one and loop back to SquiggleGFX_Outer_Loop until counter is zero. | |||
27882 | JR NZ,SquiggleGFX_Outer_Loop | ||||
Continue on to 27884.
|
Prev: 27648 | Up: Map | Next: 27884 |