![]()  | 
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 |