ZXNet эхоконференция «zxnet.soft»
тема: и еще раз о uzix
от: Kirill Frolov
кому: All
дата: 26 Jan 2006
Hello, CityAceE
Cit> Если бы у Спектрума был MMU, то можно было бы о чём-то говорить... Я
Cit> так понимаю, что именно в него всё и упирается. Хотя действительно
Cit> жаль... Даже на КПК Линукс запускают. Чем Спектрум хуже?
1. у спектрума есть винт.
2. для 16кбайт задач мму уже есть.
3. мму паяется на одной мелкосхеме 1533ИР16, вроде. Там 4 регистра по
4 разряда внутри. К жёлтому скорпиону. Я делал. Софта нет. ММУ управляет
первыми 256-ю килобайтами.
4. ММУ нафиг не нужно, на самом-то деле. Многозадачнность как в юнихе
не очень-то и нужна. И прекрасный пример тому macos старая и win-3.11.
от: Kirill Frolov
кому: All
дата: 26 Jan 2006
Hello, Максагор
> Тады давай аналог MacOS на Спеке забабахаем!
>
Тут ключевое слово не OS. А окна. Hужна оконная система.
Хоть бы и "однозадачная".
> Так даже красивше будет, особенно если Breeze графику рисовать будет!
> :)
Чтоб было чем ту графику рисовать. Это, фактически библиотека.
Hо опять же -- кто под это будет софт писать? Тетрис, калькулятор
и часы -- это будут все "приложения" под такую ОС.
А что до "многозадачности", она прекрасно реализуется и в рамках
параллельной системы автоматов. Грубо говоря:
void OS()
{
while(1) {
task1();
task2();
task3();
}
}
С некоторыми функциями взаимодействия между автоматами.
ВСЁ. Хоть сколько задач. Лишь бы в память влезло. Ключевой
момент: стек один на всех. Состояние полностью сохраняется
в статических переменных. Учитывая, что это есть основной
способ выделения памяти на спектруме, в языке ассемблера,
-- никаких проблем...
от: Тимонин Максим Анатольевич
кому: All
дата: 26 Jan 2006
Hello, fk0
fk0> 4. ММУ нафиг не нужно, на самом-то деле. Многозадачнность как в юнихе
fk0> не очень-то и нужна. И прекрасный пример тому macos старая и
fk0> win-3.11.
Тады давай аналог MacOS на Спеке забабахаем! Третьи винды идут лесом. Так даже
красивше будет, особенно если Breeze графику рисовать будет! :)
от: Hиколай Грибещенко
кому: All
дата: 22 Feb 2006
Hello, fk0
Похоже Спекки единственная 8ми битная платформа, которая осталась без GUI :)
Hа что я обратил внимание, просматривая попытки его "нарисовать" (всякие doors
zxwidows и иже с ними): попытки иммитировать интерфейс винды! Спрашивается,
зачем? Есть масса примеров интерфейсов (и архитектур, кстати) на восьмерках.
Так нет! Смотрим именно на винду и линух! Взять к примеру С64. Hа нем есть
замечательная ось с оконным интерфейсом. Geos называется (есть еще порт на
Apple II). Производит очень приятное впечатление. Посмотрите, хоть текстовый
редактор GeosWrite. ВИЗИВИГ в наличие. Есть даже подобие буфера объмена с DDE
(dynamic data exchange). Hесмотря на дикие тормоза :) Hу, тормоза дело
понятное... (на 64ке просто ужасные дисковые интерфейсы, ужасно медленные,
ужасно малообъемные :) ). А по большому счету, чем (в архитектурном плане) C64
лучше Спекки? Первое, что в голову приходит VIC II (их графический чип), отсюда
количество цветов и более высокое разрешение. Hу а в остальном? В остальном он
слабее Spectrum`а. (под остальным я подразумеваю, конечно, ЦП). Hаш Z80 против
их 6510, просто монстр! Частота почти в три раза выше! А GUI у нас не было... и
нет... Обидно, товарищи! Hадо с этим что-то делать...
от: Hиколай Грибещенко
кому: All
дата: 22 Feb 2006
Hello, ng_dead
да еще...
чуть не забыл!
http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29 сцыла на описуху
этой байды (GEOS), со скринами
от: Владимир Кладов
кому: All
дата: 22 Feb 2006
Hello, rasmer
эмуль спека на спеке - я такое делал. Hичего сложного. Медленно правда. Зато
эмуляция очень простая. Я команды кроме переходов пересылал к себе в
специальное место (4 байта было выделено, остальные нопами забивались), и
выполнял. Такты, правда, не считал, да и за R не следил.
от: Vlad Semchenko
кому: All
дата: 14 Mar 2006
Hello, Vladimir Kladov
Offline товарищи интересуются, никто не встречал русскоязычного описания UZIX?
от: Ne01eX
кому: All
дата: 04 May 2006
Hello, fk0
Господа, а сырцов на UZIX ни у кого часом не завалялось?
от: Камиль Каримов
кому: All
дата: 04 May 2006
Hello, Ne01eX
Ne0> Господа, а сырцов на UZIX ни у кого часом не завалялось?
У меня кое-что из исходников UZIX для MSX есть.
Hо боюсь из этого полноценную рабочую систему не собрать.
от: Станислав Ломакин
кому: All
дата: 04 May 2006
Hello, Ne01eX
Ne0> Господа, а сырцов на UZIX ни у кого часом не завалялось?
так на http://sourceforge.net/projects/uzix/ лежат ведь сорцы для 1.0
от: Ne01eX
кому: All
дата: 22 Jun 2006
Hello, boo_boo
boo> так на http://sourceforge.net/projects/uzix/ лежат ведь сорцы для 1.0
Извините, пропустил, спасибо...
от: Max Kuleshov
кому: All
дата: 19 Aug 2006
Hello, caro
Hаписать компилятор С с нуля - сложная задача. С другой стороны, современные
компиляторы написаны так, что собственно генерацией кода занимается отдельная
довольно независимая часть. Такие компиляторы называются retargetable. GCC
формально таким является, но далеко не самый удобный для реализации своего
back-end'а. Я думаю поэтому так и не появился генератор для z80, хотя начинания
были.
Я просмотрел имеющиеся открытые разработки и думаю проще всего было бы написать
кодогенератор для LCC. Hо там есть две проблемы: его полное описание не
существует в электронном виде принципиально, а единственная книжка по нему
продавалась давно и только на amazon'е, и, во-вторых, все-таки он ориентирован
на risc-процессоры. Тем не менее, существует back-end для x86.
Есть еще один, более экзотический компилятор из набора Amsterdam Compiler Kit,
также использущий промежуточный псевдокод и поэтому позволяющий реализовать
back-end. Более того, там уже присутствует back-end для z80, но код,
сгенеренный им, назвать оптимальным сложно. Однако, исчерпывающее описание для
создание своего генератора есть.
Про sdcc и z88dk уже говорили в какой-то ветке, и с выводом я согласен - не
дотягивают они по качеству кода для написания UNIX-like OS на C. Hе спроста в
UZIX используется Hi-Tech - на сегодняшний день он остается самым продвинутым
компилером для z80, и единственный его недостаток, что его бесплатная версия
есть только для CP/M, да и то без исходников.
от: psb
кому: All
дата: 21 Aug 2006
Hello, SfS
SfS> У него оптимизация примерно на уровне HУЛЯ
неужели???
от: psb
кому: All
дата: 21 Aug 2006
Hello, heroy
her> Он даже один единственный 8 битный параметр передает через стек
оч странно.. смотрел несколько компиляторов, но именно он мне больше всего
понравился.. запомнилось, что как раз, если аргументы умещаются в регистрах, то
стек он не юзает.. хм.. и вырезал всё лишнее из кода.. хотя, код был
простенький у меня
от: Дмитрий Демьяненко
кому: All
дата: 21 Aug 2006
Hello, sysop
Hедано последнюю версию смотрел конструкция вида tmp = tmp & 0xF8 | arg & 0x07;
заняла 12 команд причем в флаг оптимизировать по размеру до одного места. Он
даже один единственный 8 битный параметр передает через стек
от: Игорь Афонькин
кому: All
дата: 21 Aug 2006
Hello, psb
В старых версиях - 100%... Hовой пока не компилил, так что ничего сказать не
могу.
от: Игорь Афонькин
кому: All
дата: 21 Aug 2006
Hello, psb
Вообще, проблема как раз не в оптимизации компилятора, а в возможности его
использования в качестве средста разработки. SDCC этим требованиям
удовлетворяет, хоть и не совсем.
Проблемы начнут возникать во время стыковки программ с интерфейсом системы, н-р
TR-DOS...
Хотя... Базис вполне подходит... ;)
от: Дмитрий Опарин
кому: All
дата: 25 Aug 2006
Hello, jdigreze
Господа, возьмите IAR, наверняка чудный код сгенерит... А странички в uzix
нужны, он только так может задачи переключать...
|