
 ;Routine to draw converted BMP images. BMPDATA1 table contains pixel data suitable for KS0108 driver.
                  
BMP_IMAG: mov  dptr, #BMPDATA1-1
          clr  Select
          mov  r3,  #0b8h	; First page
NexPage:  mov  a,  r3		; pre-load page counter
          call Write_Instr
          mov  a,  #040h	; First column..
          call Write_Instr
          mov  r4, #0		; Sub- column counter
          mov  r6, #0		; Total column counter
         			
PageLup:  inc  dptr
          mov  a, #00H
          movc a, @a+dptr     ; acc with table data
          call Write_Data
          call Sel_CS2        ; check if left half is over..
          inc  r6
          cjne r6,  #128, PageLup ; end of page check
          clr  Select
          inc  r3
          cjne r3,  #0c0h, NexPage ; one page over
ImgOver:  ret                      ; all 8 pages over
         			
Sel_CS2:  inc  r4			; To switch to CS2
    	    cjne r4, #40h, NoCS2	
    	    setb Select	      ; change to right half.
    	    mov  a, r3		
    	    call  Write_Instr
    	    mov   a, #040h
    	    call  Write_Instr	
NoCS2:    ret	
