From BeebWiki
Jump to: navigation, search

OSBYTE &9C (156) - Read/write 6850 ACIA registers. If an 6850 ACIA is not used, the serial drivers translate the parameters appropriately.

   Y=255 to read
   X=b0..1 0=divide clock by 1, use *FX7/*FX8 baud rate times 64
           1=divide clock by 16, use *FX7/*FX8 baud rate times 4
           2=divide clock by 64, use *FX7/*FX8 baud rate
           3=reset transmit, receive, control registers
     b2..4 0=7 bit, even parity, 2 stop bits (7E2)
           1=7 bit, odd parity, 2 stop bits (7O2)
           2=7 bit, even parity, 1 stop bits (7E1)
           3=7 bit, odd parity, 1 stop bit (7O1)
           4=8 bit, no parity, 2 stop bits (8N2)
           5=8 bit, no parity, 1 stop bits (8N1) (usual default)
           6=8 bit, even parity, 1 stop bits (8E1)
           7=8 bit, odd parity, 1 stop bit (8O1)
     b5..6 0=RTS low, transmit interrupt disabled
           1=RTS low, transmit interrupt enabled
           2=RTS high, transmit interrupt disabled
           3=RTS low, transmit interrupt disabled, transmit a break
     b7    0=receive interrupt disabled
           1=receive interrupt enabled
  Y=0 to write
   X=as above
   (RISC OS 1.00)
   X=b0..1 0=no effect
           1=no effect
           2=no effect
   (Electron OS only)
   Passed as an unknown osbyte to the paged ROMs  
  For compatability with non-6850 systems, programs should use:
  Y=0,   X=3   to reset the ACIA
  Y=159, X=0   to stop transmitting a serial break
  Y=159, X=96  to start transmitting a serial break
  Y=227, X=n*4 to set word format

See Also

Jgharston 22:12, 26 May 2009 (UTC)