Прошло достаточно много лет с тех пор, как разные ветки проекта безнадежно разъехались. Я наконец-таки решился попытаться свести их во что-то одно. Процесс был не самый легкий, в виде карты метро это выглядит примерно так:


На самом деле почти все тут -- промежуточные результаты мержа. Отправные точки были master (sram), sdram и wxeda-cycloneiv. Все старые ветки остались как есть.

Текущий рабочий вариант называется projects:
https://github.com/svofski/vector06cc/tree/projects

Чтобы не добавлять новых директив условной компиляции, по крайней мере не в процессе мержа, я немного изменил структуру проекта. Теперь проектные файлы лежат в projects/$(TARGET)/vector06cc.*. Модули, которые либо специфичные для разных конфигураций, либо разъехались и не смержились малой кровью, теперь лежат в src/$(TARGET)/староеимя. Например, src/de1sram/soundcodec.v и src/DE1/soundcodec.v -- разные файлы. Проектные файлы для каждой конфигурации, соответственно, включают в себя разные наборы исходников.

Что-то из этого так и останется насовсем (то, что действительно требует разной реализации на разных платах), что-то, типа стерео звука/поддержки RSOUND итп -- просто разъехалось из-за разных историй, где-то может быть проблема с совместимостью клоков итд.. но в принципе его можно склеить обратно.

Новая структура проекта также поддерживает построение из командной строки, с прицелом на автоматические билды. Чтобы построить конфигурацию должно быть достаточно в каталоге build запустить make TARGET=<board>. <board> может быть пока de1, de1sram, wxeda.

Кроме того, cc65 теперь включен подмодулем (бранч vector06cc уже включает в себя таргет "vector") и строится автоматом из того же make. Отдельно компилятор и дисковод можно построить, запустив make в каталоге firmware.

Построение всего я отлаживал только под Линуксом. Пока сил хватило только все собрать и заставить компилиться во всех вариантах. Даже не проверял еще работоспособность. Предполагаю, что Квартусные вещи должны на винде сработать прозрачно -- просто проект открыть из другого места. Компиляторные дела на Винде, в силу известных причин, потребуют еще немного допила в стиле старого cc65winbuilder.

Все это совершенно пока игнорирует труды ivagor-а на поприще multipulti для поддержки разных более продвинутых вариантов плат, но является подготовкой для их последующей интеграции. Ну и вообще, предполагалось сделать это лет пять назад =)

На всякий случай, чтобы взять себе сорцы, надо написать:
Код:
git clone https://github.com/svofski/vector06cc/ -b projects