
































































































































setbaud 1,9600,8,n,1
mode_reco
movd    "         ",s11,240
setl    8,1
setl    15,2
movd    "Modul 0 LGNOTR V1.0 by J. Hoerhager AOH start/n",s13,0
out     s13,0,c4

main_start:

call    init_2824
setc    0,30           
setc    1,2             

main:





wait_2824:
sett    20                      
compd   "   ",s1,160       
jz      wait_rx_2824
compd   "   ",s11,100
jnz     wait_rx_2824            
movs    s1,160,s11,100,80
movd    "   ",s1,160       


out     s11,100,c4
movd    "sent_to_c3+cntl_sign/n",s13,0
out     s13,0,c4

sendsig        cntl_sign,c3    

wait_rx_2824:
wait    tf_sign,rx_sign,im_sign
case    tf_sign,test_im
decc    0
jnz     main
movd    "AT*G..../n",s13,200    
movd    "AT*V3/n",s13,100

out     s13,100,c4
wrs     s13,100,20
setc    0,30
decc    1
jnz     main
movd    "         ",s11,240     
setl    15,2            
setc    1,1
jmp     main



test_im:
case    im_sign,test_rx
in      s13,0
wrs     s13,0,40


out     s13,0,c4

ansd    "OK/n"
jmp     wait_rx_2824



test_rx:
case    rx_sign,wait_rx_2824
rds     s13,0
jz      wait_rx_2824

call    convert_2824

compd   "V:",s13,0
jz      test_cr
jmp     wait_rx_2824

test_cr:
compd   "PROC",s1,140
jz      wait_rx_2824
comps   s1,100,s11,100,3       
jnz     test_cr_empty
movs    s1,100,s11,100,80
sendsig        cntl_sign,c3

out     s11,100,c4
movd    "sent_to_c3+cntl_sign/n",s13,0
out     s13,0,c4

jmp     wait_rx_2824

test_cr_empty:
compd   "   ",s11,100               
jnz     save_cr
movs    s1,100,s11,100,80
sendsig        cntl_sign,c3

out     s11,100,c4
movd    "sent_to_c3+cntl_sign/n",s13,0
out     s13,0,c4

jmp     wait_rx_2824

save_cr:
movs    s1,100,s1,160,80
jmp     wait_rx_2824








init_2824:
movd    "AT*G..../n",s13,200    
movd    "ATS0=0E0X9*V3/n",s13,100

out     s13,100,c4
wrs     s13,100,20



movd    "                                                           /n",s1,100
movs    s1,100,s1,160,60
movs    s1,100,s11,100,60

movd    "F",s1,105
movd    "F",s1,165
ret



convert_2824:







compd   "G:",s13,0
jnz     test_othermess
acall   encode16
wrs     s13,200,20



setc    1,2
movd    "2824conn",s11,240
setl    15,0                    
ret
test_othermess:



compd   "V:",s13,0
jz      conv_voice
compd   "D:",s13,0
jz      conv_data
compd   "R:",s13,0
jz      conv_aoc



compd   "0:",s13,0
jz      conv_line1
compd   "1:",s13,0
jz      conv_line2
compd   "C:",s13,0
jz      conv_cursor
compd   "L:",s13,0
jz      conv_lcd
out     s13,0,c4
ret








conv_lcd:
ret





conv_cursor:
ret





conv_line2:
acall   convert_l2



ret





conv_line1:
acall   convert_l1
compd   ":",0xd400,28         
jnz     sk1_line1_conv                  
movs    0xd400,26,s1,240,5
sk1_line1_conv:



ret







conv_aoc:
ret






conv_data:

movd    "                                                           /n",s1,100
movd    "D",s1,105      
jmp     conv_common




conv_voice:

movd    "                                                           /n",s1,100
movd    "V ",s1,105      
conv_common:
setc    10,2
acall   is_digit_c10
jnz     save_p1_mess
movs    s13,2,s1,100,3    

save_a2824_p1:
setc    10,6
acall   is_digit_c10
jnz     save_p1_mess



setc    11,110
call    tr_s13_s14

acall   is_digit_c10
jnz     save_p1_mess



setc    11,130
call    tr_s13_s14

save_p1_mess:
movs    s13,c10,s1,140,20



ret









tr_s13_s14:
setc    12,20

ltr_s13_s14:
movs    s13,c10,s1,c11,1
incc    10
incc    11
decc    12
jz      exit_tr_error
compd   "//",s13,c10
jnz     ltr_s13_s14
incc    10
ret

exit_tr_error:
decc    12
ret

end

