Просмотр полной версии : Диалоги о платформах, компиляторах и операционных системах для ретростроителя
Или на другие клоны с Z80 где есть MMU, позволяющий переключение страницами более 32к (в страницах 16к как мы уже тут в соседней теме по FUZIX убедились не хватает места).
А что мешает cделать лучший клон спектрума, вмещающий MMU, быстрый z80 как в pentevo, систему прерываний MSX и его сетевую карту, DMA и прочие фичи, позволящие запускать полноценную UNIX систему с BSD Socket ? Если просто собрать все лучшие разработки и обьединить в одну прогрессивную программно-аппаратную платформу заместо всего разведенного зоопарка спектрум совместимых компьютеров?
И в конечном итоге добиться того чтобы C компилятор собирал сам себя, в потом и UZIX/Fuzix по аналогии с Gentoo ?
Но это только процессор, а мы имеем лишь зоопарк недописи конпутеров, которые ни на что не пригодны и во всем проигрывают даже 486му компу.
Ну вот допустим взять 2 и 4 таких процессора nZ80@42MHZ, сделать что-то в итоге на уровне 486/P1, чтобы самый простой linux заработал.
Error404
04.10.2018, 10:15
А что мешает cделать лучший клон спектрума, вмещающий MMU, быстрый z80 как в pentevo, систему прерываний MSX и его сетевую карту, DMA и прочие фичи, позволящие запускать полноценную UNIX систему с BSD Socket ? Если просто собрать все лучшие разработки и обьединить в одну прогрессивную программно-аппаратную платформу заместо всего разведенного зоопарка спектрум совместимых компьютеров?
И в конечном итоге добиться того чтобы C компилятор собирал сам себя, в потом и UZIX/Fuzix по аналогии с Gentoo ?
Проблема одна - это большой труд. :)
Даже так: это большой-большой труд. Пока менее крупные проекты делаем сугубо ради фана. И то, пока я ковырялся с только ядром, клеток мозга пожег изрядно (по ощущениям). В-общем, это дело для большого коллектива и большого количества человеко-часов (как и любой крупный софт). И хорошей мотивации.
И - да, дело как и в 90х будет за софтом. Софт решает какой платформе жить, а какой- нет. Тот же Апл взять, что там какие-то прорывы по железу были? Нет же.
Можно добиться чтобы на группе таких процессоров z80 работало SMP, и можно было собирать GNU Soft с помощью Hitech C, ну или другого компилятора.
А что мешает cделать лучший клон спектрума, вмещающий MMU, быстрый z80 как в pentevo, систему прерываний MSX и его сетевую карту, DMA и прочие фичи, позволящие запускать полноценную UNIX систему с BSD Socket ?
Уже давно сделано, процессор nZ80@42MHZ выполняет команды в 3-4 раз быстрее на той-же частоте в отличии от быстрого z80 в pentevo :), также поддерживаются расширенный набор команд и линейная адресация памяти до 32МБ. Я выкладывал видео, где работают два таких процессора первой версии для DivGMX. Подключаешь DivGMX и вперед... адаптировать SymbOS (http://www.symbos.de/) и хватило бы.
Error404
04.10.2018, 10:31
Мне SymbOS не нравится. Не нравится концептуально, т.к. не нравятся ОС где нет ни нормального редактора, ни компилятора. И автор там очень грамотно отрезал возможности портирования с более древних ОС, заняв под систему первый килобайт ОЗУ. Вот он что, вчера родился и не знал как например были устроены MSX-DOS и CP/M, что занял то ОЗУ?
ЗЫ. флейм позже унесу в отдельную ветку.
Про nZ80@42MHZ нагуглить ничего не удалось. Какой он разрядности ?
CodeMaster
04.10.2018, 10:56
Можно добиться чтобы на группе таких процессоров z80 работало SMP
Опаньки, призрак Виктора и ВМИР-1 бродит по форуму?
Про nZ80@42MHZ нагуглить ничего не удалось.
Это софт-ядро в ПЛИС.
Спасибо за наводку, очень интересные разработки у Виктора: http://ruecm.forum2x2.ru/f67-forum
Если это софт ядро в ПЛИС, значит можно его сделать 64х разрядным и работающим на более высокой частоте ?
CodeMaster
10.10.2018, 14:26
И связано с тем, что до сих пор нет нормального компилятора для Z80 для сборки кода серьезнее HelloWorld.
А есть вероятность, что он может появится? Просто эта ситуация напоминает вопрос про курицу и яйцо. И курицы интересны хоть кому-то, а яйцо (компилятор С) что-то никому.
Error404
10.10.2018, 16:43
А есть вероятность, что он может появится? Просто эта ситуация напоминает вопрос про курицу и яйцо. И курицы интересны хоть кому-то, а яйцо (компилятор С) что-то никому.
Написать компилятор это очень большой труд. И надо владеть системными знаниями хотя бы в рамках институтского курса обучения. При этом довольно слабый выхлоп в плане интересности проводимой работы (если конечно автор не математик получающий фан тупо от овладевания мат. конструкциями). Поэтому на некоммерчеcком Z80 этим если и занимаются, то чаще всего те, кто на момент начала работ (а потом тупо жалко бросить) не понимал во что это выливается ввиду узости кругозора (ярчайший пример - SDCC который пилят уже 15 лет и скоро на него можно будет переходить с компиляторов 40-летней давности, написанных за год. :) ) Кстати это еще один показатель: коммерческие компиляторы, написанные когда софт для CP/M продавался, очень хороши (для своего времени и 64кб адресного пространства), а бесплатные нынешние - они как нынешний студенческий Линкус: много ключей, а пользы мало.
CodeMaster
10.10.2018, 17:06
коммерческие компиляторы, написанные когда софт для CP/M продавался, очень хороши (для своего времени и 64кб адресного пространства)
Т.е. фраза должна была звучать так:
до сих пор нет нормального freeware компилятора для Z80 для сборки кода серьезнее HelloWorld
Я просто прояснить ситуацию для себя.
Error404
10.10.2018, 18:04
Т.е. фраза должна была звучать так:
Я просто прояснить ситуацию для себя.
Ну, наверное да, должно звучать так.
Коммерческие компилеры я стараюсь не использовать, т.е. я про современные их версии (старые от CP/M уже отданы в public domain, коммерческие в том числе практически все, т.е. они уже бесплатные). Но и платные (в т.ч. например Hitech C v7.x) народ исследовал в соседних темах, и по их мнению современный SDCC по эффективности кода им как минимум не уступает (раньше уступал, и много). Претензия у меня к нему в том, что он нестабилен от патча к патчу, авторы через чур увлекаются рюшечками в ущерб полезному, плюс куча хвостов тянущаяся из 15-летнего прошлого и узости кругозора (как то: писать компилер для Z80 и не сделать init для самых распространенных Z80-систем оставив "сферическим компилером в вакууме", не сделать нормальный дебагер {дебагер есть, но там всё как нарочно не по стандартам} из за чего SDCC не вкрутишь в нормальное IDE что есть позор для 21 века - века дешевого и громадного ресурса ПК в сравнении с нашими 64к, и т.п.)
писать компилер для Z80 и не сделать init для самых распространенных Z80-систем оставив "сферическим компилером в вакууме"
Если использовать z88dk, то это больше не проблема. Теперь софт с их библиотеками (точнее, там теперь уже два набора библиотек, старый и новый) можно собирать sdcc:
zсc +cpm -compiler sdcc -create_app hello.c
Там, конечно, тянется всякой хрени на несколько кило, зато работает из коробки.
- - - Добавлено - - -
Тот же FUZIX полностью собирается только sdcc определенной версии с определенными немейстримовскими патчами
Это только под спектрум. Все остальные z80 платформы собираются хоть nightly build-ом.
Error404
11.10.2018, 00:04
Если использовать z88dk, то это больше не проблема. Теперь софт с их библиотеками (точнее, там теперь уже два набора библиотек, старый и новый) можно собирать sdcc:
zсc +cpm -compiler sdcc -create_app hello.c
Там, конечно, тянется всякой хрени на несколько кило, зато работает из коробки.
z88dk давно не использую хотя поначалу пытался. Собственно мои эксперименты с С для Z80 в 21 веке с него и начинались. Затем SDCC и уже только потом пришел к Hitech С CPM-овскому. Оно же вроде даже не ANSI до сих пор как недавно на мой запрос сознался тут в соседней ветке Alcoholic Anonymous?
Это только под спектрум. Все остальные z80 платформы собираются хоть nightly build-ом.
Может уже подшаманили чего? Года полтора назад Алан лично писал про то каким SDCC всё собирается (SDCC был еще из ветки 2.x + какие-то мутные патчи вида "вoт эти обязательно ставьте, а эти ни в коем случае" когда уже релизы 3.х во всю выпускались) и речь точно шла не про ZX.
Может уже подшаманили чего? Года полтора назад Алан лично писал про то каким SDCC всё собирается (SDCC был еще из ветки 2.x + какие-то мутные патчи вида "вoт эти обязательно ставьте, а эти ни в коем случае" когда уже релизы 3.х во всю выпускались) и речь точно шла не про ZX.
Я что-то такое помню, но оно, наверное, уже в апстриме. Сейчас патчи нужны только для того, чтобы иметь возможность сгенерировать ядро, которое можно раскидать по 16-килобайтным банкам, которые маппятся в единственное окно и автоматом переключаются при вызове одной банки из другой. Актуально такое извращение только для спектрума.
Оно же вроде даже не ANSI до сих пор как недавно на мой запрос сознался тут в соседней ветке Alcoholic Anonymous?
Сам zcc - это лишь обертка. А внутри возможны два разных компилятора, переключаются ключом -compiler. Старый, sccz80, архаичен, хотя вроде всё-таки ANSI (C89). А пару лет назад там запилили поддержку SDCC. Синтаксис у него обычный современный, "ISO C11 standard with SDCC extensions". Вот, и в этой связке zcc при помощи SDCC совершенно прозрачно для пользователя генерит выходные файлы хоть в виде .COM для CP/M, хоть .TAP для спектрума, хоть ещё в виде десятка форматов для десятка архитектур.
Но и платные (в т.ч. например Hitech C v7.x) народ исследовал в соседних темах, и по их мнению современный SDCC по эффективности кода им как минимум не уступает (раньше уступал, и много). Претензия у меня к нему в том, что он нестабилен от патча к патчу, авторы через чур увлекаются рюшечками в ущерб полезному
А IAR Z80 (4.06A) не рассматривается вообще? Дело в отсутствующих у него библиотек работы с файловой (дисковой) системой или в самом компиляторе? И дебаггер у него имеется. Не такой навороченный, как по современным меркам, но все же не самый плохой... Ну и сам компилятор рассчитан на линейную и "banked" память.
Error404
12.10.2018, 00:39
А IAR Z80 (4.06A) не рассматривается вообще? Дело в отсутствующих у него библиотек работы с файловой (дисковой) системой или в самом компиляторе? И дебаггер у него имеется. Не такой навороченный, как по современным меркам, но все же не самый плохой... Ну и сам компилятор рассчитан на линейную и "banked" память.
IAR там же (пару лет тому назад были дебаты) сравнивали ЕМНИП, но я если честно не готов о нем говорить - не пробовал. К тому же наверняка он платный?
IAR там же (пару лет тому назад были дебаты) сравнивали ЕМНИП
Имелся ввиду твой опыт.
но я если честно не готов о нем говорить - не пробовал. К тому же наверняка он платный?
Да, ессно платный. В сети есть его крякнутый full-пакет, только в нём нет сорцев библиотек.
О пакете IAR Z80 складывается приятное впечатление как продуманного, профессионального инструмента. Листинги достаточно информативны, всё раскладывается по своим папкам (нет срача в одной папке всего и вся). У си и асм компиляторов (у линкёра тоже) имеются свои командные xcl-файлы, куда прописываются опции компиляции, исходные файлы проекта и в ком-строку компилятора можно указать только этот xcl-файл, а не длинющую строку из опций и исходников. Хоть пакет и 2001 года, но си-компилятор поддерживает (через typedef) всякие enum/struct/union примочки. Вобщем для z80 (и z180) камня мне кажется весьма достойный инструмент (по юзабельности тоже). Лучше уже не напишут. Но, ессно у каждого свои приоритеты и вкусы... :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot