User Tag List

Страница 29 из 38 ПерваяПервая ... 252627282930313233 ... ПоследняяПоследняя
Показано с 281 по 290 из 377

Тема: Ищу Си для Z80

  1. #281

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,716
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Alcoholics Anonymous, yes, indeed the IAR C compiler for Z80 target is no longer present in the list of their products. I contacted the company IAR and I have a letter from them dated at end of 2012 year.

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

    Цитата Сообщение от Oleg N. Cher
    Submitted Friday September 28, 2012 12:49 PM (Central European Time)
    -----------------------------------------------------------------
    Product: EWZ80
    Name: Oleg N. Cher
    Title: Developer
    Email: <SKIPPED>
    Phone: <SKIPPED>
    Fax:
    Company: VEDAsoft
    Country: Ukraine
    Countrycode: UA
    Address:
    Zip code:
    City:
    Web site:

    Dear IAR Systems,

    For some hobby retrogaming stuff I am interested in your old Workbench for Zilog Z80 CPU. But I could not find on your site, even a trial version to download and try.

    If you are not interested in selling the version for Z80, can you consider to make available the downloadable trial version, or liberalize as free for non-commercial use? Thank you.

    Oleg N. Cher,
    VEDAsoft,
    http://zx.oberon2.ru
    =>
    Цитата Сообщение от Liselott Lundeborg
    Dear Oleg,
    Thanks for your email!

    I've now checked the issue and due to this is a product we do not longer support we can offer you an PC locked license of EWZ80 version 4.06 ( from the year 2001) without support.

    For the amount of 1715 EUR
    Payment: In advance

    Please do check if this version would be ok and also if you would need any further information or would like to place an order.

    Best regards,
    Lise

    Liselott Lundeborg Sales Manager Sweden - Key Account Manager Nordic
    IAR Systems AB
    Box 23051, Strandbodgatan 1
    SE-750 23 Uppsala, SWEDEN
    Mobile: +46 708 66 10 51 Phone: +46 18 16 78 36 Fax: +46 18 16 78 01
    Website: www.iar.com
    Twitter: www.twitter.com/iarsystems

  2. #282

    Регистрация
    19.01.2009
    Адрес
    Белгород
    Сообщений
    385
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Классный ценник. Да за такие деньги можно написать свой компилятор, "с шаблонами и сборщиком мусора". Мда...

  3. #283

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,716
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разработать эффективный оптимизирующий компилятор Си не так легко. Команда SDCC усиленно работает уже долгий срок, Филипп Краузе, разработчик бэк-энда для Z80, делает коммиты чуть ли не каждый день. Я слежу за этим проектом уже много лет, и конечно не буду позиционировать его как идеал, но, как разработчик, я с большой симпатией отношусь к открытости и безплатности компилятора SDCC. Также весьма хорош z88dk, его команда смогла сделать много чего, что не умеет SDCC. Тоже делается уже долго. И оба эти компилятора хорошо влияют на разработку друг друга.

  4. #284

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aviator Посмотреть сообщение
    Классный ценник. Да за такие деньги можно написать свой компилятор, "с шаблонами и сборщиком мусора". Мда...
    Что ж никто не пишет?
    Просто посчитаем - возьмём с потолка стоимость одного дня работы в 30 евро => 57 дней, т.е. за три месяца неспешно можно сделать.
    /голосом Станиславского/ ой, не верю!

    Берём стоимость одного дня в 90 евро => 19, один рабочий месяц.
    Это и дизайн системы, и код, и отладка багов.
    Ой, не верю!

  5. #285

    Регистрация
    19.01.2009
    Адрес
    Белгород
    Сообщений
    385
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    Берём стоимость одного дня в 90 евро => 19, один рабочий месяц.
    Это и дизайн системы, и код, и отладка багов.
    Ой, не верю!
    На базе LLVM например. Почему бы и нет. Фронтенд - подмножество Си, модифицируем существующий. Бэкэнд - пишем. Зачем писать всю инфраструктуру с нуля?
    А EWZ80 "отбился" по деньгам уже давно. Но всё равно цену будут задирать. Это есть "кровавый энтерпрайз"...

  6. #286

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Также весьма хорош z88dk
    можно более подробно, что там хорошего? а то я беру один и тот же сорец и не вижу разницы в компиляции между тем, что компилит версия скачанная с сорсфоржа (за 15й год) и тем, что там в ночных сборках. в результате я получаю такой же мегамедленный и раздутый код. не понимаю, я что-то не так делаю?
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

  8. #287

    Регистрация
    21.05.2006
    Адрес
    Canada
    Сообщений
    78
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aviator Посмотреть сообщение
    На базе LLVM например. Почему бы и нет. Фронтенд - подмножество Си, модифицируем существующий. Бэкэнд - пишем. Зачем писать всю инфраструктуру с нуля?
    А EWZ80 "отбился" по деньгам уже давно. Но всё равно цену будут задирать. Это есть "кровавый энтерпрайз"...
    1700 евро не намного больше, чем за неделю до двух заработной платы недели для опытного программиста.

    LLVM не очень хорошо подходит для генерации программ для 8-битных целей, как есть. Много работы было бы сделать, чтобы получить что-то хорошее из него. Вы можете взять его (и я надеюсь, что вы делаете!), Но есть причина, почему LLVM-z80 связанные проекты томился в течение многих лет.

    Скрытый текст


    1700 Euro is not much more than a week to two week's wages for an experienced programmer.

    LLVM is not well suited to generating programs for 8-bit targets as-is. A lot of work would have to be done to get something good out of it. You are welcome to take it up (and I hope you do!) but there is a reason why LLVM-z80 related projects have languished for years.
    [свернуть]


    Цитата Сообщение от Sayman Посмотреть сообщение
    можно более подробно, что там хорошего? а то я беру один и тот же сорец и не вижу разницы в компиляции между тем, что компилит версия скачанная с сорсфоржа (за 15й год) и тем, что там в ночных сборках. в результате я получаю такой же мегамедленный и раздутый код. не понимаю, я что-то не так делаю?
    Инструменты и библиотеки гораздо более разнообразны и настраиваемый в z88dk - есть не только одна команда компиляции.

    Всегда используйте ночную сборку. Проект очень активен, так что частые обновления. Установить инструкции здесь. При загрузке окна или OSX строит, они включают в себя zsdcc двоичные файлы; Для Linux вам придется скомпилировать zsdcc от источника, если вы хотите использовать SDCC.

    Существует технический обзор того, как новая часть z88dk работает здесь. Это для встроенной цели, то есть общий Z80 машина, на которой построен целевой спектр. Хотя для компиляции спектра немного по-другому, понятия, обсуждаемые переносятся.

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

    Эта линия компиляции:

    Скрытый текст


    The tools and libraries are much more varied and customizable in z88dk -- there is not just one compile command.

    Always use the nightly build. The project is very active so there are frequent updates. Install instructions are here. If you download the windows or osx builds, they include zsdcc binaries; for linux you would have to compile zsdcc from source if you want to use sdcc.

    There is a technical overview of how the new part of z88dk works here. This is for an embedded target, that is a generic z80 machine, on which the spectrum target is built. Although compiling for the spectrum is a little bit different, the concepts discussed carry over.

    The library and drivers are customizable on the compile line so to get the smallest possible binary depends on what you are trying to compile. If you have a test program you want to try, maybe share it here so I can suggest and explain a compile line for it.

    This compile line:
    [свернуть]


    zcc +zx -vn -startup=31 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size test.c -o test -create-app --list


    компилирует "test.c" в файл .TAP с использованием SDCC, как компилятор с оптимизацией оказалось высоким. "startup = 31" выбирает лучевую трубку без Printf / Scanf водителей, "SO3" включает агрессивные правила глазок "opt-code-size" позволяет правила сокращения размера кода, которые особенно эффективны для кода с использованием 32-битного INT / 64-бит INT / поплавки (также попробовать без него, особенно для маленьких программ), "create-app" просит z88dk сделать файл .TAP, "list" просит, чтобы показать с исходные файлы переведены на ассемблере (она будет создавать "test.c.lis"). Если вы делаете поплавки, добавьте "-lm". Изменить "-vn" на "-v", чтобы увидеть все шаги ZCC принимает для компиляции программы.

    Если вы хотите, чтобы остановить при сборке перевода, добавить "-a":

    Скрытый текст


    will compile "test.c" to a .tap file using sdcc as compiler with optimization turned high. "startup=31" selects a crt without printf/scanf drivers, "SO3" turns on aggressive peephole rules, "opt-code-size" enables code size reduction rules which are particularly effective for code using 32-bit int/64-bit int/floats (also try without it especially for small programs), "create-app" asks z88dk to make a .tap file, "list" asks to show the c source files translated to asm (it will create "test.c.lis"). If you are doing floats, add "-lm". Change "-vn" to "-v" to see all the steps zcc is taking to compile the program.

    If you want to stop at assembly translation, add "-a":
    [свернуть]


    zcc +zx -vn -a -startup=31 -clib=sdcc_iy -SO3 --max-allocs-per-node200000 --opt-code-size test.c

    Я нахожу полученный ASM файл "test.c.asm" более удобным для чтения. Это хорошее место, чтобы исследовать разрастание кода.

    Выходной двоичный для приведенного выше составляет около 508 байт. То есть, потому что есть куча инициализации там, код вставляется для успешного возвращения в основной и так далее.

    Если добавить следующие прагмами в верхней части файла test.c:

    Скрытый текст


    I find the resulting asm file "test.c.asm" more readable. This is a good place to investigate code bloat.

    The output binary for the above is about 508 bytes. That is because there is a heap initialization in there, code is inserted for successful return to basic and so on.

    If you add the following pragmas to the top of your test.c file:
    [свернуть]


    #pragma output REGISTER_SP = -1 // do not change the value of SP at startup
    #pragma output CRT_ON_EXIT = 0x10001 // on program exit, enter an infinite loop
    #pragma output CLIB_MALLOC_HEAP_SIZE = 0 // do not create a heap for malloc
    #pragma output CLIB_STDIO_HEAP_SIZE = 0 // do not create a heap for stdio FILE*
    #pragma output CLIB_FOPEN_MAX = -1 // no FILEs can be created

    не изменяет значение SP при запуске
    при выходе из программы, войти в бесконечный цикл
    не создают кучу для malloc
    не создают кучу для STDIO FILE*
    ни один файл не может быть создан

    вы будете уменьшить размер кода дополнительно. (Смысл прагмах описан здесь и здесь).

    С этим добавил, выходной двоичный составляет около 66 байт.

    Скрытый текст



    you will shrink the size of the code further. (The meaning of the pragmas is described here and here).

    With these added, the output binary is about 66 bytes.
    [свернуть]
    Последний раз редактировалось Alcoholics Anonymous; 05.01.2017 в 21:10.

  9. #288

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alcoholics Anonymous Посмотреть сообщение
    1700 Euro is not much more than a week to two week's wages for an experienced programmer.
    Не знаю как там у канадских программистов...
    А вот простым смертным из Украины придется не есть не пить и не платить за свет, за газ на протяжении одного года, чтоб купить это...

  10. #289

    Регистрация
    19.01.2009
    Адрес
    Белгород
    Сообщений
    385
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alcoholics Anonymous Посмотреть сообщение
    1700 Euro is not much more than a week to two week's wages for an experienced programmer.
    But not in the Russia... For example, I'm lead software developer and architecture developer (with more than 10 years experience in industry automation). My salary is about 800 in USD equivalent per month before taxes. And this is above average salary level for my city!

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

    Ладно, завязываем с оффтопиком.
    Если честно, я порывался что-то сделать с софт-ядром Z80 и кросс-компиляторами под него, но каждый раз меня неумолимо тянет в сторону ARM...
    Навряд ли можно сделать хороший универсальный оптимизатор, в чём то он будет выигрывать, в чём-то проигрывать...

  11. #290

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,716
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от aviator
    But not in the Russia
    And not for Ukraine! Alcoholics Anonymous, d'ya understand? This price angers us, we feel black slaves!

    Цитата Сообщение от Sayman Посмотреть сообщение
    можно более подробно, что там хорошего?
    Ну, нам Alcoholics Anonymous рассказывает чудеса про его более компактные, чем в SDCC, библиотеки и поддержку различных Z80-based архитектур из коробки. Я не пользовался, так что рассуждаю только на основе его слов. Также есть адаптированный (патченный) SDCC для вызова из z88dk, и даёт, по словам Alcoholics Anonymous, лучший код, чем генерит сам SDCC. Опять же, не проверял. Только видел результаты тестирования, они действительно впечатляют. Ссылка на сравнительные тесты разных компиляторов для Z80.

    Цитата Сообщение от A A
    SDCC targets a variety of 8-bit mcus and comes with a subset of the C library that is expected by embedded systems. Its library is written in C which makes it portable across all its targets but that comes at the expense of code size and speed. It sticks to vanilla C and a generic target so there is no mechanism to build for specific z80 systems. Nevertheless the quality of code generated by the compiler is comparatively of high for the z80 (and probably others too). The main selling point of sdcc is quality code generation and modern standards compliance (most C89, much C99, some C11).

    Z88DK is a development kit that specifically targets the z80. Ostensibly it provides the same sort of facilities. However it comes with a C library that tries to be complete and is written in assembly language. It's probably close to ten times larger than sdcc's and is a few times smaller and faster. Its C compiler (sccz80) is small-C derived although most of the restrictions of small-C have been eliminated (it supports floats, longs, ansi, etc and approaches C89 compliance with some notable omissions). sdcc's compiler generates faster code but until recently it has also been larger code. sccz80 has always been intended to generate small code with speed gains achieved through the hand-written library functions. z88dk has a mechanism to target specific z80-machines so that the same source code can be compiled for cp/m, zx spectrum or rc2014 with a change in compiler switch. The libraries do not confine themselves to the standard and there are many additions to do with sound, graphics, compression and so on whose availability depends on the target. The main selling point of z88dk is its comprehensive libraries and ease of use.

    In the past year there has been cross-pollination between the two projects. Into sdcc went some of z88dk's calling conventions. Into z88dk went sdcc-z80

    So now z88dk can use either sdcc or sccz80 as c compiler. z88dk uses a patched version of sdcc-z80 that improves its generated code (5-40% size reduction depending on the source code -- a more likely number is 5-10% ; the 40% comes from frequent use of floats, longs and longlongs) and addresses some of sdcc's code generation bugs. sdcc is used to translate to asm only and then that output is plugged into z88dk's back end. This allows sdcc to use z88dk's more complete machine language C libraries and its crts so that it's simple matter to compile for eg, an rc2014, cp/m or a zx spectrum using the same source code by employing a different command line switch.

    In short, the z88dk/sdcc combination puts together the best of both projects and is available through z88dk.
    Ага, вот ещё нашёл:

    http://zx-pk.ru/threads/24869-churre...l=1#post789011

    Цитата Сообщение от Alcoholics Anonymous
    Все составляется C будь SDCC, sccz80 (составитель z88dk в), или любой другой известный компилятор z80 C генерирует код, который является по меньшей мере в три раза больше и в три раза медленнее, чем писаные ассемблере.

    Точка z88dk является доступность существенной библиотеку ассемблерных подпрограмм, так что C используется в основном как клей ("бизнес-логики"). Большинство время выполнения затем провел в быстром ассемблере и размер программы значительно сокращается, поскольку большая часть его написана на ассемблере.

    Это страница с использованием C код для встраивания в QSort и рисование линий, например, когда z88dk содержит QSort и рисования линий функции, написанные на ассемблере. Если те, которые используются z88dk версия в несколько раз быстрее и меньше, чем SDCC.
    Гм, выглядит как будто бы в SDCC нельзя использовать эту быструю процедуру, взятую из z88dk?

    Цитата Сообщение от Alcoholics Anonymous
    Но sccz80 не оптимизирующий компилятор, как SDCC так, что размер кода преимущество может произойти, только если программист осознает, что может привести к sccz80 получать большие код.
    Мой вердикт: берём SDCC и побольше кода из библиотек z88dk. Осторожненько щупаем версию SDCC, адаптированную для вызова из z88dk. Ругаем политику компании IAR. =)
    Последний раз редактировалось Oleg N. Cher; 06.01.2017 в 01:51.

Страница 29 из 38 ПерваяПервая ... 252627282930313233 ... ПоследняяПоследняя

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

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

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

Ваши права

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