4082                          .ORG   16514   
4082   02 51 30 72 09 04 92 49 DB   $02,$51,$30,$72,$09,$04,$92,$49   
408A                START:    			; Prefix the code with the bitmap data
408A   C5                     PUSH   bc   	; At startup “start” is in BC
408B   E1                     POP   hl   	; so move it to HL, use as bitmap pointer
408C   06 09                  LD   b,9   	; start on the 9th row
408E                ROW:      
408E   0E 09                  LD   c,9   	; start each row on the 9th column, and first
4090                LOOP:     			; plot 4 asterisks
4090   E5                     PUSH   hl   	; save HL as it gets used to print
4091   C5                     PUSH   bc   	; save BC as it gets destroyed 
4092   CD F5 08               CALL   $8f5   	; point HL at (c,b)
4095   C1                     POP   bc   	; retrieve BC
4096   3E 12                  LD   a,18   	; load rotation constant
4098   BE                     CP   (hl)   	; use it to check if all 4 plots are done
4099   36 17                  LD   (hl),23    	; plot a *
409B   E1                     POP   hl   	; retrieve HL
409C   38 06                  JR   c,xloop   	; if all 4 plots already done, x-it the loop 
409E   91                     SUB   c   	; otherwise A = 18-C
409F   48                     LD   c,b   	; C = B
40A0   47                     LD   b,a   	; B = 18-C => rotate 90º
40A1   20 ED                  JR   nz,loop   	; If row != 0 then continue rotating
40A3   C9                     RET   		; otherwise we are done
40A4                XLOOP:    
40A4   0D                     DEC   c   	; move on to next column 
40A5   CB 3E                  SRL   (hl)   	; grab 1 bit from bitmap
40A7   38 E7                  JR   c,loop   	; if bit set then plot it
40A9   20 F9                  JR   nz,xloop   	; if more bits remain, keep getting them
40AB   05                     DEC   b   	; otherwise, move on to next row
40AC   2B                     DEC   hl   	; iterate bitmap pointer
40AD   18 DF                  JR   row   	; print the next row
40AF                END:      
