> IO : 6 Access absolute memory, checking for I/O devices (6 ------------------------------------------------ 2io_reset: <: F#ݤio_rd(A%): ports%=0:=mem%?A% P$ C%:C%=io_type: C%<0:=mem%?A% Z%(A%&FFFC)<>port%(C%,0):=mem%?A% d'A%=A%15:=("FNio_rd"+port%(C%,1)) n: x*io_wr(A%,B%): ports%=0:mem%?A%=B%: ( C%:C%=io_type: C%<0:mem%?A%=B%: )(A%&FFFC)<>port%(C%,0):mem%?A%=B%: +A%=A%15:A%=("FNio_wr"+port%(C%,1)): : ݤio_type:C%=A%&FFFC # port%(0,0): C%=port%(0,0):=0 # port%(1,0): C%=port%(1,0):=1  IF C%=port%(2,0):=2  IF C%=port%(3,0):=2 =-1 : 6850 J base+0 | b7: Enable receive ints | b7: Interupt Request | J | b6: RTS low/high | b6: Receive Parity Error | J | b5: Enable transmit ints | b5: Receive Data Overrun | J | b4: 7bit/8bit data | b4: Framing Error | "J | b3: 2/1 stop bits | b3: Clear To Send not present| ,J | b2: even/odd parity | b2: DCD not present | 6J | b1-0: Clock divide 1/16/64 | b1: Transmit Register Empty | @J | or reset | b0: Receive Register Full | JJ base+1 | Write Data | Read Data | T ݤio_rd0 ^DA%=1:= : 6850 RxData h8A%=0: -256="W":=2+(((-1)<>&FF)1) : 6850 RxRDY rA%=0:=2+(((-1)<>&00)1) |=&7F  ݤio_wr0 A%=1: B%:=0: 6580 TxData !A%=0:=0 : 6580 TxCtrl =0 :  6551  base+0 | Data | Data , base+1 | Reset | b7: Interupt Request % | | b6: DSR level % | | b5: DCD level . | | b4: Transmit Reg Empty 1 | | b3: Receive Register Full 0 | | b2: Receive data overrun ) | | b1: Framing Error 0 | | b0: Receive Parity error  base+2 | b7-5: parity & | b4: echo 0 | b3-2: TxControl :" | b1: TxIRQ disable D! | b0: RxIRQ enable N base+3 | b7: stop bits X | b6-5: word length b | b4: clock l | b3-b0: baud rate v ݤio_rd1 @A%=0:= : 6551 RxData 4A%=1: -256="W":=((-1)<>&FF)8 : 6551 RxRDY A%=1:=((-1)<>&00)8 =&7F  ݤio_wr1 A%=0: B%:=0: 6551 TxData  A%=1:=0 : 6551 TxRDY =0