Prev: 34317 Up: Map Next: 34426
34378: Print: Scroll The Attribute Line
Used by the routine at Print_Character.
Scrolls the attribute line up by five rows and restores the pointers.
Print_ScrollTheAttributeLine 34378 PUSH HL Point at 20672.
34379 PUSH DE
34380 PUSH BC
34381 PUSH AF
34382 LD HL,20672
34385 LD DE,20704 Point DE at the attribute line.
34388 LD A,5 Load 5 before the day and night test.
Print_ScrollTheAttributeLine_ScrollOneRow 34390 PUSH HL Count 8 passes.
34391 PUSH DE
34392 LD B,8
Print_ScrollTheAttributeLine_CopyThePreparedBytes 34394 PUSH HL Copy the prepared bytes.
34395 PUSH DE
34396 PUSH BC
34397 LD BC,32
34400 LDIR
34402 POP BC Restore BC, DE and HL from the stack, and step HL down one pixel row.
34403 POP DE
34404 POP HL
34405 INC H
34406 INC D Step DE down one pixel row.
34407 DJNZ Print_ScrollTheAttributeLine_CopyThePreparedBytes Loop back to Print_ScrollTheAttributeLine_CopyThePreparedBytes until all 8 pixel rows are done.
34409 POP DE Restore the screen pointers and step HL back one row.
34410 POP HL
34411 LD BC,65504
34414 ADD HL,BC
34415 EX DE,HL Swap the two screen pointers.
34416 ADD HL,BC Step the other pointer up one screen row.
34417 EX DE,HL Swap the two screen pointers.
34418 DEC A Jump back to Print_ScrollTheAttributeLine_ScrollOneRow until the row count in A reaches zero.
34419 JR NZ,Print_ScrollTheAttributeLine_ScrollOneRow
34421 POP AF Restore AF, BC, DE and HL from the stack.
34422 POP BC
34423 POP DE
34424 POP HL
34425 RET Return.
Prev: 34317 Up: Map Next: 34426