Hayes Command Set / Register Formats


	+++    standard escape sequence (see S2 below)
	Comma  standard pause character (see S8 below)
	AT     standard attention sequence

	ATA    force immediate answer
	ATC0   transmitter off
	ATC1   transmitter on

	ATD    dial (ATD number)
	ATDP   pulse dial (ATDP number)
	ATDT   tone dial (ATDT number)

	ATE0   disable local character echo
	ATE1   enable local character echo
	ATF0   Half Duplex (modem echoes characters)
	ATF1   Full Duplex (modem does not echo characters)

	ATH0   force line on hook
	ATH1   force line off hook
	ATH2   force line special off hook (used for HAM radio)

	ATI0   request product code, formatted PPR, PP=prod., R=rev.
	ATI1   request ROM check sum

	ATL1   speaker volume low  (modem specific)
	ATL2   speaker volume medium  (modem specific)
	ATL3   speaker volume high  (modem specific)
	ATM0   speaker always off
	ATM1   speaker on except while carrier present
	ATM2   speaker always on
	ATM3   speaker on except while dialing and carrier present

	ATO    force modem into on-line state
	ATP    sets modem to default pulse dial

	ATQ0   modem returns result codes
	ATQ1   modem does not return result codes

	ATR    sets modem to answer mode after dialing out
	ATSn   where Sn is S register number 'n' (see registers below)
	ATT    sets modem to default tone dial

	ATV0   send numeric codes
	ATV1   send word result codes

	ATX0   basic result code set "CONNECT", no dial tone detect
	ATX1   extended result code set "CONNECT 1200", no dialtone detect
	ATX2   wait for dial tone, extended result codes
	ATX3   detect busy signal, extended result codes
	ATX4   wait for dial tone, detect busy, extended result codes

	ATZ    reset to power up condition

Hayes 2400 Compatible Modem Commands


	ATB0	CCITT V.22 at 1200 bps
	ATB1	BELL 212A at 1200 bps

	AT&C	DCD always on
	AT&C1	DCD on while carrier present

	AT&D	DTR ignored
	AT&D1	DTR fail disconnect enabled
	AT&D2	DTR fail disconnect enabled (auto answer off)
	AT&D3	DTR fail disconnect enabled (reset modem)

	AT&F	restore to factory configuration

	AT&G	no guard tone
	AT&G1	550 Hz guard tone
	AT&G2	1800 Hz guard tone

	AT&J	RJ11/RJ41S/RJ45 jack
	AT&J2	RJ12/RJ13 jack

	AT&L	regular phone line
	AT&L1	leased line

	AT&M	async operation
	AT&M1	async/sync operation
	AT&M2	sync auto dial
	AT&M3	sync manual dial

	AT&P	39/61 pulse make/break ratio
	AT&P1	33/67 pulse make/break ratio

	AT&T4	grant RDL test request
	AT&T5	deny RDL test request

	AT&W	write current registers to non-volatile memory

	AT&X	sync clock internal

	AT&X1	sync clock external
	AT&X2	sync clock slaved

	AT&Z	store dial command line

Hayes Compatible Modem Registers


	Not all modems support all of these registers and some modems have
	registers other than those listed here.  Also note, some are read only.

	to set a register use:		AT Sr=##  (cr)
	to read the register:		AT Sr?	 (cr)

	Where "r" is the register and (cr) is a carriage return


	The following represent conventions used in the tables below:

	() indicates defaults for Smartmodem 1200
	** indicates possible inconsistencies across modems


	Reg  Values	   Register function

	S0   0-255    ring to answer on (0=don't answer)
	S1   0-255    ring count (clear after 8 sec) (read only)
	S2   0-255    escape char, normally "+", 128-255 disable escape
	S3   0-127    end of line character (0x0D/CR)
	S4   0-127    line feed character (0x0A/LF)
	S5   0-32,127 backspace character (0x08/BS)
	S6   2-255    pause before dialing in seconds (2)
	S7   1-255    wait for carrier in seconds (30)
	S8   0-255    pause for comma in dial string in seconds (2)
	S9   1-255    carrier detect response time in 1/10 second (6)
	S10  1-255    carrier loss delay in 1/10 second, 255=ignore CD (7)
	S11 50-255    touch tone dial speed, in milliseconds (70)
	S12 20-255    escape guard time, in 1/50 second,0=no delay (50)

	|7|6|5|4|3|2|1|0|  S13	 power up async data format
	 | | | | | | | `---- unused
	 | | | | | | `----- result code, 0=basic, 1=extended
	 | | | | | `------ parity, 0=disabled, 1=enabled
	 | | | | `------- parity, 0=odd ,1=even
	 | | | `-------- data bits, 0=7 bits, 1=8 bits
	 | | `--------- undefined
	 | `---------- buffer ovfw flag, 0=disabled,1=enabled
	 `----------- 8th bit, 0=space,1=mark (8 bit only)

	|7|6|5|4|3|2|1|0|  S14	 option register status data format
	 | | | | | | | `---- unused **
	 | | | | | | `----- local echo, 0=disabled, 1=enabled
	 | | | | | `------ result codes, 0=enabled,1=disabled
	 | | | | `------- result codes, 0=numeric,1=word
	 | | | `-------- command recognition, 0=enable,1=disable
	 | | `--------- dial method, 0=touch tone, 1=pulse
	 | `---------- unused **
	 `----------- 0=answer, 1=originate **

	S15	      flag register **

	|7|6|5|4|3|2|1|0|  S16	 test status
	 | | | | | | | `---- analog loop, 0=inactive, 1=active
	 | | | | | | `----- unused
	 | | | | | `------ digital loop, 0=inactive, 1=active
	 | | | | `------- remote req digital loop,0=inact.,1=active
	 | | | `-------- remote digital loop,0=inact.,1=active
	 | | `--------- self test RDL, 0=inactive, 1=active
	 | `---------- self test analog loop,0=inactive,1=active
	 `----------- unused

	S18 0-255     remote test timer in seconds

	|7|6|5|4|3|2|1|0|  S21	 option status
	 | | | | | | | `---- jack type, 0=RJ11,RJ41,RJ45,1=RJ12,RJ13
	 | | | | | | `----- unused
	 | | | | | `------ CTS state,  0=follows RTS, 1=forced on
	 | | | `--------- DTR modem behavior (see below)
	 | | `---------- DCD, 0=forced on, 1=follows carrier
	 | `----------- DSR, 0=forced on, 1=behaves normally
	 `------------ long space disconnect,0=disabled,1=enabled

	Bits
	 43  DTR Modem Behavior Bits
	 00  ignore DTR
	 01  assume command state when DTR drops
	 10  assume command state and disable auto-answer when DTR drops
	 11  reset when DTR drops


	|7|6|5|4|3|2|1|0|  S22	 option status
	 | | | | | | `------ speaker volume, 01=low,10=med,11=high
	 | | | | `--------- speaker setting (see below)
	 | `-------------- X command in effect
	 `--------------- make/break ratio, 0=39/61, 1=33/67

	Bits
	 32  S22 Speaker Setting
	 00  speaker always off
	 01  speaker on until carrier detected
	 10  speaker always on
	 11  speaker off during dialing, then on until CD

	Bits
	654  S22 X Command in Effect
	100  X1 command in effect
	101  X2 command in effect
	110  X3 command in effect
	111  X4 command in effect


	|7|6|5|4|3|2|1|0|  S23	 option status
	 | | | | | | | `---- remote dig.loop request,0=denied,1=ok
	 | | | | | `------- baud rate (see table)
	 | | | | `-------- unused
	 | | `----------- parity (see table)
	 `-------------- guard tone setting

	Bits
	 21  S23 Baud Rate Table
	 00  0-300 bps
	 01  600 bps
	 10  1200 bps
	 11  2400 bps

	Bits
	 54  S23 Parity Setting
	 00  even parity
	 01  parity bit always 0
	 10  odd parity
	 11  parity bit always 1

	Bits
	 76  S23 Guard Tone Setting
	 00  no guard tones
	 01  550 hz guard tone
	 10  1800 hz guard tone

	S25 0-255     DTR detect delay in seconds (5)
	S26 0-255     RTS to CTS delay in milliseconds (1)

	|7|6|5|4|3|2|1|0|  S27	 option status
	 | | | | | | `------ synch/async mode (see table)
	 | | | | | `------- phone line, 0= public, 1=leased
	 | | | | `-------- unused
	 | | `----------- clock type (see table)
	 | `------------ protocol, 0=CCITT V.22, 1=Bell 212A
	 `------------- unused

	Bits
	 10  S27 Sync/Async mode
	 00  asynchronous mode
	 01  async/sync mode
	 10  sync auto-dial
	 11  sync manual dial

	Bits
	 45  S27 Clock Type
	 00  internal clock used
	 01  external clock used
	 10  slaved clock used