Эх, долго себя сдерживал! Но эта тема стала просто последней каплей.  Не могу больше молчать.

Портирование Блэкбокс на любую из платформ должно начинаться, ИМХО, с серьёзной переделки самого Блэкбокс. Потому что в том виде как сейчас, любой (даже самый прикладной!) модуль можетбесцеремонноимпортировать и модули подсистемы Host, и интерфейсные модули связи со внешними библиотеками.

В идеале подсистема Host должна представлять собой платформозависимые модули реализации некоторых абстактных интерфейсов, и только эта подсистема имеет право импортировать интерфейсные модули связи со внешними библиотеками. А саму подсистему Host не должен импортировать ни один другой модуль из вне этой подсистемы.

После того, как эти правила будут строго соблюдены, портирование на любую платформу станет делом техники, и будет заключаться лишь в том, чтобы переписать только две подсистемы: Host и Win (Lin, Freebsd, Solar, ...)

PS: Перед каждым словом моё ИМХО

PS2: А ещё перед портированием очень полезно будет развязать "гордиев узел" под названием Kernel