;
;
;          "prokos.txt"    
;     
;
;
;-----------------------------------------------------
 ;    =     frame1
 ppk:
   mov a,#frame1
   add a,refram
   mov r7,a
   mov a,kursadr
   clr c
   subb a,r7 ;        
  ret
;----------------------------------------------------
 ;    =   DDRAM  frame1
 kpp:
   add a,#frame1
   add a,refram
   mov kursadr,a
  ret
;----------------------------------------------------
;      frame1 (  0)
 pks1:
    mov a,#frame1
    add a,refram
    mov kursadr,a
   ret
;----------------------------------------------------
;  prefekt    000-0x-F0
;      16-!
 lddptr1:
    sdptr 1 ;  dptr1
      mov r7,a
      mov a,prefekt ;        masktbl0
                  ;     prefekt
      add a,#low(masktbl0)
      mov DP1L,a
      mov a,#high(masktbl0)
      addc a,#0
      mov DP1H,a
      mov a,r7
      movc a,@a+dptr
      mov r7,a ;    
            ;    r7   
    sdptr 0 ;  dptr0
   ret
 ;----------------------------------------------------
 gw_left:
    acall ppk
    jnb warom,stp_left ;  warom=0    
     jnz ltp10 ;   ,  0 
          ;     
          ;    0,   =   
          ;   (  left_bp+1:left_bp)
        clr a
       mov DPL,left_bp
      mov DPH,left_bp+1 ;    left_bp+1:left_bp  dptr, =0
     jmp @a+dptr ;   jmp @a+dptr ( = jmp left_bp+1:left_bp )
  stp_left:
      jnz ltp10 ;    0,     
      mov a,#16 ;     
    ltp10:
      dec a
  shifts:
      acall kpp ;      kursadr
       jnb warom,ltp20
        setb ACC.7
        lcall wrslus ;      
         lcall wait_wrt ; 
        ljmp step3 ;     (tp_snsel4)
    ltp20:
       printb frame1 ; printb  
                  ;     
     ljmp step3 ;     (tp_snsel4)
 ;----------------------------------------------------
 gw_rait:
     acall ppk
     jnb warom,stp_rait ;  warom=0    
      jnz stp_rait ;   ,  0 
          ;    0,   =   
          ;   (  right_bp+1:right_bp)
        clr a
       mov DPL,right_bp
      mov DPH,right_bp+1 ;    right_bp+1:right_bp  dptr, =0
     jmp @a+dptr ;   jmp @a+dptr ( = jmp right_bp+1:right_bp )
  stp_rait:
      cjne a,#15,ltp11
      mov a,#0xFF
   ltp11:
      inc a
     sjmp shifts ;     
 ;----------------------------------------------------
 gw_plus:
      acall ppk
       mov r1,a ;     r1
     jnz gw_stp10 ;    0 
      ;    0,   =    
       ;     (  target+1:target)
        clr a
       mov DPL,target
      mov DPH,target+1 ;    target+1:target  dptr, =0
     jmp @a+dptr ;   jmp @a+dptr ( = jmp target+1:target )
  gw_stp10:
      acall lddptr1
       jnz gw_stp11
        ljmp step3 ;     (mask=0) (tp_snsel4)
   gw_stp11:
         jb ACC.7,apcom
       mov a,#bufos_0
       add a,r1 ;    
       mov r1,a
       mov a,@r1 ;   
       inc a ; +1
       cjne a,AR7,gw_stp12 ;       
                    ;   gw_stp12
        mov a,#0x30 ;    0
    gw_stp12:
        mov @r1,a ;    
      sjmp ltp20 ;   ltp20
 ;----------------------------------------------------
 gw_maines:
     acall ppk
      mov r1,a
     jnz gw_stp0 ;    0 
      ;    0,   =    
       ;    (  retter+1:retter)
        clr a
       mov DPL,retter
      mov DPH,retter+1 ;    retter+1:retter  dptr, =0
     jmp @a+dptr ;   jmp @a+dptr ( = jmp retter+1:retter )
  gw_stp0:
      acall lddptr1
       jnz gw_stp01
        ljmp step3 ;     (mask=0) (tp_snsel4)
    gw_stp01:
          jb ACC.7,downcom
        mov a,#bufos_0
        add a,r1 ;    
        mov r1,a
        mov a,@r1 ;   
         dec a ; -1
        cjne a,#0x2F,gw_stp02 ;       
                    ; (0x2F)   gw_stp02
          dec r7 ;    -1
          mov a,r7 ;   
     gw_stp02:
         sjmp gw_stp12 ;   gw_stp12
;----------------------------------------------------------------
;   -
;   0 =  "" = enter   ,  ""  bksp
;       , 
; masktbl0 + (prefekt+  kpp) /     frame/
;    :
; 0 =   
; 0x3N =     /
; 0x80 =   (apcom/downcom)
;----------------------------------------------------------------
 downcom:
    setb downf ;      ...
;----------------------------------------------------------------
 apcom:
    acall ppk ;     
    rl a
    setb ACC.7 ;     
    jmp @a+dptr ;        
;----------------------------------------------------------------