В Turbo Pascal 3.0 для Z80 действительно нет встроенной возможности объявить массив-константу без явного указания размера с автоматическим подсчетом компилятором. Это ограничение старых версий.
Обходной путь: использование внешней утилиты (как вы предложили).
Можно написать простую программу-конвертер, которая преобразует бинарный файл в код Паскаля:
Код:
{ CONVERT.PAS - конвертер bin -> pascal const }
program ConvertBin;
var
f: file of byte;
b: byte;
i, count: integer;
begin
Assign(f, 'sound.bin');
Reset(f);
count := FileSize(f);
WriteLn('const');
Write(' fx1: array[1..', count, '] of byte = (');
for i := 1 to count do
begin
Read(f, b);
Write('$', Hex(b));
if i < count then Write(',');
if i mod 16 = 0 then WriteLn;
end;
WriteLn(');');
Close(f);
end.