Из-за этого недостатка трудно выявить некоторые возникающие проблемы. Так как невозможно понять что привело к ошибке.
Для проверки CRC в цеховых версиях (ROM2) сгенерированы новые файлы:
- 2000 = 69FC.ROM (но здесь надо проверить чтобы ROM4 был 23F6 поскольку в оригинальном нет записанных CRC от ROM12 и ROM13)
- 2005 = 9401.ROM
- 2050 = FC1A.ROM
- 3001_85 = 85AA.ROM
- 3015 = 975b.ROM
Про подсчёт CRC в системе AGL:
- При проверке контрольных сумм AGL использует простое сложение. Для этого выделяется 2 байта. В HxD это алгоритм Checksum-16.
- Однако когда нам надо проверить контрольную сумму, мы используем программатор, который использует другой алгоритм. В HxD это CRC-16/CCITT.
Где хранится CRC в системе AGL:
- Eprom-0 CRC => ROM-2, адрес: 0x10
- Eprom-1 CRC => ROM-2, адрес: 0x12
- Eprom-2 CRC => ROM-2, адрес: 0x00
- Eprom-3 CRC => ROM-2, адрес: 0x02
- Eprom-4 CRC => ROM-2, адрес: 0x04
- Eprom-5 CRC => ROM-2, адрес: 0x06
- Eprom-6 CRC => ROM-2, адрес: 0x08
- Eprom-7 CRC => ROM-2, адрес: 0x0A
- Eprom-8 CRC => ROM-2, адрес: 0x0C
- Eprom-9 CRC => ROM-2, адрес: 0x0E
- Eprom-10 CRC => ROM-2(3), адрес: 0x3FC
- Eprom-11 CRC => ROM-2(3), адрес: 0x3FE
- Eprom-12 CRC => ROM-4(5), адрес: 0x3FC
- Eprom-13 CRC => ROM-4(5), адрес: 0x3FE
Как обновлять CRC в системе AGL:
- Вначале посчитать ROM 10..13, затем занести эти данные в ROM 2(3) и 4(5).
- Посчитать ROM 0,1,3,4,5,6,7,8,9 и занести эти данные в ROM 2.
- Считаем ROM 2, начиная с адреса 0x02, и сохраняем полученную CRC в ROM-2 по адресу 0x0.