Узнал про существование форка SDCC для процессора 8080, проект живой и развивается.
Дальше текст от машинного перевода, сорри.
Цитата:
Таргетинг SDCC на 8080
Написание генератора кода для микропроцессора 8080 для компилятора Small Device C (SDCC)
Кен Яп
Следить за проектом
SDCC официальный репозиторий Subversion
Моя вилка SDCC для 8080
Этот проект был создан 30.07.2009 и последний раз обновлялся 8 дней назад.
ОПИСАНИЕ:
Я пытаюсь написать бэкэнд генератора кода для SDCC для микропроцессора 8080, набор команд которого является подмножеством Z80.
ПОДРОБНОСТИ
Кастинг вокруг существующих свободных компиляторов привел к нескольким кандидатам. Для CP/M или DOS есть Dunfield C, а также Hitech C. Но они требуют старых сред разработки (хотя можно использовать виртуальную машину), а также поддерживают только старые стандарты C. Возможны и другие недостатки, обусловленные ограничениями среды размещения. Поскольку они являются собственностью, их нельзя развивать дальше.
Amsterdam Compiler Kit (ACK) в настоящее время поддерживается David Given и работает. Программное обеспечение довольно неудобно устанавливать, поскольку оно имеет много компонентов. Процесс сборки ужасен, хотя становится лучше благодаря усилиям разработчиков. Кроме того, он принимает более старый стандарт для C, хотя есть усилия, чтобы обновить его. Он использован портами 8080/8085 FUZIX Аланом Коксом. Одним из преимуществ ACK является то, что он также поддерживает несколько других языков, таких как Pascal, если это необходимо.
SDCC является самым современным из кандидатов. Он поддерживает последние стандарты для C и активно поддерживается. На самом деле это был пост Алана Кокса (я предполагаю, что также возглавляет FUZIX) в списке рассылки SDCC, который заставил меня задуматься о взломе SDCC для создания кода 8080. Если бы я мог это сделать, я мог бы развиваться на Linux.
Я бросил все это в своем уме в 2018 году. Все эти факторы пришли мне на ум:
Был ли я в здравом уме, чтобы сделать это? Модуль генератора кода Z80 gen. c составляет около 13 000 строк кода. Хотя мне не пришлось бы переписывать все это с нуля. На самом деле, поскольку 8080 имеет некоторое сходство с Gameboy Z80, я мог бы получить бесплатную поездку на некоторых из этого кода.
Будет ли от этого какая-нибудь польза? Очень немногие люди имеют только 8080 или 8085 в эти дни. Если они разрабатываются для ретро-процессоров, скорее всего, это будет Z80 или его более быстрые и более способные потомки, для которых SDCC отлично работает. Мало кто заботится о 8080 больше. В худшем случае, только я.
Какие шаги я должен предпринять?
Как оказалось, некоторые шаги я делал довольно быстро, а для других у меня были длинные паузы. Он еще не используется, и есть вероятность, что его никогда не будет. Я мучился, если я должен опубликовать это как проект. В конце концов я решил представить все как есть. Оно:
Вероятно, останется постоянным проектом навсегда, даже если я заставлю его работать приемлемо, поскольку некоторые ошибки могут занять много времени, чтобы выйти на поверхность, или никто не будет использовать его достаточно, чтобы пощекотать ошибку
Не будет легко установить, как вы должны построить из Git клон
Возможно, никогда не будет принят в основной SDCC, поскольку я, возможно, сделал слишком много насилия над модулем генератора кода Z80 (но это может быть приемлемо, если его разделить на другой модуль, если кто-то заботится)
Может быть никому не полезен, в том числе и мне
Может быть поучительным для тех, кто хочет увеличить работу или сделать что-то подобное с другой архитектурой набора инструкций
Теперь, когда я принял условие программного обеспечения (аналог человеческого состояния), я представлю серию журналов. Это не происходит в реальном времени. Некоторые шаги были завершены несколько месяцев назад, а некоторые все еще продолжаются. Я также обновлю статус в этом описании в соответствии с прогрессом.
Вот список старых компиляторов Си, про которые мы знали раньше: