![]() |
Routines |
| Prev: 49926 | Up: Map | Next: 50045 |
|
Used by the routine at ProcessScreenCharacter.
|
||||||||||
| UpdateScreenDisplay | 49942 | LD A,(49448) | A=*49448. | |||||||
| 49945 | AND A | Set flags. | ||||||||
| 49946 | CALL Z,PrintCharacter_6 | Call PrintCharacter_6 if A is equal to 0. | ||||||||
| 49949 | PUSH BC | Stash BC, HL and DE on the stack. | ||||||||
| 49950 | PUSH HL | |||||||||
| 49951 | PUSH DE | |||||||||
| 49952 | LD HL,16416 | HL=16416 (screen buffer location). | ||||||||
| 49955 | LD DE,16384 | DE=16384. | ||||||||
| 49958 | LD BC,17 | BC=0017. | ||||||||
| 49961 | LD A,(49448) | A=*49448. | ||||||||
| 49964 | AND A | Set flags. | ||||||||
| 49965 | LD A,32 | A=32. | ||||||||
| 49967 | JR Z,UpdateScreenDisplay_0 | Jump to UpdateScreenDisplay_0 if A is equal to A. | ||||||||
| 49969 | LD A,16 | A=16. | ||||||||
| UpdateScreenDisplay_0 | 49971 | PUSH HL | Stash HL, DE and BC on the stack. | |||||||
| 49972 | PUSH DE | |||||||||
| 49973 | PUSH BC | |||||||||
| 49974 | LD C,8 | C=8. | ||||||||
| UpdateScreenDisplay_1 | 49976 | PUSH HL | Stash HL, DE and BC on the stack. | |||||||
| 49977 | PUSH DE | |||||||||
| 49978 | PUSH BC | |||||||||
| 49979 | LD C,A | C=A. | ||||||||
| 49980 | LDIR | LDIR. | ||||||||
| 49982 | POP BC | Restore BC, DE and HL from the stack. | ||||||||
| 49983 | POP DE | |||||||||
| 49984 | POP HL | |||||||||
| 49985 | INC H | Increment H by one. | ||||||||
| 49986 | INC D | Increment D by one. | ||||||||
| 49987 | DEC C | Decrease C by one. | ||||||||
| 49988 | JR NZ,UpdateScreenDisplay_1 | Jump to UpdateScreenDisplay_1 if C is not equal to A. | ||||||||
| 49990 | POP BC | Restore BC, DE and HL from the stack. | ||||||||
| 49991 | POP DE | |||||||||
| 49992 | POP HL | |||||||||
| 49993 | PUSH AF | Stash AF on the stack. | ||||||||
| 49994 | CALL AdvanceScreenPosition | Call AdvanceScreenPosition. | ||||||||
| 49997 | CALL AdvanceScreenPosition | Call AdvanceScreenPosition. | ||||||||
| 50000 | POP AF | Restore AF from the stack. | ||||||||
| 50001 | DEC C | Decrease C by one. | ||||||||
| 50002 | JR NZ,UpdateScreenDisplay_0 | Jump to UpdateScreenDisplay_0 if C is not equal to A. | ||||||||
| 50004 | CP 16 | Jump to UpdateScreenDisplay_2 if A is equal to 16. | ||||||||
| 50006 | JR Z,UpdateScreenDisplay_2 | |||||||||
| 50008 | LD HL,22560 | HL=22560 (attribute buffer location). | ||||||||
| 50011 | LD DE,22528 | DE=22528 (screen buffer location). | ||||||||
| 50014 | LD BC,544 | BC=544. | ||||||||
| 50017 | LDIR | LDIR. | ||||||||
| UpdateScreenDisplay_2 | 50019 | LD A,(49448) | A=*49448. | |||||||
| 50022 | AND A | Set flags. | ||||||||
| 50023 | LD B,36 | B=36. | ||||||||
| 50025 | JR Z,UpdateScreenDisplay_3 | Jump to UpdateScreenDisplay_3 if A is equal to A. | ||||||||
| 50027 | LD B,18 | B=18. | ||||||||
| UpdateScreenDisplay_3 | 50029 | LD HL,20512 | HL=20512 (screen buffer location). | |||||||
| 50032 | LD C,2 | C=2. | ||||||||
| 50034 | LD A,32 | A=32. | ||||||||
| UpdateScreenDisplay_4 | 50036 | CALL PrintCharacter | Call PrintCharacter. | |||||||
| 50039 | DJNZ UpdateScreenDisplay_4 | Decrease counter by one and loop back to UpdateScreenDisplay_4 until counter is zero. | ||||||||
| 50041 | POP DE | Restore DE, HL and BC from the stack. | ||||||||
| 50042 | POP HL | |||||||||
| 50043 | POP BC | |||||||||
| 50044 | RET | Return. | ||||||||
| Prev: 49926 | Up: Map | Next: 50045 |