USRobotics Courier V.34: Undocumented Features
----------------------------------------------

AT Commands
-----------

^BE^GHmX^I^H    (where ^ indicates a control character)
                enter flash rom programming mode

                h = hex digit, n = decimal digit, [] = optional

G=[hhhh:]hhhh   display a byte dump of the modem memory
GR[hhhh:]hhhh   display a word dump of the modem memory
GIhhhh          read value from I/O port
GOhhhh,hh       write value to I/O port
GBhhhh          dump 256 sequential I/O ports
GN              (unknown, set flag)
GXhhhh          (unknown)
GYhhhh          (unknown)

RS99?           display copyright notice
USR             display copyright notice and credits

Yn
      n =  5:   self test
      n =  6:   (unknown, gives OK)
      n =  7:   while online: signal quality screen
      n =  8:   (unknown, displays lots of cryptic data)
      n =  9:   (unknown, displays lots of cryptic data)
      n = 10:   (unknown, not implemented?)
      n = 11:   while online: display frequency level 
      n = 12:   while online: display recv / xmit level (?)
      n = 13:   (unknown)
      n = 14:   (unknown; displays six bytes, final one is country code)
      n = 15:   display dipswitch settings
      n = 55:   (unknown)

&J              (unknown; works only in a specific, unknown mode of
                operation)

~S?             display the 16-place serial number of the modem

~S-ddmmyy-nnnnnnccnnnnnnnn
                save a new serial number to NVRAM
                ddmmyy  supervisor date
                  n       a digit
                  c       any character

S registers
-----------

Saved to NVRAM:

S31             (unknown)
S35             (unknown)
S36             (unknown)
S37             (unknown)
S39             (unknown)

S40             (unknown)
        .1      Germany: disable ATA
        .2      Germany:   blocking

S57             (unknown)
        .0      Germany: disable blacklisting

Volatile:

S17             (unknown, only written to)
S20             (unknown)
S30             (unknown)
S50             (unknown, only written to)


General AT Parser Idiosyncracies
--------------------------------

- If not between Sn and = or ?, .n will be ignored.


Country Codes:
--------------

        0 = USA/Canada          10 = New Zealand
        1 = Japan               11 = Czechoslovakia
        2 = Finland             12 = Belgium
        3 = Sweden              13 = Denmark
        4 = UK                  14 = Australia
        5 = Norway              15 = France
        6 = Switzerland         16 = Germany
        7 = Netherlands         17 = International
        8 = South Africa        18 = Austria
        9 = Italy               19 = Ireland

The country code, as all the Y14 bytes, is saved to NVRAM. There is a
Cx=n command to modify those bytes, unfortunately this command is
disabled.
