Specifications

Chapter 1 – Universal Socket Connectivity
Multi-Tech Systems, Inc. Universal Socket Hardware Guide for Developers (S000342C) 34
Other Supported Boot Code Commands
2.1 ATI0 - returns 000 or 247 for ISDN
2.2 ATI1 - returns boot code version number MM.mmn where
MM = unique code for each different platform that has boot code
mm = version number of boot code
n = version letter of the boot code
Examples: 2.05e, 2.12d, 35.15
ATI4- Boot code date and time.
Other Programming Concerns
1. The values programmed into Addresses 0000h, 0001h and 0002h should always be forced to
C3h 00 01 (i.e., JP 100h).
This is because the boot code starts at address 100h, while all normal modem code starts at 200h. By
allowing 0000h to be programmed to a jump value other than 0100h, the boot code would be bypassed
and no further upgrades could occur.
2. Addresses 0100h-01FFh through 70000h-7FFFFh should not be allowed to be programmed under
normal circumstances, as this is the main body of the boot up code.
3. The packets sent to the modem must be presorted by address and aligned on 128 byte boundaries (i.e.,
each packet must start on an address that is a multiple of 128).
4. The packets should also be a minimum of 128 bytes with the non-programmed bytes set to the hex
value of FF.
5. The packets sent to the modem must not span a 4K boundary (i.e., start the packet before it and go
over the boundary in the middle of the packet).
6. The 10-millisecond delay between M’s at the beginning of the handshake is so that the modem can
sync up to the start bit. If the M’s are sent one right after another, a data bit might be mistaken as a start
bit.
7. Multi-Tech firmware files are in Intel Hex Format and must be read in and formatted into 128-4096 byte
blocks before being sent to the modem.
Information about the Intel Hex Format
An Intel Format Hex File is a text file consisting of “records”, one per line, that start with a “:” character and
include only digits 0-9 and letters A-F. There are three different record types: Extended Address Records, Data
Records, and End of File Records.
Data records contain the actual data that is to be programmed into a device. The address contained in the data
record needs to be combined with an extended address (by adding the extended address shifted four bits left to
the data record address) to determine the actual programming address for the data. If no extended address
record is before a given data record in the file, then the extended address value is assumed to be zero.
Data Record
Char Pos Field Type Value Description
1 Record Start “:”
2-3 Data Byte Count “NN”
Maximum value is FF (which is 255 data bytes).
Typical is 20h which causes the hex record to fit in 80
columns.
4-7 Address “XXXX” Lower 16 bits of 20 bit address, most significant byte
first. This must be added to Extended Address left
shifted four bits.
8-9 Record Type “00” Data Record
10+N Data Bytes “YY..YY” The data bytes in hex. Each byte is two characters.
NN+1,2 Checksum “ZZ” Zero minus the two’s complement addition of all data
hex values.
NN+3,4 End of Line “\r\n” Carriage Return followed by a Line Feed
Example Data Record in Intel Format
:2000A0005BB66DDBB66CD8B060C183060D1B366DDBB66DDBB76FDFBF7EFDFBF6EDDBB66DD4