![]() |
Routines |
| Prev: C306 | Up: Map | Next: C37D |
|
Used by the routine at ProcessScreenCharacter.
|
||||||||||
| UpdateScreenDisplay | C316 | LD A,($C128) | A=*C128. | |||||||
| C319 | AND A | Set flags. | ||||||||
| C31A | CALL Z,PrintCharacter_6 | Call PrintCharacter_6 if A is equal to 00. | ||||||||
| C31D | PUSH BC | Stash BC, HL and DE on the stack. | ||||||||
| C31E | PUSH HL | |||||||||
| C31F | PUSH DE | |||||||||
| C320 | LD HL,$4020 | HL=4020 (screen buffer location). | ||||||||
| C323 | LD DE,$4000 | DE=4000. | ||||||||
| C326 | LD BC,$0011 | BC=0011. | ||||||||
| C329 | LD A,($C128) | A=*C128. | ||||||||
| C32C | AND A | Set flags. | ||||||||
| C32D | LD A,$20 | A=20. | ||||||||
| C32F | JR Z,UpdateScreenDisplay_0 | Jump to UpdateScreenDisplay_0 if A is equal to A. | ||||||||
| C331 | LD A,$10 | A=10. | ||||||||
| UpdateScreenDisplay_0 | C333 | PUSH HL | Stash HL, DE and BC on the stack. | |||||||
| C334 | PUSH DE | |||||||||
| C335 | PUSH BC | |||||||||
| C336 | LD C,$08 | C=08. | ||||||||
| UpdateScreenDisplay_1 | C338 | PUSH HL | Stash HL, DE and BC on the stack. | |||||||
| C339 | PUSH DE | |||||||||
| C33A | PUSH BC | |||||||||
| C33B | LD C,A | C=A. | ||||||||
| C33C | LDIR | LDIR. | ||||||||
| C33E | POP BC | Restore BC, DE and HL from the stack. | ||||||||
| C33F | POP DE | |||||||||
| C340 | POP HL | |||||||||
| C341 | INC H | Increment H by one. | ||||||||
| C342 | INC D | Increment D by one. | ||||||||
| C343 | DEC C | Decrease C by one. | ||||||||
| C344 | JR NZ,UpdateScreenDisplay_1 | Jump to UpdateScreenDisplay_1 if C is not equal to A. | ||||||||
| C346 | POP BC | Restore BC, DE and HL from the stack. | ||||||||
| C347 | POP DE | |||||||||
| C348 | POP HL | |||||||||
| C349 | PUSH AF | Stash AF on the stack. | ||||||||
| C34A | CALL AdvanceScreenPosition | Call AdvanceScreenPosition. | ||||||||
| C34D | CALL AdvanceScreenPosition | Call AdvanceScreenPosition. | ||||||||
| C350 | POP AF | Restore AF from the stack. | ||||||||
| C351 | DEC C | Decrease C by one. | ||||||||
| C352 | JR NZ,UpdateScreenDisplay_0 | Jump to UpdateScreenDisplay_0 if C is not equal to A. | ||||||||
| C354 | CP $10 | Jump to UpdateScreenDisplay_2 if A is equal to 10. | ||||||||
| C356 | JR Z,UpdateScreenDisplay_2 | |||||||||
| C358 | LD HL,$5820 | HL=5820 (attribute buffer location). | ||||||||
| C35B | LD DE,$5800 | DE=5800 (screen buffer location). | ||||||||
| C35E | LD BC,$0220 | BC=0220. | ||||||||
| C361 | LDIR | LDIR. | ||||||||
| UpdateScreenDisplay_2 | C363 | LD A,($C128) | A=*C128. | |||||||
| C366 | AND A | Set flags. | ||||||||
| C367 | LD B,$24 | B=24. | ||||||||
| C369 | JR Z,UpdateScreenDisplay_3 | Jump to UpdateScreenDisplay_3 if A is equal to A. | ||||||||
| C36B | LD B,$12 | B=12. | ||||||||
| UpdateScreenDisplay_3 | C36D | LD HL,$5020 | HL=5020 (screen buffer location). | |||||||
| C370 | LD C,$02 | C=02. | ||||||||
| C372 | LD A,$20 | A=20. | ||||||||
| UpdateScreenDisplay_4 | C374 | CALL PrintCharacter | Call PrintCharacter. | |||||||
| C377 | DJNZ UpdateScreenDisplay_4 | Decrease counter by one and loop back to UpdateScreenDisplay_4 until counter is zero. | ||||||||
| C379 | POP DE | Restore DE, HL and BC from the stack. | ||||||||
| C37A | POP HL | |||||||||
| C37B | POP BC | |||||||||
| C37C | RET | Return. | ||||||||
| Prev: C306 | Up: Map | Next: C37D |