PDA

Просмотр полной версии : и еще раз о uzix



sysop
19.07.2005, 13:38
http://www.linux.org.ru/view-message.jsp?msgid=1000302

Speccyfan
03.01.2006, 09:44
И почему эту тему никто не развивает ? Вроде у MSX тоже Z-80 можно ведь попробывать раскрутить ppp,TCP/IP и хотябы telnet.

CityAceE
03.01.2006, 10:36
Если бы у Спектрума был MMU, то можно было бы о чём-то говорить... Я так понимаю, что именно в него всё и упирается. Хотя действительно жаль... Даже на КПК Линукс запускают. Чем Спектрум хуже?

CityAceE
03.01.2006, 12:30
UZIX живёт здесь (http://uzix.sourceforge.net/).

А вот так эта система выглядит на MSX:

UZLO bootloader
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht13.gif

Graphical UZLO bootloader
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht12.gif

UZIX secondary bootstrap (ZILO)
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht0.gif

UZIX session with guest logon
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht2.gif

Directory, mountable FS and process management example
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht3.gif

UZIX running top
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht4.gif

Multiple logins and a ping on the local host
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht6.gif

Reading mail with PINE through a telnet into a host
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht7.gif

Accessing UZIX page using FudeBrowZer Web Browser
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht8.gif

Reading the news on MSX Resource Center using FudeBrowZer Web Browser
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht9.gif

Accessing Sean Young's MSX Net using FudeBrowZer Web Browser
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht10.gif

Reading the news on Generation MSX using FudeBrowZer Web Browser
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht11.gif

Accessing Baboo! using FudeBrowZer Web Browser
http://uzix.sourceforge.net/uzix2.0/scrshots/uzixscrsht14.gif

alexfreed
03.01.2006, 13:20
Если бы у Спектрума был MMU, то можно было бы о чём-то говорить... Я так понимаю, что именно в него всё и упирается. Хотя действительно жаль... Даже на КПК Линукс запускают. Чем Спектрум хуже?

Есть варианты не требующие MMU, например uCLinux. A разве у MSX есть MMU?

CHRV
03.01.2006, 14:51
Если бы у Спектрума был MMU, то можно было бы о чём-то говорить... Я так понимаю, что именно в него всё и упирается. Хотя действительно жаль... Даже на КПК Линукс запускают. Чем Спектрум хуже?

Давайте не забывать что КПК 32-битные все!

Второй вопрос а нахрена Линукс на Спекки?

CityAceE
03.01.2006, 14:57
Второй вопрос а нахрена Линукс на Спекки?
Just for Fun! Сделал же Быстров эмулятор Спектрума на Спектруме... От Линукса, на мой взгляд, пользы (Интернет, например) и интереса было бы больше - всё же серьёзная ось.

Costa
04.01.2006, 00:02
Сделал же Быстров эмулятор Спектрума на Спектруме...
Где сиё чудо взять и где о нём можно почитать ?

CityAceE
04.01.2006, 04:06
Где сиё чудо взять и где о нём можно почитать ?
В последнем номере InfernoGuide.

Speccyfan
04.01.2006, 14:39
ИМХО портировать линух на спекки никак не получиться, да это и не обязательно. А вот переписать на асм'е bash,pppd, tcp/ip,icmp,и все такое было бы интересно.

Максагор
04.01.2006, 21:15
В последнем номере InfernoGuide.

А он его еще не написал - только пишет. И описывал первые результаты. Вот зарелизит, тогда...

rasmer
04.01.2006, 21:38
... эмулятор Спектрума на Спектруме... жестоко... ;)

fk0
26.01.2006, 18:01
Если бы у Спектрума был MMU, то можно было бы о чём-то говорить... Я так понимаю, что именно в него всё и упирается. Хотя действительно жаль... Даже на КПК Линукс запускают. Чем Спектрум хуже?

1. у спектрума есть винт.

2. для 16кбайт задач мму уже есть.

3. мму паяется на одной мелкосхеме 1533ИР16, вроде. Там 4 регистра по
4 разряда внутри. К жёлтому скорпиону. Я делал. Софта нет. ММУ управляет
первыми 256-ю килобайтами.

4. ММУ нафиг не нужно, на самом-то деле. Многозадачнность как в юнихе
не очень-то и нужна. И прекрасный пример тому macos старая и win-3.11.

Максагор
26.01.2006, 18:30
4. ММУ нафиг не нужно, на самом-то деле. Многозадачнность как в юнихе
не очень-то и нужна. И прекрасный пример тому macos старая и win-3.11.

Тады давай аналог MacOS на Спеке забабахаем! Третьи винды идут лесом. Так даже красивше будет, особенно если Breeze графику рисовать будет! :)

fk0
26.01.2006, 18:37
Тады давай аналог MacOS на Спеке забабахаем!


Тут ключевое слово не OS. А окна. Нужна оконная система.
Хоть бы и "однозадачная".


Так даже красивше будет, особенно если Breeze графику рисовать будет! :)

Чтоб было чем ту графику рисовать. Это, фактически библиотека.

Но опять же -- кто под это будет софт писать? Тетрис, калькулятор
и часы -- это будут все "приложения" под такую ОС.

А что до "многозадачности", она прекрасно реализуется и в рамках
параллельной системы автоматов. Грубо говоря:

void OS()
{
while(1) {
task1();
task2();
task3();
}
}

С некоторыми функциями взаимодействия между автоматами.
ВСЁ. Хоть сколько задач. Лишь бы в память влезло. Ключевой
момент: стек один на всех. Состояние полностью сохраняется
в статических переменных. Учитывая, что это есть основной
способ выделения памяти на спектруме, в языке ассемблера,
-- никаких проблем...

ng_dead
22.02.2006, 16:32
Похоже Спекки единственная 8ми битная платформа, которая осталась без GUI :) На что я обратил внимание, просматривая попытки его "нарисовать" (всякие doors zxwidows и иже с ними): попытки иммитировать интерфейс винды! Спрашивается, зачем? Есть масса примеров интерфейсов (и архитектур, кстати) на восьмерках. Так нет! Смотрим именно на винду и линух! Взять к примеру С64. На нем есть замечательная ось с оконным интерфейсом. Geos называется (есть еще порт на Apple II). Производит очень приятное впечатление. Посмотрите, хоть текстовый редактор GeosWrite. ВИЗИВИГ в наличие. Есть даже подобие буфера объмена с DDE (dynamic data exchange). Несмотря на дикие тормоза :) Ну, тормоза дело понятное... (на 64ке просто ужасные дисковые интерфейсы, ужасно медленные, ужасно малообъемные :) ). А по большому счету, чем (в архитектурном плане) C64 лучше Спекки? Первое, что в голову приходит VIC II (их графический чип), отсюда количество цветов и более высокое разрешение. Ну а в остальном? В остальном он слабее Spectrum`а. (под остальным я подразумеваю, конечно, ЦП). Наш Z80 против их 6510, просто монстр! Частота почти в три раза выше! А GUI у нас не было... и нет... Обидно, товарищи! Надо с этим что-то делать...

ng_dead
22.02.2006, 16:35
да еще...
чуть не забыл!
http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29 сцыла на описуху этой байды (GEOS), со скринами

Vladimir Kladov
22.02.2006, 17:27
эмуль спека на спеке - я такое делал. Ничего сложного. Медленно правда. Зато эмуляция очень простая. Я команды кроме переходов пересылал к себе в специальное место (4 байта было выделено, остальные нопами забивались), и выполнял. Такты, правда, не считал, да и за R не следил.

spensor
14.03.2006, 10:32
Offline товарищи интересуются, никто не встречал русскоязычного описания UZIX?

fk0
14.03.2006, 17:42
Offline товарищи интересуются, никто не встречал русскоязычного описания UZIX?

Знаменитая переведённая книга М. Баха легко находится в сети. Правда не UZIX, а UNIX. Но версии как раз примерно той. Так что внутри оно очень похоже должно быть.

Ne01eX
04.05.2006, 11:04
Господа, а сырцов на UZIX ни у кого часом не завалялось?

caro
04.05.2006, 12:08
Господа, а сырцов на UZIX ни у кого часом не завалялось?У меня кое-что из исходников UZIX для MSX есть.
Но боюсь из этого полноценную рабочую систему не собрать.

boo_boo
04.05.2006, 17:00
Господа, а сырцов на UZIX ни у кого часом не завалялось?так на http://sourceforge.net/projects/uzix/ лежат ведь сорцы для 1.0

Ne01eX
28.06.2006, 06:41
так на http://sourceforge.net/projects/uzix/ лежат ведь сорцы для 1.0

Спасибо, не сразу нашел.

SfS
18.08.2006, 14:53
Помоему некоторая каша в голове у некоторых товарищей.

1. MMU и многозадачность - ВЕЩИ НИКАК НЕ СВЯЗАННЫЕ. Пример - у меня ucLinux прекрасно крутится на самодельной платке с ARMом - никакого MMU там отродясь не было. MMU лишь позволяет уменьшить время на загрузку и упростить использование разделяемых библиотек. Но это уже отдельная тема.

2. Для многозадачности лучше всего использовать таймер повешанный на NMI. Который (в обычном случае) собственно и будет делать то же, что и
void OS()
{
while(1) {
task1();
task2();
task3();
}
}
с одним существенным отличием - можно будет "убить" повисшую задачу. В предложенной же программке достаточно одного глюка в одной задаче - и все - мертвый висяк всей системы.

3. Переписывать bash,pppd, tcp/ip - бессмысленно. Лучше уж пусть кто-нибудь знающий портируе GCC для Z80. Это на 100% возможно, поскольку для 8 разрядных процов GCC код собирает и прекрасно оптимизирует (я на нем под AVR писал - специально дизассемблировал чтобы посмотреть что он там мне накомпилил).
Зато если GCC будет - то основные системные утилиты можно просто перекомпилировать. Даже если и потребуется где напильник - все равно это гораздо меньше работы чем писать все с нуля. Да и кому охото в 100й раз писать ls, cat и т.п.

Вот мой взгляд на вещи.

caro
18.08.2006, 15:05
... Лучше уж пусть кто-нибудь знающий портируе GCC для Z80. ...А что SDCC для этого не подходит?

maximk
19.08.2006, 15:02
Написать компилятор С с нуля - сложная задача. С другой стороны, современные компиляторы написаны так, что собственно генерацией кода занимается отдельная довольно независимая часть. Такие компиляторы называются retargetable. GCC формально таким является, но далеко не самый удобный для реализации своего back-end'а. Я думаю поэтому так и не появился генератор для z80, хотя начинания были.

Я просмотрел имеющиеся открытые разработки и думаю проще всего было бы написать кодогенератор для LCC. Но там есть две проблемы: его полное описание не существует в электронном виде принципиально, а единственная книжка по нему продавалась давно и только на amazon'е, и, во-вторых, все-таки он ориентирован на risc-процессоры. Тем не менее, существует back-end для x86.

Есть еще один, более экзотический компилятор из набора Amsterdam Compiler Kit, также использущий промежуточный псевдокод и поэтому позволяющий реализовать back-end. Более того, там уже присутствует back-end для z80, но код, сгенеренный им, назвать оптимальным сложно. Однако, исчерпывающее описание для создание своего генератора есть.

Про sdcc и z88dk уже говорили в какой-то ветке, и с выводом я согласен - не дотягивают они по качеству кода для написания UNIX-like OS на C. Не спроста в UZIX используется Hi-Tech - на сегодняшний день он остается самым продвинутым компилером для z80, и единственный его недостаток, что его бесплатная версия есть только для CP/M, да и то без исходников.

SfS
20.08.2006, 13:19
А что SDCC для этого не подходит?

У него оптимизация примерно на уровне НУЛЯ :)

Кстати - все утилиты собирались именно gcc - потому я про него и пишу. Проще уж один раз портировать gcc, чем переписывать 1000 Makefile под ключи другого компилятора.



GCC формально таким является, но далеко не самый удобный для реализации своего back-end'а. Я думаю поэтому так и не появился генератор для z80, хотя начинания были.

Тут, ИМХо, дело не в трудности, а в том, что это никому не надо... Ну кто сейчас серьезные пром. разработки на Z80 делает ? Вон для AVR (тоже 8 разрядов проц) - gcc переделали махом, поскольку это надо.
Проблема в том, что никому, кто РЕАЛЬНО МОЖЕТ переделать gcc под Z80 - это не надо...

psb
21.08.2006, 12:35
У него оптимизация примерно на уровне НУЛЯ
неужели???

James DiGreze
21.08.2006, 14:23
В старых версиях - 100%... Новой пока не компилил, так что ничего сказать не могу.

ZEK
21.08.2006, 15:43
Недано последнюю версию смотрел конструкция вида tmp = tmp & 0xF8 | arg & 0x07; заняла 12 команд причем в флаг оптимизировать по размеру до одного места. Он даже один единственный 8 битный параметр передает через стек

psb
21.08.2006, 16:31
Он даже один единственный 8 битный параметр передает через стек
оч странно.. смотрел несколько компиляторов, но именно он мне больше всего понравился.. запомнилось, что как раз, если аргументы умещаются в регистрах, то стек он не юзает.. хм.. и вырезал всё лишнее из кода.. хотя, код был простенький у меня

James DiGreze
21.08.2006, 19:30
Вообще, проблема как раз не в оптимизации компилятора, а в возможности его использования в качестве средста разработки. SDCC этим требованиям удовлетворяет, хоть и не совсем.
Проблемы начнут возникать во время стыковки программ с интерфейсом системы, н-р TR-DOS...
Хотя... Базис вполне подходит... ;)

Rst7
25.08.2006, 14:35
Господа, возьмите IAR, наверняка чудный код сгенерит... А странички в uzix нужны, он только так может задачи переключать...