To use this file copy and paste this:
// #URL-lib "http://pin1.org/forthlib/flb/z-Archive/IASI2-a.flb" into BV Terminal 3
or here to download.
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// IASI2 interface
// This library is use for the new IASI version 2 devices
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// HISTORY:
//
// CONSTANTS:
&E0010000 constant U1DLL
&E0010004 constant U1DLM
&E001000C constant U1LCR
62 constant I-ACK // '>'
Full Contents of File
&E0010000  constant  U1DLL
&E0010004  constant  U1DLM
&E001000C  constant  U1LCR
62  constant  I-ACK 
: baud1 
        rate  16  *  10 
        PCLK  swap 
        5  +  10 
        256  u
        &83  U1LCR  ! 
        U1DLM  !         
        U1DLL  !         
        &3  U1LCR  !   
;       
: baud1@
        &83  U1LCR  ! 
        U1DLM  @         
        256  *
        U1DLL  @         
        +
        &3  U1LCR  !   
       
        16  *  pclk  swap  u
;       
: cr113  emit1  ;             
: stype1
        addr  255  +         
        addr                     
        do
                i  c@  0= 
                if 
                        leave
                else
                        i  c@  emit1         
                then
        next       
; 
: iu.<#  #s  #>  stype1  ;               
: i-in
        0 
        50
        for
                key1?
                if
                        drop
                        key1
                        leave
                then
        1  ms       
        next                                 
;
: i-buff.
        begin
                i-in 
                dup 
                if 
                        emit 
                        -1           
                then
        0=  until
;
: i-cbuff
        begin
                key1?  if  key1  drop  then
                key1?
        0=  until
;
: i-autobaud
        4  for 
                cr1  50  ms 
        next
        100  ms
        4  emit1  cr1     
        i-cbuff       
;
: i-get
            i-in   
            i-in  I-ACK  =
            if  -1  else  drop  0  then
;
: i-ndev
        1  emit1  cr1   
        780  ms           
        0
        begin
            i-get  if  drop  1+  1  else  0  then
        0=  until
;
: i-connect
        i-autobaud
        i-ndev
;
                   
: i-device
        1  emit1  cr1     
        begin
            i-get
            if  address  = 
                if  -1  escape  then
            else
                0  escape  then
        again
;
: i-ack?
        i-in  I-ACK  =
;       
: i-wait  cr1  i-ack?  0=  abort"  No  ack  from  device"  ;
: i-resetall
        3  emit1  cr1     
        i-connect               
;       
: i-setaddress
        i-cbuff
        old  emit1  [char]  U  emit1  cr1   
       
        old  emit1  [char]  A  emit1  new  emit1  cr1
        i-ack?
;       
: i-commandB
        i-cbuff
        adr  emit1  [char]  B  emit1 
        eeadr  iu.   
        text  stype1  cr1
        i-ack?
;
: i-commandC
        i-cbuff
        emit1  [char]  C  emit1  cr1
        i-ack?
;
 
: i-commandD
        emit1  [char]  D  emit1 
        iu.  cr1
        begin
            i-ack?
        -1  =  until
;                           
: i-commandE
        i-cbuff
        emit1  [char]  E  emit1  cr1
        i-ack?
;
: i-commandF
        i-cbuff
        emit1  [char]  F  emit1
        [char]  Y  emit1  [char]  e  emit1  [char]  S  emit1  cr1 
        i-ack?
;
: i-commandG
        adr  emit1  [char]  G  emit1
        start  iu.  bytes  iu.
;
       
: (i-ipb)     
        i-cbuff         
        13  word         
        stype1 
        cr1                 
;
: i-send
       
        i-buff.         
        cr
;
: i-report
        i-connect
        cr  ."  Number  of  devices  connected  "  u.
        1  emit1  cr1   
        780  ms           
        cr  ."  device  addresses  "
        begin
            i-get
            if  dup  emit  space  [char]  ,  "  -1  else  0  then
        0=  until
;