| Routines

50E5: Populate a row of the screen with machine code

Used by the routine at 81B4. Copies 256 bytes of machine code from the source (either the top row of the screen, or character buffers 0xB7-0xBE) to the destination (the second or third row from the bottom of the screen), in eight 32-byte blocks.
Input
HL | Source (4000 or B700)
DE | Destination display file address (50A0 or 50C0)
50E5 | LD BC,$0020 | There are 32 bytes per row of pixels
50E8 | PUSH DE |
50E9 | LDIR | Copy 32 bytes to the display file
50EB | LD L,B | L=0x00
50EC | POP DE |
50ED | INC D | Point DE at the start of the next row of pixels
50EE | INC H | Point HL at the next batch of 32 bytes to copy
50EF | BIT 3,D | Have we copied 8 rows of bytes yet?
50F1 | JR Z,$50E5 | Jump back if not
50F3 | RET |