Routines |
Prev: 29915 | Up: Map | Next: 29977 |
|
|||||
PrintLevelName | 29916 | LD A,(30752) | A=*CurrentLevel. | ||
29919 | ADD A,A | A*=4. | |||
29920 | ADD A,A | ||||
29921 | LD L,A | L=A (level*4). | |||
29922 | ADD A,A | A*=2. | |||
29923 | LD H,A | H=A (level*8). | |||
29924 | ADD A,A | L=160+H+L+(level*16). | |||
29925 | ADD A,H | ||||
29926 | ADD A,L | ||||
29927 | ADD A,160 | ||||
29929 | LD L,A | ||||
29930 | LD A,0 | H=187+carry. | |||
29932 | ADC A,187 | ||||
29934 | LD H,A | ||||
29935 | LD DE,23127 | DE=23127 (attribute buffer location). | |||
29938 | LD C,3 | C=3 (counter; three lines). | |||
LevelName_ColourLineLoop | 29940 | LD A,(HL) | A=*HL. | ||
29941 | LD B,9 | B=9 (counter; length of each line). | |||
LevelName_ColourLoop | 29943 | LD (DE),A | Write A to *DE. | ||
29944 | INC E | Increment E by one. | |||
29945 | DJNZ LevelName_ColourLoop | Decrease counter by one and loop back to LevelName_ColourLoop until counter is zero. | |||
Move down one line (and reset the position - 9+23=32).
|
|||||
29947 | LD A,E | E+=23. | |||
29948 | ADD A,23 | ||||
29950 | LD E,A | ||||
29951 | DEC C | Decrease C by one. | |||
29952 | JR NZ,LevelName_ColourLineLoop | Jump to LevelName_ColourLineLoop until C is zero. | |||
29954 | INC L | Increment L by one. | |||
29955 | EXX | Switch to the shadow registers. | |||
29956 | LD DE,20567 | DE'=20567 (screen buffer location). | |||
29959 | EXX | Switch back to the normal registers. | |||
29960 | LD C,3 | C=3 (counter; three lines). | |||
PrintLevelName_Loop | 29962 | LD B,9 | B=9 (counter; length of each line). | ||
29964 | CALL Print_Loop | Call Print_Loop. | |||
Move down one line (and reset the position - 9+23=32).
|
|||||
29967 | EXX | Switch to the shadow registers. | |||
29968 | LD A,E | E'+=23. | |||
29969 | ADD A,23 | ||||
29971 | LD E,A | ||||
29972 | EXX | Switch back to the normal registers. | |||
Have we printed all three lines of the level name yet?
|
|||||
29973 | DEC C | Decrease C by one. | |||
29974 | JR NZ,PrintLevelName_Loop | Jump to PrintLevelName_Loop until C is zero. | |||
29976 | RET | Return. |
Prev: 29915 | Up: Map | Next: 29977 |
BOUNCING
HEDGEHOGS
WILY
WALLABIES
KILLER
BEES
THAT
BOUNCES
SWARM
AND
STING
PARK
ALL
HOPE!