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

User Tag List

Страница 4 из 38 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 377

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

  1. #31
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от boo_boo Посмотреть сообщение
    Cи на спеке полезен для общей организации кода -- на нем хорошо писать этакий фреймворк, который вызывает ассемблерные процедуры
    соглашусь, хотя при наличии нормальной и документированной асмовой библиотеки, выигрыш в скорости разработки будет не очень большой

    Цитата Сообщение от Robus Посмотреть сообщение
    Как сказал Vitamin, СИ не знает какова железяка ...
    СИ не знает, знает компилятор кста, большинство твоих "притензий" относятся к кривым компиляторам, а не к языку/библиотекам

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

  3. #32
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2 Посмотреть сообщение
    СИ не знает, знает компилятор кста, большинство твоих "притензий" относятся к кривым компиляторам, а не к языку/библиотекам
    Ха ... Ещё бы ... Исключительно к компиляторам ... Так же как и ПиЦи, если бы его "кодеры" были порядочными, то и на ПиЦи было бы большенство шедевров.

    "Притензии" к людям которые подходят к языку с точки зрения школьной программы. Тестирование заполнения экрана FF'ами, это кощунство. Никто не трёт память FOR'ом ии WHILE'ом. Только отдельно написанная процедура затирания куска памяти на !!!асме!!!. Вот меня и коробит, когда я это вижу. Просто, более серьёзный подход должен быть. А по-скольку 99% людей к таким вещам подходят как начинающий программист, я просто уверен что для таких нужно поставить рамки не более 10% кода на СИ !!! Конечно я такое делать не буду, но каждый уважающий себя CODER обязан свою работу доводить до идеала. Этим и славились Speccy, Atari и подобные монстры. Эти машины взростили примеры на которые по сей день равняются все ... А ПиЦи взростил комерческий подход и винду со всякой хренью. Вот поэтому в этом посте постоянно шла речь о том, что "где-то нельзя выкладывать кряк", или "там денег стоит" или ещё что-то в подобном жанре. А если создатель печётся о доходе а не о профессионализме, то тут только руками можно развести.
    Ибо Мир делится на Созедателей и Потребителей. А деньги это потебление.

    И сколько не говоите мне "Лень двигатель прогресса", двигают его трудом а не ленью. Вам это колесо кто-то придумает, а у вас едиственная фраза на всё будет - "зачем его изобретать заново". Ну спалите все книги к чёрту ... Чё их хранить, есть в электронном виде, можно экранизацию псмотреть ... Прогресс же ... Перестаньте читать ... Вот вам и лень ...

    Так что мой компилятор будет всё учитывать ...

    Добавлено через 13 минут
    О самом главном: Кто пользуется "mak" файлами ??? В котором описание проекта, типа там путь к INCLUDE'ам, какой файл является MAIN'ом ???
    Последний раз редактировалось Robus; 22.01.2008 в 20:17. Причина: Добавлено сообщение
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  4. #33
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    ... я такое делать не буду, но каждый уважающий себя CODER обязан свою работу доводить до идеала. Этим и славились Speccy, Atari и подобные монстры. Эти машины взростили примеры на которые по сей день равняются все ... А ПиЦи взростил комерческий подход и винду со всякой хренью. Вот поэтому в этом посте постоянно шла речь о том, что "где-то нельзя
    Дело в том, что объем проектов сильно вырос (я тут не считаю программирование микроконтроллеров - это отдельный сегмент) и если заниматься вылизыванием кода, то программистам в пересчете на человеко-час будут платить очень мало - на хлеб не хватит. Поэтому раз железо позволяет неоптимальный код, то хвала такому железу.

    Цитата Сообщение от Robus Посмотреть сообщение
    Так что мой компилятор будет всё учитывать ...
    Очень нужен ANSI-совместимый С (С99 совместим или нет? Я не шибко силен в стандартах) для Z80 (в идеале, работающий на собственно 8-битке) с прямой, т.е. некорявой и неглючной поддержкой 32-битных целочисленных типов. Я пока ни одного такого не видел. Чем все прочие немного ближе к идеалу HiTech C (хотя бы ANSI-совместим), но он страшно глючный (имеется в виду CP/M версия).
    Последний раз редактировалось Error404; 22.01.2008 в 20:36.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #34
    Banned Аватар для psndcj
    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool

    вот я пишу демокод... первые 10% времени занимает чисто создание эффектов - 90% кода по объему - потом 90% времени уходит на собирание и фикс этих эффектов в кучу (дему), настройка переменных для эффектов и прочая дребедень - это даже меньше 10% кода в результате, но занимает процентов 90 времени.

    короче - все как положено =)

    в принципе последний этап может было бы проще писать на каком-нить языке выше ассемблера - чтобы малейшая ошибка в цифре не приводила к сбросу.

  6. #35
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    О самом главном: Кто пользуется "mak" файлами ??? В котором описание проекта, типа там путь к INCLUDE'ам, какой файл является MAIN'ом ???
    Привет ROB F! Приятно видеть что кровь в твоих жилах все еще _кипит_ как и много лет назад в начале 90-х ! Более того забавляет _ВСЕ ЕЩЕ ТО!_ рвение переписать всех и вся на ASM-e.

    Слабо мне верится что ты проникнешся моим коментарием по поводу твоего рвения создать СВЕРХ оптимальный С-компилер для Z80. Поэтому ПРОШУ! все кто со мной согласен скажите что я прав а те кто не согласен скажите что не прав. А коментарий такой:

    1. не надо лазить в make file-ах и писать свой жутко оптимальный "gnu make" на ASM-e;
    2. не нaдо писать свой С компилер с нуля на ASM-e;
    3. нужно разобратся немного с open source компилерами типа sdcc и gcc, посмотреть какие есть недостатки у текущих генераторов кода для Z80, внести улучшения и выложить свои patch-и для других на обсуждение (если что-то толковое сделаешь - поверь народ вкомитит твои изменения);
    Последний раз редактировалось bigral; 22.01.2008 в 21:25.

  7. #36
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Привет ROB F! Приятно видеть что кровь в твоих жилах все еще _кипит_ как и много лет назад в начале 90-х !
    Во блин ... Заинтригован ... Кто это ??? Мне да же не стало обидно что "ROB F" без точки !!!


    Цитата Сообщение от bigral Посмотреть сообщение
    1. не надо лазить в make file-ах и писать свой жутко оптимальный "gnu make" на ASM-e;
    Не буду ... Будет на TMT-Pascal'е, и да же под всвеми любимую винду !!!

    Цитата Сообщение от bigral Посмотреть сообщение
    2. не нaдо писать свой С компилер с нуля на ASM-e;
    Компилятор будет безусловно на TMT-Pascal'е, но, прости, сам компилятор уже начат и он на асме ... Не всё, основа анализа стринга, и подобное только на асме, то есть основное мясо !!! Собственно это уже сделано ... Это просто ... Щас библиотеку приоритетных команд сделаю, потом макросы, а там уже и первая версия ...

    Цитата Сообщение от bigral Посмотреть сообщение
    3. нужно разобратся немного с open source компилерами типа sdcc и gcc, посмотреть какие есть недостатки у текущих генераторов кода для Z80, внести улучшения и выложить свои patch-и для других на обсуждение
    На это тратить время не буду ... Мне и так на работе за простой влетит ... А не достатки я и сам понимаю, уже писал компилятор ASAM, кстати, практически язік программирования ...

    Цитата Сообщение от Error404 Посмотреть сообщение
    поддержкой 32-битных целочисленных типов
    Безусловно !!! Это очевидно !!!

    Цитата Сообщение от psndcj Посмотреть сообщение
    потом 90% времени уходит на собирание и фикс этих эффектов в кучу
    Для этого я уже сделал ASAM там вообще ничего не надо собирать, автоматом любіе лоадеры компилятся !!! Но традиция останется старая, Linker будет в виде асмасково кода, компилирующийся моим же ASAM'ом, то есть будет выполнять тривиальную задачу ... Но, вообще-то, советую обратить внимание на ASAM, покрайненй мере со сборкой проблем не будет ... Странно, я думал что эти проблемы уже решены в SjASMPlus ...

    Добавлено через 5 минут
    Кстати ... В последней версии ASAM'а я выложил MATH модуль ... Я так же на праздниках делал дему ... Убил около стни зайцев одним выстрелом, дописывая этот модуль ... Любую математику можно реализовать ... Вообщем в последнем эффекте сделал всё за пару часов ...
    Последний раз редактировалось Robus; 22.01.2008 в 23:21. Причина: Добавлено сообщение
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  8. #37
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    Компилятор будет безусловно на TMT-Pascal'е, но, прости, сам компилятор уже начат и он на асме
    Robus, так ты кросс-компилятор хочешь написать? а зачем, хочешь, чтобы он генерил более оптимальный код, чем sdcc/z88dk/gcc/IAR etc...? надо ли оно... все равно критичные по ресурсам части проги на асме писать, а для некритичных частей и существующие кросс-компилеры подходят.
    (...а твой компилятор, подозреваю, под дос будет? а то для юниксоидов/макосников дос ваще не вариант, и для виндузоидов неудобно )

    эх, вот если б нативный спектрумовский компилятор С99, вот это я понимаю
    Последний раз редактировалось boo_boo; 23.01.2008 в 04:40.

  9. #38
    Banned Аватар для psndcj
    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus Посмотреть сообщение
    Для этого я уже сделал ASAM там вообще ничего не надо собирать, автоматом любіе лоадеры компилятся !!! Но традиция останется старая, Linker будет в виде асмасково кода, компилирующийся моим же ASAM'ом, то есть будет выполнять тривиальную задачу ... Но, вообще-то, советую обратить внимание на ASAM, покрайненй мере со сборкой проблем не будет ... Странно, я думал что эти проблемы уже решены в SjASMPlus ...
    проблема не в подключении лоадера - это как раз делается на раз в любом ассемблере
    основное время занимает распихивание эффектов по банкам и обработка взаимодействия между модулями... ну и всякий мелкий код - типа управление перемещениями, то есть работа с переменными...

  10. #39
    Master
    Регистрация
    26.03.2005
    Адрес
    Ivanovo
    Сообщений
    640
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    1 сообщение
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Более того, написаный на асме цомпилятор будет абсолютно непортируемым.

  11. #40
    Master
    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от psndcj Посмотреть сообщение
    основное время занимает распихивание эффектов по банкам и обработка взаимодействия между модулями... ну и всякий мелкий код - типа управление перемещениями, то есть работа с переменными...
    Ну ... От этого практически не уйти ... Это и есть искусство программирования на Speccy ... Однако я тебя очень хорошо понимаю, и сам по сегодняшний день в каждом новом проекте пытаюсь применить новые способа решения подобных задач. В мучаемом мною уже два года CuberDie, я использовал макросы для заполнения банков.
    В итоге код выглядит так:

    Код:
    ;Выбираем сегмент в который мы поместим эффект (кусок) демки для будущего исполнения
    ;Мой "SEG"  переключится на страницу 17 и установит адрес компиляции (ORG) в предыдущий для этой странице, допустим сейчас это 49152, этот адрес будет храниться в переменной "BP17.S" но из этого значения вычитается 49152, то есть размер блока для 17-ой страницы составляет "0"
        SEG 17
    
    SuperEffect_2   ;Адрес эффекта в сегменте
    
    ;Адрес компиляции останется в 49152, но компилятор будет думать что весь код помещается по адресу "FreeSpace", допустим это 35000. Этот адрес указывает на свободное место для исполнения эффектов. Допустим у нас их 10-ть. Первый уже тут лежал, в "FreeSpace" исполнился и освободил память. То есть каждый эффект будет компилироваться с учёт адреса на "FreeSpace".
        PHASE FreeSpace
    ;Далее, собственно, эффект ... Ну типа покажем на экране мега картинку.
        HALT
        LD HL,22528
        LD DE,22529
        LD BC,767
        LD (HL),L
        LDIR
        LD HL,MegaPicture
        LD DE,16384
        LD BC,6144
        LDIR
        WaitLinePos (16,3)  ;Типа ждём музыку
        LD B,3
        LDIR
        RET
    MegaPicture IncTRD "GFX\gfx.trd","pic.c"   ;Загружаем мегакартинку из TRD модуля
        UNPHASE
    
    ;Далее самое главное. Пакуем то что накодили. Сейчас адрес $=49152+6912+??? короче много.
        DSQ.Pack SuperEffect_2,$-SuperEffect_2
    ;Теперь адрес $=49152+??? вообщем теперь меньше.
        EndSeg    ;Теперь в "BP17.S" сохранён новый размер этого блока
    Ну а распаковка становится банальна, знаешь адрес в странице, знаешь куда "FreeSpace" ...
    Единственное, что нужно - следить за размером блока в странице, что бы не вылез за 16384 !
    Как ты сам понимаешь, сам эффект можно хранить как отдельный файл, его инклудить между PHASE и UNPHASE ... Таким образом легко автоматизировать труд. И главное - постоянно запакованная дема до последнего битика.

    А вот как такое реализовывать в СИ я не представляю. А в асме нет ограничений и можно писать практически на языке высокого уровня. Да и что над от него ? Математику, возможность в скобках получать значения из процедур. Это главное. А это всего 10%.
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

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

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

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

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

Ваши права

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