A.3. Заголовок

На верх  Назад  Вперёд

Заголовок состоит из записи (tppuheader), содержащей несколько частей информации для перекомпиляции. Это показано в таблице А.1. Заголовок всегда записывается в формате little-endian.

Таблица А.1. Заголовок PPU.

Смещение

Размер (в байтах)

Описание

00h

3

Надпись «PPU» в коде ASCII

03h

3

Версия формата PPU-файла (например, «021» в ASCII)

06h

2

Версия компилятора, используемого для компиляции этого модуля (старшая, младшая)

08h

2

Код модуля целевого процессора

0Ah

2

Код модуля целевой операционной системы

0Ch

4

Флаги для PPU-файла

10h

4

Размер PPU-файла (без заголовка)

14h

4

CRC-32 для всего PPU-файла

18h

4

CRC-32 для части PPU-файла (в основном, общедоступных данных)

1Ch

8

Зарезервировано

Заголовок уже прочитан командой ppufile.openfile. Вы можете получить доступ ко всем полям, используя ppufile.header, которая содержит текущую запись заголовка.

Таблица А.2. Значения PPU CPU Field.

Значение

Описание

0

Неизвестный

1

Intel 80x86 или совместимый

2

Motorola 680x0 или совместимый

3

Alpha AXP или совместимый

4

PowerPC или совместимый

Некоторые возможные флаги в заголовке описаны в таблице А.3. Не все флаги описаны. Для получения дополнительной информации читайте исходный код ppu.pas.

Таблица А.3. Значения PPU Header Flag.

Имя бита символьного флага

Описание

uf_init

Модуль имеет раздел инициализации (стиль Delphi или TP)

uf_finalize

Модуль имеет раздел завершения

uf_big_endian

Все данные записаны частями в формате big-endian

uf_has_browser

Модуль содержит информацию символьного обозревателя

uf_smart_linked

Код модуля создан с использованием «умной» компоновки

uf_static_linked

Код скомпонован статически

uf_has_resources

Модуль имеет раздел ресурсов