Важная информация

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 50

Тема: Форк SDCC для процессора 8080

  1. #1
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    915
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Форк SDCC для процессора 8080

    Компьютеров на проце К580 было много, но пишу сюда, уже перенесите, где будет более уместно. Спасибо.

    Узнал про существование форка 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 (но это может быть приемлемо, если его разделить на другой модуль, если кто-то заботится)
    Может быть никому не полезен, в том числе и мне
    Может быть поучительным для тех, кто хочет увеличить работу или сделать что-то подобное с другой архитектурой набора инструкций
    Теперь, когда я принял условие программного обеспечения (аналог человеческого состояния), я представлю серию журналов. Это не происходит в реальном времени. Некоторые шаги были завершены несколько месяцев назад, а некоторые все еще продолжаются. Я также обновлю статус в этом описании в соответствии с прогрессом.

  2. Эти 4 пользователя(ей) поблагодарили Oleg N. Cher за это полезное сообщение:

    ivagor (15.09.2019), L Juriy (15.09.2019), shapipovo (16.09.2019), svofski (15.09.2019)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,817
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я настроен пессимистично, но все равно спасибо
    Больше игр нет

  5. #3
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    915
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я настроен оптимистично и всячески призываю заинтересованных энтузиастов поучаствовать. Попробуйте хотя бы собрать и погонять. Я сделал пост в надежде, что может ещё кто-то заинтересуется. Люди не любят продолжать чьи-то проекты, лучше с нуля что-то запилят. Это ошибка, я считаю. В какой-то мере даже гордыня.

    Тут есть остов — просто надо научиться его собирать. Там вряд ли это сложно. Потом смотреть чего он умеет. И уже лезть править, когда понял как. С автором списаться, наверняка ему не помешает моральная поддержка. Он увидит, что его работа интересна ещё кому-то.

    Так что вместо ковыряния старых компилей я бы посоветовал все силы бросить на этот форк SDCC для 8080. Это очень важно, что его можно развивать. Тем более, какая-то работа уже проделана.

    Мы с Какосом, в любом случае, будем посмотреть.

  6. #4
    Activist Аватар для L Juriy
    Регистрация
    29.11.2009
    Адрес
    г. Бийск
    Сообщений
    443
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал собрать и облом. Не хватает какой-то графики ???? Пока отложил.
    Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017) .

  7. #5
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    915
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я пока не пробовал. Может не хватает каких-то файлов из официальных исходников SDCC?

    В самом крайнем случае попинаем автора Ken Yap.

    Кстати, он живой, мне сегодня ответил на гитхабе:


  8. #6
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,817
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Иметь настоящий компилятор настоящего современного Си для 8080 было бы очень круто. Но зачем? Ценность Си в переносимости. Но любой настоящий из жизни сишный код, 100% которого писано под машины с настоящим процессором и настоящей памятью, а не тем, что у нас тут за это держат, будет собираться в жуткую рыхлятину. Чтобы хотя бы только скомпилировать, приходится весь этот код как-то адаптировать, переделывать, переписывать. Это делает всю работу полностью ручной и сводит на нет главное преимущество Си. Руками переписывать лучше на что-то, что является для 8080 более родным. Увы, таких языков как бы и нет. Вот эту нишу было бы заполнить более целесообразно.

    Но я все равно желаю удачи авторам, по возможности буду рад помочь, а при случае обязательно чего-нибудь скомпилю SDCC-8080 для Вектора.
    Больше игр нет

  9. #7
    Master Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    915
    Спасибо Благодарностей отдано 
    85
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть язык, очень хорошо адаптированный для 8080. Это PL/M, о котором была статья Какоса Ноноса. Действительно древний, ещё писанный на Фортране, компилер генерит код, намного более оптимальный, чем практически любой компилер Си для 8080. Но - за счёт того, что там нет рекурсии, вычислений со знаком и т.п.

    Си же для 8080 нам интересен, как и сам проц 8080, вследствие какой-то привязки нас к этому ретро. :-)

    - - - Добавлено - - -

    А Sphinx C-- для 8080, как и для Z80 никто адаптировать не торопится. А это было бы ещё круче, чем PL/M.

  10. #8
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,817
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А сохранилась правильная версия PL/M, пригодная для сборки CP/M? Я помню, что что-то там не сохранилось, но признаюсь, за темой внимательно не слежу.

    Рекурсия и реентрантность это чудесно. Если бы сишный компилятор отслеживал случаи, когда они не применяются, и пользовался бы этим для оптимизации под 8080, это было бы просто волшебно.
    Больше игр нет

  11. #9
    Activist Аватар для L Juriy
    Регистрация
    29.11.2009
    Адрес
    г. Бийск
    Сообщений
    443
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    svofski,
    Вот для СР/М и непонятки. Я ПОКА не нашел модуля работающего под СР/М. Есть от СМ1800 но он под СР/М плохо работает.
    Самый нормальный оказался под ISIS II, работает без проблем.
    Для кросс компиляции можно использовать портированный на С модуль из ISIS II. Его можно найти в intel80tools.
    Там же находятся исходники на PL/M почти на весь ISIS II, в том числе и PLM80 версии 4.0.
    Наверное можно собрать и под СР/М, я не пробовал.
    Кстати где-то видел исходник СР/М на PL/M , а не на asm.
    Микро-80, Радио-86РК, Океан 240, Ириша, Спектрум-48, NEC PC-8201, ЮТ-88(2017) .

  12. Этот пользователь поблагодарил L Juriy за это полезное сообщение:

    svofski (16.09.2019)

  13. #10
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,817
    Спасибо Благодарностей отдано 
    44
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    L Juriy, я не имел ввиду для запуска из-под, а для сборки CP/M. Просто любопытно иметь полный комплект компилятор + сорцы CP/M, как sanity checking device и как справочник. Откуда и чем запускать сам компилятор мне не так важно. Но если там прямо вот есть на си переписанный компилятор, это круто.
    Больше игр нет

Страница 1 из 5 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Форк демо-архива вышел из беты
    от Hacker VBI в разделе Новости
    Ответов: 133
    Последнее: 20.10.2016, 10:26
  2. Ассемблер для 8080
    от shoorick в разделе Разное
    Ответов: 26
    Последнее: 13.02.2016, 14:30
  3. SDCC: библиотеки для ZX
    от Sergey в разделе Программирование
    Ответов: 10
    Последнее: 25.10.2015, 19:30
  4. Форт для процессора 6502
    от rw6hrm в разделе Зарубежные компьютеры
    Ответов: 7
    Последнее: 15.10.2010, 15:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •