> -- Цитата:
> У меня в универе был один доцент...
Поразительной мудрости человек. Поразительной...

Прошу прощения, затормозил: глянул в свой давний код
## Код:
```
VAR
   d, sample_bit :BYTE;
   LCD_RAM :ARRAY 512 OF BYTE;
   indx, i :INTEGER;
   
   reader.ReadByte(d);
```

и чёт не то брякнул.

Но там же было и вот такое:
## Код:
```
LCD_RAM[(indx + i)] := SHORT(SHORT(ORD(BITS(LCD_RAM[(indx + i)]) + BITS(sample_bit))));
```

BITS преобразует INTEGER в 32-битный SET, над коим допустимы логические операции (т.е. нативно выделить 8 младших битов), ORD обратно в INTEGER (но 0..255) и SHORTы "укоротят" до требуемого.

PS: отставить извинения - writer.WriteInt разве не даст бинарный файл без выделения байтов (и тем более без системонезависимого)