
1.4.1 Address
Address range is from address 0 to address 255. Address 0 is special case or so called “broadcast” address
and address 1 is default host address. Recommended address values of different devices are shown in Table 1
below.
Coin validator, coin selector, coinmech...
Replacement for el.mec. counters
Table 1 Standard address for different types of devices
Address for Alberici Hopper is factory set as 3; the user can change the default address by using the MDCES
commands Address change or Address random or by setting Hopper dip-switches. For details see cctalk 42-
2.pdf, Address poll.
1.4.2 Number of data byte
Number of data byte in each transfer could be from 0 to 252.
Value 0 means that there are no data bytes in the message, and total length of message packet will be 5 bytes.
Although theoretically it will be possible to send 255 bytes of data because of some limitations in small micro
controllers the number is limited to 252 (252 bytes of data, source address, header and checksum: total of 255
bytes).
1.4.3 Command headers (Instructions)
Total amount of cctalk command header is 255 with possibility to add sub-headers using headers 100, 101,
102, 103.
Header 0 stands for ACK (acknowledge) replay of device to host.
Header 5 stands for NAK (No acknowledge) replay of device to host.
Header 6 is BUSY replay of device to host.
In all three cases no data bytes are transferred. Use of ACK and NAK headers are explained later on, for each
specific message transfer.
Commands are divided in to several groups according to application specifics:
- Basic general commands
- Additional general commands
- Commands for Coin acceptors
- Commands for Bill validators
- Commands for Payout mechs
- MDCES commands
Details for use of all instruction are explained in chapter 2.
1.4.4 Data
There is no restrictions data formats use. Data could be BCD (Binary Coded Decimal)numbers, Hex numbers
or ASCII strings. Interpretation as well as format is specific to each header use, and will be explained in
separate chapter.
1.4.5 Checksum
Message integrity during transfer is checked by use of simple zero checksum calculation.
Simple checksum is made by 8 bit addition (modulus 256) of all the bytes in the message. If message is
received and the addition of all bytes are non-zero then an error has occurred (See Error handling).
For noisy environment or higher security application it is possible to use more complex, 16 bit CRC CCITT
checksum based on a polynomial of:
x16 + x12 + x5 + 1 and initial value of CRC register 0x0000.
Hopper are using simple checksum, but they could be set to operate with CRC-16 checksum on customer
demand.