PDA

Просмотр полной версии : Оберон – это Спектрум будущего



Oleg N. Cher
10.03.2012, 22:39
Тема выделена из ветки http://zx.pk.ru/showthread.php?t=18336

Здесь я попытаюсь ответить на вопрос Alone Coder’а “Почему Оберон?” – размещу мысли об Оберонах как языковой и технологической платформе, простой для освоения, экономичной, выразительной, корпоративно-нейтральной и достаточно хорошо абстрагированной от железа. Тема специально содержит претенциозный заголовок, так как создаётся для активного обсуждения (или для флейма; кто как понял) Оберонов в роли Спектрума как простой программной (языковой) платформы. Обероны приходят на место Спектруму, как достаточный для творческих личностей минимум, способный стать катализатором в раскрытии творческих способностей и задатков оных личностей, если таковые имеются.

В Оберонах действительно есть к чему приложить руку. Здесь ещё не сказано последнее слово, есть много открытых направлений работы, например, я сделал биндинги библиотеки SDL для КП https://sourceforge.net/projects/sdl-for-oberon/, начал портировать на КП библиотеку KOL http://forum.oberoncore.ru/viewtopic.php?f=47&t=2829 (кстати, на базе этой библиотеки сделан эмулятор Спектрума EmuZWin), участвую в развитии GUI-библиотеки OVCL http://zx.oberon2.ru/ovcl.htm для компилятора OPCL, участвую в команде по развитию компилятора OPCL https://sourceforge.net/projects/opcl. Всё на некоммерческих началах, на правах энтузиаста.

Потребительский подход к Оберону или творческий, исследовательский? Оберон – не для потребителей, в отличии от Java и .NET. Здесь маленько другое. Там – конкуренция и корпоративность. Здесь – полигон для изучения языковых средств. Там – выживаемость и реклама. Здесь мне не платят ни копейки за рекламу Оберон-технологий, даже не надейтесь. Можно совместить там и здесь? Можно попробовать. Надо развивать подход. Например, продвинутые средства для построения GUI на ETH Oberon для мэйнстрим-систем мы ещё только делаем, поэтому говорить о написании GUI-приложений для Windows на Обероне с помощью компилятора OPCL ещё рановато.

Что ещё общего у Спека и Оберона – простота. Научиться сознательно применять его – около месяца, при условии активного использования. Научиться сознательно применять его достоинства перед другими технологиями – этому можно учиться всю жизнь. Кстати, полагаете, потенциал Спектрума уже полностью раскрыт? О постижении пределов Оберон-потенциала тоже остаётся только догадываться. Смотрите аналогию. Появилось железо классического Спека с 48 кб. Какие игры на нём делались сперва? Правильно, типа Manic Miner. Это потом уже появились Alien 8, Blade Warrior, Fairlight, Dizzy и Nether Earth. Это был путь развития программерской мысли на зафиксированном железе. А потом появились мегадемы, видео на Спеке, Fido/ZXNet и прочее. Конечно, железо уже было слегка другое, но проц практически тот же. Не считая режима Turbo. И люди всё время искали как избавиться от ассемблера, ибо понимали насколько трудно, медленно и чревато ошибками на нём работать. “Ненавижу асм, меня на него блевать тянет” (с) В.С.Медноногов

Господа, в соседней дружественной ветке некоторых людей смущает наличие в цепочке трансляторов Ofront/SDCC промежуточного представления программы на языке Си, но почему тогда не смущает трансляция SDCC не прямо в машкод, а для начала в ассемблер? А почему не смущает такая неуклюжая и столь малоподходящая для разворачивания на других платформах форма для представления высокоуровневых алгоритмов как асм Z80? Даже Оберон в этом смысле куда как нагляднее.

Если хочется увековечить алгоритм или хотя бы иметь его в наглядном и понятном виде для осязания и дальнейшего совершенствования, то нужно платформенно-нейтральное представление. Тут Оберон (возможно, слегка модифицированный) подходит отлично. А ещё платформы сменяют друг друга. 30 лет назад буяли MSX и ZX, потом реванш взял DOS. Вспоминается GameBoy, а ещё совсем-совсем недавно много говорили о PalmOS. Сегодня мы видим угасающую популярность платформы J2ME и возрастающую – Android. В этом свете Оберон я рассматриваю как инструмент, позволяющий автоматически развернуть алгоритмы на любой из перечисленных платформ (включая Спектрум), пусть не на 100% эффективно, но оцените саму возможность. А асм 80 в этом свете выглядит глупой частностью, хотя не здесь об этом будет сказано. В лице Оберона я обрёл языковую платформу, которая ложится на другие платформы. Спектрум-наработки можно и должно с помощью Оберона превращать в вечность, которую удастся развернуть на других платформах. Это не будет альтернативой эмуляторам. Эмуляцию Спектрума или процессора Z80 на других платформах я не рассматриваю хотя бы потому, что это очень ограниченное по своим возможностям решение, начиная с организации экрана, заканчивая мелким адресным пространством и страничной организацией памяти. Я люблю Спектрум, но давайте признаем, что плоская модель памяти, которую невозможно было реализовать в 80-х ввиду дороговизны памяти и отсутствия её больших объёмов вообще, единственно удобна. Страницы создают огромное количество проблем для программиста. Поэтому, если возникнет желание доработать готовую или начатую для Спектрума игру, мы неизбежно столкнёмся с необходимостью переноса её на язык X [подставить массово навязываемое] и платформу Y [подставить массово продаваемое]. Если же наша игра останется в коде Z80 и на базе кода с эмуляцией, её убьёт если не количество ограничений на связку эмулированного кода с неэмулированным, то хотя бы путаница во внутреннем устроении.

Оберон-технологии – это прокрустово ложе для попыток быстро закодить плохо продуманные и плохо спроектированные решения. Этим оно здорово не нравится в начале освоения. Я бы выделил три вещи, которые больше всего не нравятся в Оберонах новичкам (ровно так же, как они не нравились в начале и мне).

1. Отсутствие беззнаковых типов
2. Отсутствие макропроцессора и #ifdef
3. Присутствие автоматического управления памятью и наличие сборки мусора (мы просто не знаем что с этим делать)

Надо думать, если мы будем реализовать Оберон для Z80, то первые 2 пункта придётся ввести однозначно, а третий столь же однозначно убрать.

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

В заключение несколько ссылок. Извините, если повторяюсь. Мне не хотелось бы вступать в дискуссии, если Вы их не прочтёте (устал многим объяснять одно и то же). Согласен, читать многовато, но чтиво весьма интересное.

Свердлов С.З. Арифметика синтаксиса
http://uni-vologda.ac.ru/cs/syntax/index.html
http://uni-vologda.ac.ru/cs/syntax/ariphm.htm
http://oberon2005.oberoncore.ru/paper/arith.pdf

Джозеф Темпл. Oberon против C++
http://oberon2005.oberoncore.ru/paper/templ.pdf

Свердлов С.З. Язык программирования Си# – критическая оценка
http://uni-vologda.ac.ru/~c3c/articles/CScritics.htm

Руслан Богатырёв. Оберон как эсперанто программирования
http://www.computer-museum.ru/histsoft/ober_esp.htm
http://oberon2005.oberoncore.ru/paper/obe_esp.pdf

Потопахин В.В. Почему Паскаль (Газета 'Информатика' № 06-2008)
http://inf.1september.ru/article.php?ID=200800604

Свердлов С.З. Оберон – воплощение мечты Никлауса Вирта
http://uni-vologda.ac.ru/~c3c/articles/dream.htm
http://www.software.unn.ac.ru/zonnon/files/oberon.doc
http://oberon2005.oberoncore.ru/paper/obe_drm.pdf

Свердлов С.З. Маленький большой язык Оберон
http://www.pcweek.ru/themes/detail.php?ID=43403
http://oberon2005.oberoncore.ru/paper/obe_lang.pdf

Руслан Богатырёв. Гадание на кофейной гуще
http://oberon2005.oberoncore.ru/paper/obe_java2.pdf

Руслан Богатырёв. Java на марше
http://oberon2005.oberoncore.ru/paper/obe_java6.pdf

Руслан Богатырёв. Никлаус Вирт – патриарх надёжного программирования
http://www.osp.ru/pcworld/2004/03/102.htm
http://oberon2005.oberoncore.ru/paper/wirth.pdf

Руслан Богатырёв. Modula, Oberon и Java (Интервью с Д.Лесковым и В.Михеевым)
http://oberon2005.oberoncore.ru/paper/obe_java7.pdf

Руслан Богатырёв. Судьба Оберона
http://oberon2005.oberoncore.ru/paper/obe_fate.html
http://oberon2005.oberoncore.ru/paper/obe_fate.pdf

Руслан Богатырёв. О программировании и выборе языка для представления алгоритмов
http://web-pascal.narod.ru/stat/oprog.htm

М.Франц. Java – критическая оценка
http://www.osp.ru/pcworld/1997/08/56.htm
http://oberon2005.oberoncore.ru/paper/obe_java1.pdf

М.Франц. Динамическая кодогенерация: ключ к разработке переносимого программного обеспечения
http://www.uni-vologda.ac.ru/oberon/infoart/otherfly.htm

Никлаус Вирт. Долой 'жирные' программы
http://www.osp.ru/os/1996/06/27.htm
http://oberon2005.oberoncore.ru/paper/fatprog.pdf

Никлаус Вирт. От Modula к Oberon
http://www.ict.edu.ru/ft/004781/m2_obe.pdf

К.Пешио. Никлаус Вирт о культуре разработки ПО
http://www.osp.ru/os/1998/01/41.htm
http://oberon2005.oberoncore.ru/paper/sftcult.pdf

Никлаус Вирт. Преподавание информатики – потерянная дорога
http://www.inr.ac.ru/~info21/texts/2002-06-Aarhus/ru.htm

Никлаус Вирт. Хорошие идеи – взгляд из Зазеркалья
http://citforum.ru/programming/digest/wirth/

Юрг Гуткнехт. Проект Oberon. Разработка операционной системы и компилятора
http://notabenoid.com/book/20826

Ханспетер Мёссенбёк. Плюсы и минусы ООП
http://uni-vologda.ac.ru/oberon/infoart/plus&min.htm

С.Губанов. Секреты модульных систем
http://oberoncore.ru/articles/gubanov/

А.Е.Недоря. Расширяемая переносимая система программирования, основанная на биязыковом подходе
http://kronos.iis.nsk.su/sites/default/files/Nedorya.pdf

А.Е.Недоря. Перенацеливаемый оптимизирующий Модула-2 - Оберон-2 компилятор
http://oberon2005.oberoncore.ru/paper/obe_ned.pdf

Поттосин И.В. Российские исследования по ЯП и трансляции
http://oberon2005.oberoncore.ru/paper/rus_trn.pdf

Вива, Оберон!

farewell
11.03.2012, 10:46
Спектрум ценят за богатое прошлое, а не за какое-то феерическое будущее.

Я боюсь, что уловка с ассоциированием спектрума и оберона не сработает.

---------- Post added at 10:46 ---------- Previous post was at 10:16 ----------

И немного пополемизирую.



Обероны приходят на место Спектруму, как достаточный для творческих личностей минимум
Unity с некоммерческой лицензией больше подходит на роль минимума для творческих личностей, который приходит на смену Спектруму. Хотя бы потому, что платформу с игровой направленностью сменяет платформа, имеющая обширный инструментарий для создания игр и гибкий язык нового поколения.



В Оберонах действительно есть к чему приложить руку.
Это большая проблема для того, кто уже хочет написать что-то ЗАВЕРШЁННОЕ. Представим себе, что Спектрум продавался бы исключительно в виде компьютера, который надо было бы ещё собрать перед включением.



Оберон – не для потребителей, в отличии от Java и .NET. Здесь маленько другое. Там – конкуренция и корпоративность. Здесь – полигон для изучения языковых средств.
Какова конечная цель изучения языковых средств? Замечу, что на 10000 человек обычного населения едва найдётся хотя бы один филолог.



Господа, в соседней дружественной ветке некоторых людей смущает наличие в цепочке трансляторов Ofront/SDCC промежуточного представления программы на языке Си, но почему тогда не смущает трансляция SDCC не прямо в машкод, а для начала в ассемблер?
Смущает не тем, что язык высокого уровня транслируется в другой язык высокого уровня, а тем, что Оберон в этой цепочке - явно избыточное звено. Спектрум - это примитивный восьмибитный компьютер. Здесь достаточно Си, даже безо всякой объектности. Си лаконичнее чем Оберон, и имеет большее распространение. Логично изучить сразу Си.



В этом свете Оберон я рассматриваю как инструмент, позволяющий автоматически развернуть алгоритмы на любой из перечисленных платформ (включая Спектрум), пусть не на 100% эффективно, но оцените саму возможность.
Дай бог, чтобы хотя бы 50% функционала переносилось. Вообще, универсальность - это зло. Можно сделать калькулятор, который достаточно эффективно компилируется на полдюжины разных платформ. Всё, что сложнее, уже тащит за собой большой хвост из велосипедов, являющихся адаптерами универсальных возможностей к конкретной платформе. Для примера, хеллоуворлд для андроида, написанный с использованием андроид сдк, занимает около 60 кб, а точно такой же, но написанный на мармеладе - уже почти 500 кб. При этом можно и не мечтать об использовании родного уи андроида, равно как и прочих платформ, на которые можно скомпилировать это приложение.



А асм 80 в этом свете выглядит глупой частностью, хотя не здесь об этом будет сказано.
Асм - это основа. Вам не нужно стыдиться того, что вы родились голым, без знания Оберона или других языков. Но изменить этого вы не можете.

AlexFantasy
11.03.2012, 11:58
говорить о написании GUI-приложений для Windows на Обероне с помощью компилятора OPCL ещё рановато. Ну и замашки!:rolleyes:

jerri
11.03.2012, 14:25
Oleg N. Cher, даже великий Вааб не писал столько текста. а он был Троллем не тебе чета.
К чему эти буквы? к чему попытки опустить основы основ?


некоторых людей смущает наличие в цепочке трансляторов Ofront/SDCC промежуточного представления программы на языке Си, но почему тогда не смущает трансляция SDCC не прямо в машкод, а для начала в ассемблер?

ассемблер является отображением машкода для человека


А почему не смущает такая неуклюжая и столь малоподходящая для разворачивания на других платформах форма для представления высокоуровневых алгоритмов как асм Z80? Даже Оберон в этом смысле куда как нагляднее.

зачем смешивать котлеты и мух
зачем предлагать киловаттный (http://tools.wikimart.ru/instrument/perforator/model/25659/perforator_metabo_khe_96/) перфоратор (http://lurkmore.to/%D0%A5%D1%83%D0%B5%D1%82%D0%B0) человеку паяющему подковы для блохи?

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

Slesar
12.03.2012, 15:12
Я боюсь, что уловка с ассоциированием спектрума и оберона не сработает.
Давно известный стилистический прием. Детально описан к. фил. н. А. Н. Онимусом в следующем труде:
http://lurkmore.to/Ленин_—_гриб!
Что до меня, хоть убей - не пойму, чем язык, разработанный для интеграции в систему, явно не рассчитанную на ресурсы спека, так полезен для последнего. Имхо, этом плане - хоть Оберон, хоть Жаба, хоть Питон - монопенисуально. Родного компилятора языка нету и не будет, ибо пейсать некому. Двойная трансляция - глюк.

farewell
12.03.2012, 15:49
Нужно просто спокойно принять то, что топикстартер преисполнен любви и обожания к Оберону. Это толкает его на опрометчивые попытки скрестить Оберон со всем что движется или плохо закреплено.

Даже если это не проходит со временем, особо плохого в этом тоже ничего нет.

aviator
12.03.2012, 23:51
Знаете, сделать компилятор "Оберона" для 8-разрядных машин вполне реально. Я, конечно, по спектрумским осям не очень, но вот для CP/M можно.

---------- Post added at 23:51 ---------- Previous post was at 23:48 ----------

А насчёт полной оберон-системы надо подумать. Всё-таки на другие типы архитектур рассчитывалась.

jerri
13.03.2012, 12:18
aviator, на спектруме нет ОС :(

aviator
13.03.2012, 13:41
Ну тогда сразу делать компилятор и ОСь на "Обероне"! :)

farewell
13.03.2012, 14:10
aviator, на спектруме нет ОС :(

Бейсик, ту последовательность действий, которая происходит между включением компьютера и надписью "Sinclair Research Ltd", а так же набор подпрограмм, который загружает файлы с кассеты и делает ещё несколько действий общего характера, вполне можно охарактеризовать как операционную систему. :D

jerri
13.03.2012, 14:52
является ли программа-монитор на Микроше операционной системой?

farewell
13.03.2012, 15:08
Вот что говорит Википедия (http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D 0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0 %B5%D0%BC%D0%B0):


Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
В логической структуре типичной вычислительной системы операционная система занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой.

Я не знаком с Микрошей, но думаю, если его монитор удовлетворяет критериям выше, его тоже можно признать операционной системой.

:v2_dizzy_roll:

jerri
13.03.2012, 16:16
вот тут (http://video.yandex.ru/?ncrnd=7386#search?text=%D0%BC%D0%B8%D0%BA%D1%80%D 0%BE%D1%88%D0%B0%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82% D0%BE%D1%80&where=all&id=8296712-01-12) как раз в работе монитор микроши :) ну очень базовые функции :)

Titus
13.03.2012, 16:24
Я не знаком с Микрошей, но думаю, если его монитор удовлетворяет критериям выше, его тоже можно признать операционной системой.
Монитор Микроши, а тем более еще более урезанный от Специалиста ну никак нельзя назвать ОС. В первом случае - это действительно монитор, не являющийся прослойкой между программами и железом, а скорее набор неких базовых функций, которые можно использовать, а можно и нет. А в случае со Специалистом - так там монитор вообще не монитор, а начальный загрузчик, в котором ничего, кроме загрузки настоящего монитора с кассеты нельзя сделать.
Если называть осью любой загрузчик из ПЗУ, то ОС есть у всех компьютеров, имеющих ПЗУ.

farewell
13.03.2012, 16:34
jerri,
Titus,
MS-DOS тоже можно использовать, а можно и нет. Функционально, простейшая операционная система (система, которая позволяет некие операции) - это тоже операционная система.

Можно спорить на этот счёт бесконечно, но я не хотел бы. Субъективно, вы оба правы: в обоих случаях это операционная система "курам на смех". Но, поскольку монитор "Микроши" позволяет оператору выполнять какие-то действия - первый случай явно относится к операционным системам.

---------- Post added at 16:34 ---------- Previous post was at 16:33 ----------

Нас сейчас поругают за оффтоп, я думаю.

vinxru
13.03.2012, 16:35
Я необоснованно считаю, что у операционной системы всего одна функция - загружать и выполнять программы. То есть:

1) Куча полезных функций для программиста
2) Распределение памяти, процессорного времени между программами и т.п.
3) Не давать программам угробить друг друга и операционную систему

Вот Windows нужна только, что бы выполнять программы Windows. Linux нужен что бы выполнять программы Linux.

farewell
13.03.2012, 16:42
vinxru, В этот список надо добавить периферию.

vinxru
13.03.2012, 16:46
Опять же не обоснованно, я считаю, что с периферией должны работать драйвера, которые не являются операционной системой.

Даже в CP/M и MS DOS (io.sys - дрова, msdos.sys - операционка) драйвера лежат отдельно.

farewell
13.03.2012, 16:53
В Windows-95 этот недочёт исправлен: там io.sys содержит уже и ядро ос.

Black_Cat
13.03.2012, 18:04
Бейсик, ту последовательность действий, которая происходит между включением компьютера и надписью "Sinclair Research Ltd", а так же набор подпрограмм, который загружает файлы с кассеты и делает ещё несколько действий общего характера, вполне можно охарактеризовать как операционную систему.не надо это охарактеризовывать как операционную систему, ибо это бред. Вопрос обсуждался тыщу раз, и вывод токо один - Синклер-БЕЙСИК - не ОС, TR-DOS - не ОС. Если очень хочется, то и то и другое можно называть ОПЕРАЦИОННЫМИ СРЕДАМИ, т.е. средой, позволяющей реализовывать часть функционала присущего ОС.

является ли программа-монитор на Микроше операционной системой?однозначно - нет, см. выше

Просьба больше эту тему не поднимать и не развивать! Ответ уже есть, и он окончательный!

farewell
13.03.2012, 18:06
Black_Cat, буду благодарен за ссылку на страницу, где это обсуждалось.

vinxru
13.03.2012, 18:16
MS DOS то же не операционная система? Он отличается от TRDOS только тем, что умеет память распределять, да переменные окружения в памяти хранить. (http://www.codenet.ru/progr/dos/int_0026.php)

Тогда MSDOS не ОС и Windows 3.0 не ОС. Вообще нет ОС там.

Black_Cat
13.03.2012, 18:38
буду благодарен за ссылку на страницу, где это обсуждалось.

farewell, эта тема обсуждалась как и здесь между делом, а не в специальном топике, поэтому искать все эти обсуждения я не возьмусь, считаю, достаточно и результата этих обсуждений.

Хочу так же обрубитЬ на корню всякие поползновения обсуждать возможность развития Синклер-БЕЙСИКА или TR-DOS до полноценной ОС. Этот путь тоже уже пройден и все видели, чем это заканчивается на примере iS-DOS, которую "развивали" из дискового загрузчика. Теперь она может участвовать в конкурсе на самую блевотно-маргинальную ОС в мире, и уверен что попадёт в призёры.

Господа, прошу проникнуться уважением к рубрике, где вы находитесь, она называется "Концепции", а не "Отстойно - маргинальный флейм"!

ZEK
13.03.2012, 18:41
Синклер-БЕЙСИКА
басик ОС!, памятью рулит, процессы запускает, сохранением загрузкой с внешней памяти дружит, итого ОС, БК не шарит

Black_Cat
13.03.2012, 18:48
Он отличается от TRDOS только тем, что умеет память распределять, да переменные окружения в памяти хранитьона отличается полноценным набором функций присущих ОС

---------- Post added at 18:45 ---------- Previous post was at 18:42 ----------


памятью рулит, процессы запускает, сохранением загрузкой с внешней памяти дружит, итого ОСПолный функционал не реализует - значит не ОС

---------- Post added at 18:48 ---------- Previous post was at 18:45 ----------

Дима, веди себя прилично, т.е. не надо троллить.

ZEK
13.03.2012, 18:56
Полный функционал не реализует
где в определении написано что должен быть полный функционал? и кто определяет какой из функционалов полон?

vinxru
13.03.2012, 19:02
она отличается полноценным набором функций присущих ОС

Я не хочу флудить в этой теме, но вы совсем не аргументируете. Пришли и сказали - Я решил, а вы отстойщики-маргиналы. Я описал явные отличия TRDOS и MSDOS. Привел ссылку на API MSDOS. Я могу по функциям сравнить.

И в общем, вы мне не переубедили.

Black_Cat
13.03.2012, 20:17
где в определении написано что должен быть полный функционал?а где написано, что это определение абсолют? Нигде.
Необходимо понимать, что это не определение физиче6ского закона, которое есть абсолют, здесь мы сами решаем что считать осью, исходя из сегодняшних реалий и задач данного класса компьютеров. Если мы хотим иметь современный, удобный компьютер, а не окаменевшее ***** мамонта, а мы хотим именно этого - то мы не станем "развивать" ОС из загрузчика или БЕЙСИКА. Более того, мы - реалисты, понимающие, что на Спектруме нет системщиков способных поднять самостоятельно полноценную ОС (именно полноценную, а не очередной загрузчик). Поэтому, будучи в здравом уме, мы, в результате многочисленных обсуждений в разных топиках пришли к единственно верному решению - ОС для Спектрума должна быть исключительно заимствованной и пригодной к вменяемой по затратам адаптации, включая и ПО, существующее под эту ОС.

Всякое отступление, или попытки пересмотра такого решения, должны расцениваться как троллинг - обсуждений уже было достаточно. Это - конструктивно. Кто не согласен работать конструктивно - может продолжать обсуждение во Флейме.


И в общем, вы мне не переубедилии не ставил такой задачи, достаточно прекращения развития этого направления в этом топике

farewell
13.03.2012, 20:26
Black_Cat,
Я считаю, что это снобизм и неуважение к оппоненту, обрубать на корню что бы то ни было, не предоставив хотя бы какой-нибудь пруф. Вроде как "моё слово закон".

Думаю, у вас недостаточно образования для того, чтобы определить, является ли спектрумовская прошивка операционной системой.


здесь мы сами решаем что считать осью, исходя из сегодняшних реалий и задач данного класса компьютеров

Вот вы решили, что не ОС, а мы с vinxru, наоборот, хотим считать первые 16 кб памяти операционкой.

vinxru
13.03.2012, 20:35
олжны расцениваться как троллинг - обсуждений уже было достаточно.

Вот честно, я ваше сообщение воспринимаю как толстющий троллинг. Честное слово. Никаких аргументаций и масса громких слов. Прямо прошедшие выборы напомнило:

Необходимо понимать, что это не определение физического закона, которое есть абсолют, здесь мы сами решаем как развивать политическую систему России, исходя из сегодняшних реалий и задач нашей необъятной страны. Если мы хотим иметь современную, мощную страну, а не окаменевшее ***** мамонта, а мы хотим именно этого - то мы не станем продолжать политический курс прошлой партии или жить по указке запада. Более того, мы реалисты, понимающие, что в России нет бизнесменов способных поднять самостоятельно производство (именно производство, а не очередной русский бренд китайского производства). Поэтому, будучи в здравом уме, мы, в результате многочисленных обсуждений в разных топиках пришли к единственно верному решению - Депутаты в гос думе должны быть исключительно инженерами и электронщиками, быть готовыми трудиться на благо народа день и ночь.

P.S. Обещаю тут больше не флудить :) Своё время дороже.

Black_Cat
13.03.2012, 21:04
Вот вы решили, что не ОС, а мы с vinxru, наоборот, хотим считать первые 16 кб памяти операционкой.флаг в руки! свобода веры закреплена в конституции, а онанизмом можно заниматься и в 60 лет. К теме топика это не относится, поэтому на этом и закончим.

---------- Post added at 21:04 ---------- Previous post was at 20:56 ----------


мы сами решаем как развивать политическую систему Россииты не далёк от истины, примерно так всё и есть

Andrew771
13.03.2012, 23:38
Тема топика вообще-то про Оберон :)

farewell
14.03.2012, 09:46
флаг в руки! свобода веры закреплена в конституции, а онанизмом можно заниматься и в 60 лет. К теме топика это не относится, поэтому на этом и закончим.

Да, конечно. Просто хотелось бы заниматься онанизмом без помощи человека, который , как регулировщик на перекрёстке свистит в свисток и указывает, кому куда поворачивать и ехать. А так, согласен. Личное дело каждого, считать прошивку осью или просто случайной последовательностью байт.

vinxru
14.03.2012, 09:52
Тема топика вообще-то про Оберон

Ну, по уровню аргументации "Оберон – это Спектрум будущего" и "TRDOS - не ОС", эти обсуждения заслуживают быть в одном месте.

Vadim
14.03.2012, 12:30
MS DOS то же не операционная система? Он отличается от TRDOS только тем, что умеет память распределять, да переменные окружения в памяти хранить.
Мдаа... Большего бреда трудно себе представить. Прям гуру глаголет, только вот не истину, а бред. Советую для начала почитать руководство пользователя по MS-DOS, потом руководство программиста (хотя уверен, что не поймете там ничего). Могу сразу сделать для вас реферат - ms-dos раз так в тысячу сложнее чем весь спектрум (учитывая все аспекты). "спектрум" - имеется ввиду реализации бейсик + трдос.

farewell
14.03.2012, 12:57
Vadim, Разве в сложности дело? Скорее, в основном назначении.

vinxru
14.03.2012, 13:26
Мдаа... Большего бреда трудно себе представить. Прям гуру глаголет, только вот не истину, а бред. Советую для начала почитать руководство пользователя по MS-DOS, потом руководство программиста (хотя уверен, что не поймете там ничего). Могу сразу сделать для вас реферат - ms-dos раз так в тысячу сложнее чем весь спектрум (учитывая все аспекты). "спектрум" - имеется ввиду реализации бейсик + трдос.

Я переписывал DOS когда то, пару тысяч строк на Си + Асм (80% из которых FAT12/16/32). Сложностей там нет. Да и исходники Free DOS смотрел. Суть не в сложности - а в выполняемых задачах. А то, что Майкрософт пытается удержать монополию создавая максимально запутанные и непредсказуемые алгоритмы, что бы было сложнее скопировать - это к делу не относится.

Более того, Sinclair Basic умеет выполнять ПРОГРАММЫ и содержит функции рисования! А MSDOS не умеет этого в принципе. Отдельная программа COMMAND.COM тока BAT файлы выполняет, в которых никакой арифметики использовать нельзя (IF ERRORLEVEL не в счет).

MSDOS умеет оставлять в памяти резидентные программы, в отличии от TRDOS. Но при этом алгоритм учета и выгрузки таких программ не продуман до такой степени, что можно считать, что его нет.

Error404
14.03.2012, 13:45
Более того, Sinclair Basic умеет выполнять ПРОГРАММЫ и содержит функции рисования! А MSDOS не умеет этого в принципе. Отдельная программа COMMAND.COM тока BAT файлы выполняет, в которых никакой арифметики использовать нельзя (IF ERRORLEVEL не в счет).


По этой сумеречной логике, любой интерпретатор ЯВУ лезущий напрямую к железке - есть ОС. А оператор "PRINT HELLO" в нем - это приложение, для которого эта мегаОС осуществляет уровень абстракции. А все пингвины - самолеты, потому что у них есть крылья.

Vadim
14.03.2012, 13:58
Я переписывал DOS когда то, пару тысяч строк на Си + Асм (80% из которых FAT12/16/32). Сложностей там нет.
Если бы сложностей там не было, то на ZX давным давно был бы аналог такой ОСи. А возможностей ms-dos для спектрума - выше крыши.

---------- Post added at 15:55 ---------- Previous post was at 15:48 ----------


Более того, Sinclair Basic умеет выполнять ПРОГРАММЫ и содержит функции рисования! А MSDOS не умеет этого в принципе.
Синклер бейсик - это всего лишь "бесик машина". Что она умеет, то она и умеет. Т.е. бейсик можно представить в виде виртуального компьютера. Если мы имеем одну и туже реализацию бейсика на совершеннно различных ПЭВМ, которые не допускают бейсик программам знать о устройстве железа компьютера (полная абстракция), то программы будут работать на всех этих реализациях бесика. А бескик машина в свою очередь может считаться "ОСью", для бесик программы. Средой её выполнения. Но как ОС для компьютера она совершенно непригодна. Не то совершенно. А то что мсдос не умеет рисовать линии и точки никак не умаляет ее заслуг как ОСи. Ни на чуть чуть. Рисовать она и не должна уметь. Хотя если надо - пишете модули, дополняющие ОСь и она это начинает уметь. А вот к синелер бейсику ничего не дописать. Это кирпич. Без возможности развития.

---------- Post added at 15:58 ---------- Previous post was at 15:55 ----------


Отдельная программа COMMAND.COM тока BAT файлы выполняет, в которых никакой арифметики использовать нельзя (IF ERRORLEVEL не в счет).

Под тот же ms-dos, есть множество сторонних командных процессоров. Я знаком лишь с одним, от питера нортона. В каком-то комплекте нортоновских утилит я его встретил. Есть описание на русском. Занимает меньше чем command.com. Выполняет всё то же самое что и Command.com, но имеет и арифметику и примитивы рисования, beep как на спектруме есть и всякое такое. Т.е. всё то, чего не было в commande от ms и за что его критиковали спектрумисты (хотя, по большому счёту - глупости это были, ну нет в command.com команд управления звуком или рисовании линий и что? Грузите бейсик и радуйтесь)

aviator
14.03.2012, 14:00
Вся беда в том, что дядя Синклер проигнорировал CP/M, а разработчики умудрились сделать спектрум архитектурно несовместимым с оной. Поэтому большинство софта пошло лесом. Даже если перелопатить CP/M, то это проблем совместимости уже существующего софта не решит.
Так что имеем то, что имеем - велосипедное подобие ОС на спектруме, на деле - загрузчик программ со встроенным бейсиком. Прошивка ППЗУ никогда и нигде ОСью не считалась - это своего рода BIOS, набор микропрограмм.

vinxru
14.03.2012, 14:11
По этой сумеречной логике, любой интерпретатор ЯВУ лезущий напрямую к железке - есть ОС. А оператор "PRINT HELLO" в нем - это приложение, для которого эта мегаОС осуществляет уровень абстракции. А все пингвины - самолеты, потому что у них есть крылья.

Все может быть.

Но мы говорим сейчас о дисковых ОС. О связке TRDOS + Sinclair Basic.

Она работает с железом (дисковод, клавиатура, консоль, экран). Позволяет подключать расширения, которые интегрируются в ЯП! ZXPrinter, ZXMicrodrive, сеть и т.п. Она обеспечивает работу с файлами, обеспечивает командную строку с минимумом необходимых возможностей, запускает программы, позволяет сохранять запущенные программы на диск (Magic, DOS курит в сторонке).

---------- Post added at 13:02 ---------- Previous post was at 13:01 ----------


Это кирпич. Без возможности развития.

Во первых, ZXInterface и ZXPrinter подключили на Ура. То есть расширения возможны.

---------- Post added at 13:04 ---------- Previous post was at 13:02 ----------


глупости это были, ну нет в command.com команд управления звуком или рисовании линий и что? Грузите бейсик и радуйтесь)

Я пытался, это крайне неудобно.

---------- Post added at 13:08 ---------- Previous post was at 13:04 ----------


Вся беда в том, что дядя Синклер проигнорировал CP/M, а разработчики умудрились сделать спектрум архитектурно несовместимым с оной. Поэтому большинство софта пошло лесом. Даже если перелопатить CP/M, то это проблем совместимости уже существующего софта не решит.

Да, дядя Синклер всю историю пытался похоронить Спекки.

Разрешения экрана не хватает для CP/M. Всего 32 или 40 символов в ширину. Таймекс добавили в Спектрум режим высокого разрешения для CP/M. Но это был не меинстрим.

Кстати TRDOS - это не меинстримовая технология. Родная для Спекки +3DOS, которая кстати базируется на файловой системе CP/M. И гораздо более мощная, человечная и удобная, чем TRDOS.

---------- Post added at 13:11 ---------- Previous post was at 13:08 ----------


Так что имеем то, что имеем - велосипедное подобие ОС на спектруме, на деле - загрузчик программ со встроенным бейсиком.

MSDOS то же загрузчик. Запущенные программы в основном с железом работают на прямую. А к DOS-у только за файлами обращаются и ОЗУ-выделяют.


Прошивка ППЗУ никогда и нигде ОСью не считалась - это своего рода BIOS, набор микропрограмм.

Критерий понятен. ROM-DOS не операционная система.

Vadim
14.03.2012, 14:17
Во первых, ZXInterface и ZXPrinter подключили на Ура. То есть расширения возможны.
Я сразу не написал, решил подождать возражений.
Так вот. Есть и другие примеры (и немало), как оно делается? В курсе? Подменой ПЗУ, кусков ПЗУ. Перехватом исполнения кода по определенному адресу (например в интерфейсе, как он там, который тапки с винта читает). Это ж ужас! Разве это выход? Это костылявые костыли. Система должна стандартными способами расширяться. Спектрум бейсик ничего этого не имеет. Трдос тоже. Почему? Смотрим историю, для чего спектрум создавался? Вот вам и ответ. Ничего в машинке нет для нормальной работы. Нет возможности расширений, ни программных ни аппаратных. Хотя шину и вывели, но в основном, что бы подключать туда нечто вроде интерфейсов джойстика, If-1, If-2. и устройства типа tr-dos (их сделано было около 20-и, где то в темах я приводил список со ссылками). Как делается всё по нормальному? Смотрим хотя бы MSX, хотя и там не всё гладко. На PC, изначально было распланировано адресное пространство. Был механизм добавления новых ROM-BIOS от устройств и они становились частью системы.

---------- Post added at 16:14 ---------- Previous post was at 16:12 ----------


Она обеспечивает работу с файлами
Не обеспечивает работу с файлами, а позволяет грузить несколько секторов подряд, с некого места на диске, которое является "началом файла", и которое имеет имя. Но это далеко не всё, что представляет из себя "работа с файлами"!!! Это просто погрузка секторов. Какие файлы? Если бы tr-dos могла бы работать с файлами и была бы ОСью, то никаких проблем с подключением винтов, флешек и т.п. просто бы не существовало!

---------- Post added at 16:15 ---------- Previous post was at 16:14 ----------


А к DOS-у только за файлами обращаются и ОЗУ-выделяют.
В этих 2-х замечаниях очень много спрятано. Очень много. Ни первого ни второго нет в трдосе. И не предвидится.

---------- Post added at 16:17 ---------- Previous post was at 16:15 ----------



Кстати TRDOS - это не меинстримовая технология. Родная для Спекки +3DOS, которая кстати базируется на файловой системе CP/M.
К сожалению +3DOS не мейнстрим на ZX. Почему? Потому что появилось всё это на закате, почти в самом конце. Мейнстрим - лента. Это всё на западе. У нас мейнстримом году к 1995-му стал trdos (к сожалению).

aviator
14.03.2012, 14:20
+3DOS была уже на излёте... У меня было желание купить спек +3, чтобы пощупать, на ebay, но продавец отказался высылать в Россию (из-за почты).

Теперь по делу, то есть по Оберону. Сам его компилятор написан на нём же самом. Поэтому, для 8-ми разрядных машин надо иметь первичный компилятор, задача которого собрать компилятор оберона на обероне. В самом компиляторе надо переделать кодогенератор под конкретную архитектуру.

Vadim
14.03.2012, 14:21
MSDOS то же загрузчик. Запущенные программы в основном с железом работают на прямую.
Во 1-х, с каким железом они работали напрямую? С экраном, бипером, ковоксом и звуковухами (драйверы только выставляли параметры для работы карты). В то время не было особо устрйств. Не было 3D графики. Почему работали напрямую? Да потому что не хватало мощности в целом. Слаб был комп. Сделай поддержку графики, всё равно никто бы не стал через неё работать. Медленно и тупо. А вот окгда процессоры ускорились раз так в тысячу, стало всё по другому. На машинках типа спектрума, дос тоже можно использовать только для работы с консолью и файлами. Ну максимум - библиотека окон, с поддержкой мыши. И то, все реализации довольно медлительны, даже запущенные на 8-10Мгц.

vinxru
14.03.2012, 14:24
Ну не. Там используется расширенная обработка ошибок. Когда Бейсик не может обработать команду, то за её обработку берется подключенный ZXMicrodrive.

TRDOS работает чуть изощреннее. Программа передает управление на специальные точки входа в адресном пространстве, железо распознает это и подключает в адресное пространство нужные ПЗУ (и возможно ОЗУ и порты).

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

Авторам пять!

8086 и MSDOS такой технологии сильно не хватало.

Vadim
14.03.2012, 14:30
Авторам пять!
Авторы просто не знали как ещё поступить. Но сделали плохо. Гораздо хуже, чем в том же Опус Дискавери. Или +Д.



Программа передает управление на специальные точки входа в адресном пространстве, железо распознает это и подключает в адресное пространство нужные ПЗУ (и возможно ОЗУ и порты).

ОЗУ она как раз таки не подключает. Порты меняет.


Таким образом работают серьезные компьютеры и операционные системы.
Это шутка? Смешно.

---------- Post added at 16:30 ---------- Previous post was at 16:29 ----------


8086 и MSDOS такой технологии сильно не хватало.
Конечно. Не знали они про trdos. И развились в Windows. А трдос так и остался не у дел...))))

vinxru
14.03.2012, 14:50
Не обеспечивает работу с файлами, а позволяет грузить несколько секторов подряд, с некого места на диске, которое является "началом файла", и которое имеет имя. Но это далеко не всё, что представляет из себя "работа с файлами"!!! Это просто погрузка секторов. Какие файлы? Если бы tr-dos могла бы работать с файлами и была бы ОСью, то никаких проблем с подключением винтов, флешек и т.п. просто бы не существовало!

То что файл не может быть фрагментирован - это не критерий ОС. Это наоборот круто.

TRDOS умеет еще сохранять файлы, переименовывать их, копировать, удалять, дефрагментировать диск, форматироать его и т.п.

Первые версии MSDOS-а тоже не поддерживают FAT16, а следовательно жесткие диски. Только через 4 года появилась поддержка HDD. Это значит, что MSDOS 1.x не операционная система?

Подключение чего либо кроме дисковода узкое место TRDOS. Просто нет ОЗУ для загрузки дополнительного драйвера. Размещение ОЗУ на плате BDI - это роскошь. А всё основное ОЗУ занимает программа. Памяти не много, и лишней она никогда не будет.

Но расширение проще, чем вы думаете! Вся работа с TRDOS происходит через стандартные точки входа. И в ПЗУ ни одна программа не может залезть, а это значит, что в ПЗУ вы можете разместить любой код. Хоть работу с WiFi.

---------- Post added at 13:47 ---------- Previous post was at 13:37 ----------


Это шутка? Смешно.

В современных процессорах ты можешь только вызвать определенные функции ядра. Но прочитать/записать данные или код ядра ты не сможешь.

Причем, способов сейчас в x86 процессоров масса. Начиная от программных прерываний, специальных дескрипторов в GDT, пейджинга и команды процессора syscall (вроде так). В этом случае, автоматически подключается в адресное пространство нужные страницы и дается право на их изменение.

Да что там в современных... даже в процессоре БК0010 есть пультовый режим, который проделывает подобный трюк.

---------- Post added at 13:50 ---------- Previous post was at 13:47 ----------


Конечно. Не знали они про trdos. И развились в Windows. А трдос так и остался не у дел...))))

Это уровень процессора, а не ОС. Intel напряглись и сделали защищенный режим уже в 286.

Sayman
15.03.2012, 06:13
тема бред, участников, некоторых, надо по психушкам раскидать...

Vadim
15.03.2012, 06:31
В современных процессорах ты можешь только вызвать определенные функции ядра. Но прочитать/записать данные или код ядра ты не сможешь.
И что? Это мне известно лет так 10 уже и что? Как это связано с трдос? КАк это связано с маппингом страниц на 8-и битных компах? Никак.

То что файл не может быть фрагментирован - это не критерий ОС. Это наоборот круто.
Да? Вот оно что.... Я то думал. А все кто плевались на трдос, что сбойные дискеты на ней нельзя использовать видимо дураки. И что удалив файл у нас не прибавляется свободного места это туже круто. Ага.

Первые версии MSDOS-а тоже не поддерживают FAT16, а следовательно жесткие диски
Как связана ФАТ16 и жесткие диски? Не понимаю. Жёсткий диск поддерживает соответствующий драйвер. До ms-dos 3.30 драйвер винта поддерживал до 65536 логических секторов, т.к. размер сектора на винтах в то время был 512 байт, то это ограничивало размер диска в 32М. При использовании ФАТ12 получаем (4096 элементов) 8К на кластер. И это прекрасно работает. ФАТ16 просто позволит уменьшить размер кластера и не более того.

---------- Post added at 08:26 ---------- Previous post was at 08:20 ----------


Но расширение проще, чем вы думаете! Вся работа с TRDOS происходит через стандартные точки входа. И в ПЗУ ни одна программа не может залезть, а это значит, что в ПЗУ вы можете разместить любой код. Хоть работу с WiFi.
Реально, многие программы трдос лезут не через стандартные точки входа, а через типа 3D2F. Для доступа к регистрам ВГ93. Это раз. Используя эту точку - попадаем по любому адресу ПЗУ трдос это два. А размещение кода в ПЗУ несет очень большой минус. Что мы туда записали - то там и будет и пользователю крайне сложно это обновить. Ладно, если есть под рукой программатор, а если нет?

Реально трдос это никакая не ОС, а просто некий код, который позволяет нам писать блоки (дампы ОЗУ) из ОЗУ на диск и считывать по требованию обратно. Работы с файлами нет, драйверов нет, разделения на физический уровень (BIOS) и логический - нет. Доступ к диску непрозрачен из бейсика. ВВедены костыли. Разметка диска (логическая) очень тупая. Не будть там так всё тупо, даже трдос можно было бы модифицировать для работы её с флешками и винтами напрямую, а сейчас возможна лишь эмуляция дискет. (Ну ещё в образах дискет, в принципе можно увеличить кол-во треков с 160 до 255).

---------- Post added at 08:28 ---------- Previous post was at 08:26 ----------


Ну не. Там используется расширенная обработка ошибок. Когда Бейсик не может обработать команду, то за её обработку берется подключенный ZXMicrodrive.
Там используется перехват исполнения по определенным местам в ПЗУ. А именно rst 8. Если перехват отключить внешнее устройство будет мертво. Это костыли для убогого.

---------- Post added at 08:31 ---------- Previous post was at 08:28 ----------


Это уровень процессора, а не ОС. Intel напряглись и сделали защищенный режим уже в 286.
Это я говорил у тому, что трдос сделан так, что развивать его логически невозможно. Это вещь в себе. Сделанная под конкретную ситуацию. А любую нормальную ОСь развивать можно, добавляя системные вызовы, разрабатывая структуры. Даже без защиты памяти и виртуальных адресных пространств можно многое сделать.

farewell
15.03.2012, 09:14
тема бред, участников, некоторых, надо по психушкам раскидать...

все темы про оберон похожи.

alone
15.03.2012, 09:29
Реально, многие программы трдос лезут не через стандартные точки входа, а через типа 3D2F. Для доступа к регистрам ВГ93. Это раз. Используя эту точку - попадаем по любому адресу ПЗУ трдос это два. А размещение кода в ПЗУ несет очень большой минус. Что мы туда записали - то там и будет и пользователю крайне сложно это обновить. Ладно, если есть под рукой программатор, а если нет?
Реально уже давным-давно есть vTRDOS, который перехватывает все используемые криворукими хуцкерами точки и позволяет разместить в верхней памяти произвольный драйвер. Только всем пофиг.

Vadim
15.03.2012, 09:36
Реально уже давным-давно есть vTRDOS, который перехватывает все используемые криворукими хуцкерами точки и позволяет разместить в верхней памяти произвольный драйвер. Только всем пофиг.
Исходник есть? или список точек? Я делаю поддержку винта в трдос для профи. Если есть уже готовое - то не пришлось бы делать всё заново

farewell
15.03.2012, 09:51
По-моему, всё очень просто.

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

Что касается SPECTRUM BASIC 48... Давайте, представим себе, что кассетный магнитофон - это такой странный дисковод, а кассета - такая странная дискета. Тогда всё станет ясно.

vinxru
15.03.2012, 10:28
А все кто плевались на трдос, что сбойные дискеты на ней нельзя использовать видимо дураки.

На CP/M то же нет BAD-секторов. (По крайней мере в том, что видел я.) Но можно создать файл занимающий поврежденные блоки. Сам TRDOS этого не делает, но и в MSDOS стандартный SCANDISK работает насколько хреново, что все пользовались Norton Disk Doctor.


И что? Это мне известно лет так 10 уже и что? Как это связано с трдос? КАк это связано с маппингом страниц на 8-и битных компах? Никак.

Результатом работы. Пользовательская программа не может вызвать произвольную функцию драйвера, не может прочитать его ПЗУ, не может обратится к железу драйвера. А делая переход по определенную адресу, в адресное пространство подключается код драйвера. Я писал уже.


И что удалив файл у нас не прибавляется свободного места это туже круто. Ага.

Ну ты же знаешь, какую команду надо выполнить после удаления?


Реально, многие программы трдос лезут не через стандартные точки входа, а через типа 3D2F.

Это уже называется хак. И такие программы идут лесом.

В Windows 95-98 можно загрузить свой код в ядро операционной системы из удаленного компьютера используя KAHT. И я это использовал для управления своей локальной сетью. В Windows 2000+ это уже не работает.


Там используется перехват исполнения по определенным местам в ПЗУ. А именно rst 8. Если перехват отключить внешнее устройство будет мертво. Это костыли для убогого.

Вот видишь, предусмотрено программное прерывание для расширения.


Это я говорил у тому, что трдос сделан так, что развивать его логически невозможно.

А как расширяли MSDOS ?

Посадили на MSDOS операционную систему Windows 3.x.
Потом посадили на Windows 3.x расширение Win32s.
Потом посадили на Win32s операционную систему Windows 95-ME.

И эта башня работала! Если надо было нарисовать картинку, то 32-х битный Windows ME обращался к Win32s, тот обращался к 16-битному Windows 3.x.

А если не было дисковых драйверов (режим совместимости кажись), то обращение спускалось по этой цепочке прямо до MSDOS и BIOS.

Vadim
15.03.2012, 10:43
На CP/M то же нет BAD-секторов. (По крайней мере в том, что видел я.) Но можно создать файл занимающий поврежденные блоки. Сам TRDOS этого не делает, но и в MSDOS стандартный SCANDISK работает насколько хреново, что все пользовались Norton Disk Doctor
В CP/M создается скрытый файл, в который собираются плохие блоки. В MS-DOS и форматтер и скандиск и другие утилиты делают. А в трдос это в принципе невозможно. Неужели непонятно?

А делая переход по определенную адресу, в адресное пространство подключается код драйвера. Я писал уже.
И пользовательская программа лего это сделает. Защита памяти в x86 работает куда сложнее.

Ну ты же знаешь, какую команду надо выполнить после удаления?
А зачем? Знаю конечно. Но это уродство, тупое уродство.

Вот видишь, предусмотрено программное прерывание для расширения.
Нет. В ПЗУ бейсика rst 8 используется для сокращения вызова (1 байт вместо 3), из самого же ПЗУ бейсика. А интерфейс-1 использует аппаратную схему, которая переключает часть ПЗУ если мы выполняем код с адреса 8. Ничего нигде не предусмотрено. Это костыль!

А как расширяли MSDOS ?
Как обычно, от версии к версии. Винды тут ни при чем. Дописывали функционал, расширяли структуры. До версии 3.30 не было понятия IOCTL, с версии 3.30 появилось. С версии 2 появились подкаталоги и handle ориментированный ввод вывод. И т.д.



Потом посадили на Win32s операционную систему Windows 95-ME.
Win32s для Win3.x принципиально не совместим с API Win32. Написано в любом руководстве. Более того, Win32s был создан для Win 3.x уже после 95-й. И при установке этого расширения на Win3.x об этом явно говорится.

Вот так. А трдос развивать невозможно. Нет в трдосе даже понятие "драйвер". Она сама просто как драйвер, с точками входа. Читать писать секторы. Ну чуть с каталогом ещё работает и всё. Какая же это ОСь? Что смеяться то?

---------- Post added at 12:43 ---------- Previous post was at 12:40 ----------


Винды тут ни при чем.
Хоть и начали свой путь как надстройка над дос. Это просто отдельная тема.

vinxru
15.03.2012, 11:16
А в трдос это в принципе невозможно. Неужели непонятно?

Возможно, создав файл и назвав его BADSECTOR.


Защита памяти в x86 работает куда сложнее.

MSDOS использует реальный режим без какой либо защиты.


Вот так. А трдос развивать невозможно. Нет в трдосе даже понятие "драйвер". Она сама просто как драйвер, с точками входа. Читать писать секторы. Ну чуть с каталогом ещё работает и всё. Какая же это ОСь? Что смеяться то?

Писали же про vTRDOS. Вы можете написать свою прошивку TRDOS, которая бы работала с FAT-ом и была бы совместима по точкам входа. Добавить еще точку входа для работы с хендлами (OpenFile, CloseFile, SeekFile, ReadFile, WriteFile). Тем более, что у TRDOS не одна версия прошивок.

Будет еще одна.


А зачем? Знаю конечно. Но это уродство, тупое уродство.

Я всё пытаюсь выяснить ваш критерий операционной системы. ТРДОС не операционная система, потому что:
1) Она не загружается с дискеты, а зашита в ПЗУ.
2) Нет стандартных средств работы с хендлами. (Можно сделать расширение подгружаемое в ОЗУ)
3) Нет стандартных средств работы с битыми дискетами. (Можно, но файлы до BAD-сектора лучше не удалять)
4) Иногда приходится дефрагментировать диск перед записью новых файлов.

Но ИМХО из за этого TRDOS не перестает быть OC.
У MSDOS то же:

1) Есть версия ROM-DOS
2) По сравнению с UNIX или Windows 2000, её файловая система детский лепет.
3) Повреждение области BOOT, FAT или корневого каталога фатально.
4) Иногда приходится дефрагментировать диск, иначе все тормозит.

Vadim
15.03.2012, 11:39
Возможно, создав файл и назвав его BADSECTOR.
Опппа! Это что то новое)))) А если у нас 10 битых секторов, что прикажете делать?


Писали же про vTRDOS.
VTRDOS что делает? Как работает? из прошивки трдос максимально все выкинуто, освобождено место. Эмулирется всё та же дискета. Или образом в ОЗУ или напрямую читая секторы с винта. Про поддержку ФАТ а тком режиме не слышал, слышал только что им нужен непрерывный файл, т.е. ни о какой поддержке ФАТ не может быть и речи. Хотя это всё можно сделать. Но это не равзитие ТРДОС. Неужели непонятно? Это придумывание новых и новых костылей. Что бы хоть как то можно было работать с винта.


1) Она не загружается с дискеты, а зашита в ПЗУ.
Это я не говорил, говорил что это осложняет дело с обновлением.


2) Нет стандартных средств работы с хендлами. (Можно сделать расширение подгружаемое в ОЗУ)
В текущем варианте нельзя. В том виде как есть сама трдос. Можно придумать мегакостыль, что бы наша программа, которая к трдосу не имеет никакого отношения, работала бы с ФАТ устройствами, и мы делаем среду эмуляции дискеты 640К, и подсовываем это все трдосу. Ну не смешно ли? Не в трдос развивается АПИ (которого кстати нет), не меняется структура системы, а приделывается "нечто", что позволяет обмануть трдос, что бы программу ее юзающие (по сути как драйвер флоппи диска) стали работать.



2) По сравнению с UNIX или Windows 2000, её файловая система детский лепет.
Ну уж не детский лепет, хотя конечно, ФАТ это продукт 70-х... Придуманный лично билли для дискового бейсика.



3) Повреждение области BOOT, FAT или корневого каталога фатально.
Юниксовые системы аналогично лего слетают (при случае). И NTFS не 100% надёжна. Конечно, они более продвинуты чем ФАТ, развитие не стоит на месте. Но и ФАТ нельзя сбрасывать со счетов. А вот распределение диска ТРДОС ну никак на ОСь не смахивает, детская подделка. При том сделанная в 80-х уже. И более убогая, чем уже существовавшие системы.

vinxru
15.03.2012, 11:45
В текущем варианте нельзя. В том виде как есть сама трдос. Можно придумать мегакостыль, что бы наша программа, которая к трдосу не имеет никакого отношения, работала бы с ФАТ устройствами, и мы делаем среду эмуляции дискеты 640К, и подсовываем это все трдосу. Ну не смешно ли? Не в трдос развивается АПИ (которого кстати нет), не меняется структура системы, а приделывается "нечто", что позволяет обмануть трдос, что бы программу ее юзающие (по сути как драйвер флоппи диска) стали работать.

Так же работает Windows 3.x и Windows 95-ME.

Так же работают длинные имена в FAT. (Они прилеплены поверх основной структуры FAT и старый MSDOS их легко может повредить.)

Vadim
15.03.2012, 11:47
TRDOS это некая прослойка, которая позволяет юзать вместо ленты дискеты. Притом сделанная наспех, не продуманная. Ничего общего с ОСями не имеющая. Нет таких понятий как:
1)Файл. (есть дамп выгруженного ОЗУ и всё, при том ограниченный 255 секторами);
2)ФС. (формат записи trdos вряд ли можно назвать файловой системой);
3)Драйвер;
4)Ядро ОС;
5)шелл или CLI.;
6)Модули;
7)Управление памятью (выделение памяти для программ по требованию);
8)Резиденты;
9)Символьный ввод вывод.

---------- Post added at 13:47 ---------- Previous post was at 13:46 ----------


Так же работает Windows 3.x и Windows 95-ME
Нет. Win 9x использует ДОС только на этапе загрузки. Для ввода/вывода ДОС не вызывается. Адресное пространство - 4Гб.

vinxru
15.03.2012, 11:50
Нет. Win 9x использует ДОС только на этапе загрузки. Для ввода/вывода ДОС не вызывается. Адресное пространство - 4Гб.

Использует в режиме совместимости. После загрузки Windows предупреждает "Режим совместимости, буду тормозить". Это например, когда сетевые драйвера для DOS загружаешь. Сеть доступна и в Windows 95.

ZEK
15.03.2012, 11:57
Нет таких понятий как:
1)Файл. (есть дамп выгруженного ОЗУ и всё, при том ограниченный 255 секторами);
2)ФС. (формат записи trdos вряд ли можно назвать файловой системой);
3)Драйвер;
4)Ядро ОС;
5)шелл или CLI.;
6)Модули;
7)Управление памятью (выделение памяти для программ по требованию);
8)Резиденты;
9)Символьный ввод вывод.
FreeRTOS не имеет ничего из перечисленного кроме управления памятью, и тем не менее общепризнана ОС, есть версии которые прошли тест на надежность и допускаются для котроля узлов самолетов автомобилей итд

vinxru
15.03.2012, 11:58
Мне типа уже лень писать :) Это все делает TRDOS убогой ОС, но не лишает её этого титула, поскольку основную функцию она все таки выполняет. Софт работает не с железом, а с помощью стандартного API работает с файлами. А всё остальное, типа последовательной загрузки файла или FAT опционально.

Vadim
15.03.2012, 11:58
FreeRTOS
Она не предназначена для того же, для чего и CP/M, MS-DOS и т.д. Это система реального времени. Другая тема совершенно. Там ОС управляет процессами, файлов там нет. Мы же говорим о чем? О ДОС разновидностях.

vinxru
15.03.2012, 12:00
шелл или CLI.;

Кстати, а чем командная строка TRDOS не угодила?

Vadim
15.03.2012, 12:04
поскольку основную функцию она все таки выполняет. Софт работает не с железом, а с помощью стандартного API работает с файлами.
Нет, не выполняет. Она выполняет роль посредника Бейсик (или коды) -> посредник->диск. Вместо Бейсик (или коды) -> лента. "Стандартный АПИ" - это всего лишь чтение/запись/проверка секторов. +пара функций что бы каталог посмотреть.
Если бы ТРДОС была бы ОСью, то давным давно работал бы в ней нативно винт, без разного рода эмуляций, поддержано было бы все что можно. Ведь если на секунду включить моск и представить, как бы можно было бы "расширить " трдос. Сделать хоть какое-то развитие, то натыкаемся тут же на нерешаемый вопрос. Всё операции с диском привязаны к формату дискеты, а именно: сектор 256 байт, 40 или 80 дорожек, 1 или 2 стороны и секторов всегда 16!!!! Всё. Это тупик. Любая программа предполагает именно такую адресацию. И никакую другую. Как уже писал выше, единственное что можно сделать, так это увеличить кол-во треков в эмулируемой "дискете" до 255. Что бы в ней было побольше программ. Вот и всё. Всё развитие. Всё остальное - костыли.

ZEK
15.03.2012, 12:05
Другая тема совершенно.
Изначально была речть об ОС, без Д.
Ты пришел и мягко перевел тему на ДОС. И тем не менее ДОС это ОС + Функционал работы с диском, Барсик ОС + TRDOS = DOS. А то что она не решает конкретно твоих задач, не убавляет у признаков ОС, а у связки признаков ДОС.

Vadim
15.03.2012, 12:06
Кстати, а чем командная строка TRDOS не угодила?
Тем что это не она. Это имитация командной строки. Где ввод любых символов? где параметры? Где окно вывода? Где история?

ZEK
15.03.2012, 12:06
Она не предназначена для того же, для чего и CP/M, MS-DOS и т.д.
С таким же успехом можно скзать о связке BASIC + TRDOS, они предназначены исключительно для спектрума.

Vadim
15.03.2012, 12:07
И тем не менее ДОС это ОС + Функционал работы с диском, Барсик ОС + TRDOS = DOS.
Ладно ладно. Пусть для тебя это ДОС, притом прекрасная. Успокойся. Пишите под ней что угодно.

Vadim
15.03.2012, 12:08
С таким же успехом можно скзать о связке BASIC + TRDOS, они предназначены исключительно для спектрума.
это как бы было изначально. Но сделано было всё коряво. И первое и второе.

---------- Post added at 14:08 ---------- Previous post was at 14:07 ----------


Technology Research Tape Emulator?
Им хотелось козырнуть, что типа у нас ДОС! Рекламный трюк, не более того.
Ареально это должно называться "Beta-Disk firmware"

ZEK
15.03.2012, 12:10
Есть еще понятие монолитное ядро ОС, где не выделяются отдельно драйвера и куски системы, итого барсик ОС с монолитным ядром

vinxru
15.03.2012, 12:11
Где ввод любых символов?

Это Spectrum-style :) Как говорил дядя Синклер, это ускоряет работу с компьютером.


где параметры?

FORMAT A:

(A: - это параметр)


Где окно вывода?

Вверху экрана, над командной строкой.


Где история?

Только в UNIX-ах и Windows 2000+. Стрелками вверх, вниз.

Vadim
15.03.2012, 12:12
итого барсик ОС с монолитным ядром
Нет. Басик это и есть басик. В любых источниках о бейсике можешь почитать, что он применялся зашитым в ПЗУ (как правило) в бытовых ПЭВМ начала 80-х годов. Т.к. в своем составе имеет команды обслуживающие диск, и позволяющий загружать программы. Т.е. частично исполняющий функционал ОС. Но это "частично", не более 5% от того, что должна уметь ОС! Вот ведь в чем дело!

Sayman
15.03.2012, 12:14
тема мега жесть! куда катица мир, куда скатилась страна, уже все понятия и принцыпы переломаны. да вам тут каждому по нобелевской премии выдать надо и памятники при жизни только за то, что раскрыли планы врагов по запутыванию мозгов человечеству...мегажесть...

Vadim
15.03.2012, 12:16
ни когда не запускал?

RUN "INSULT" I LOVE CODEBUSTERS
Запускал. Но не надо путать командную строку, с тем что есть на спектруме. Это не смешно. Все прекрасно знают что это такое и как работает. Где параметры (в командной строке) стандартных команд? Почему их надо заключать в кавычки? Почему синтаксис так убог? И т.д. и т.п. Я прекрасно знаю ответы на все эти вопросы. Не понимаю просто упорства некоторых доказывающих что какашка - это не какашка, это такой вот альтернативный шоколад...

ZEK
15.03.2012, 12:17
Но это "частично", не более 5% от того, что должна уметь ОС!
ОС должна уметь только загрузить снаружи программу и запустить её, все остальное это уже унификации и упрощение жизни программистам и пользователям.

Но сделано было всё коряво. И первое и второе.
Едим что есть, вариантов особо нет.

Vadim
15.03.2012, 12:20
ОС должна уметь только загрузить снаружи программу и запустить её, все остальное это уже унификации и упрощение жизни программистам и пользователям.
А вот тут ты не прав. ОС (по крайней мере ДОСы) - предоставляют программам:
1)Окружение, среду запуска
2)АПИ для выполнения сложных операций, что бы программист мог не делать этого в своей программе (что бы не держать фрагменты ОС в своей проге): чтение запись файлов, текстовый ввод вывод, потом уже графики, мышь и т.д.
3)абстрагирование от аппаратуры, что бы софт был мобилен и не привзяан к железу
4)управление запущенными программами (в т.ч. выделение им памяти)

и ещё много чего есть, советую почитать книги (хорошие) про ОС и не молоть ерунды.

Sayman
15.03.2012, 12:21
ОС должна уметь только загрузить снаружи программу и запустить её
зек, если тебе выдать прошивку с такой осью, ты сам то будеш таковой пользоваться? будет исключительно только загрузка твоей программы и её запуск. никакого апи не будет вообще. всё будеш делать сам..даже обработку файла и его загрузку..хотя стоп, об чём это я, в трдосе и так все это делают. тогда вопрос - почему эти две каманды/функции этой мега оси весят аж 16кб?!

Vadim
15.03.2012, 12:21
Едим что есть, вариантов особо нет.
Это опять таки всем известный факт. Априори известный.

ZEK
15.03.2012, 12:22
эти две каманды/функции этой мега оси весят аж 16кб?!
писали неоптимально

Sayman
15.03.2012, 12:24
вадим,
и ещё много чего есть, советую почитать книги (хорошие) про ОС и не молоть ерунды.
никто тут читать эти книги не будет потому, что то что там написано не являеца с их точки зрения истиной в последней инстанции. говоря про "их" имею ввиду тех, кто ещё тут искаверкал все законы и принципы...

vinxru
15.03.2012, 12:28
очему эти две каманды/функции этой мега оси весят аж 16кб?!

Может потому что она файлы таки умеет загружать и сохранять по требованию программы? А еще содержит командную строку и набор утилит. FORMAT и COPY хотя бы.

Vadim
15.03.2012, 12:32
Может потому что она файлы таки умеет загружать и сохранять по требованию программы?
Работать с файлами не может. Может грузить дампы ОЗУ из блоков секторов на диске. ОЗУ 128К не поддержано, т.е. не может выписать 64К (4 страницы по 16) и потом также загрузить.


А еще содержит командную строку и набор утилит. FORMAT и COPY хотя бы.
Утилита Format, да, занимает 2К, копирование должно занимать байт 700-800. Вопрос про 16К открыт. Я вот сейчас пишу ROM-BIOS Для профи. В нем содержатся низкоуровневые драйверы:
1)дискета, винт
2)ком порт
3)часы
Это занимает 3К.

Пока не добавлены:
4)клавиатура
5)экран

Это займет ещё максимум 2К. Итого 5. Почему trdos занимает 16?

ZEK
15.03.2012, 12:34
1)Окружение, среду запуска
2)АПИ для выполнения сложных операций, что бы программист мог не делать этого в своей программе (что бы не держать фрагменты ОС в своей проге): чтение запись файлов, текстовый ввод вывод, потом уже графики, мышь и т.д.
3)абстрагирование от аппаратуры, что бы софт был мобилен и не привзяан к железу
4)управление запущенными программами (в т.ч. выделение им памяти)
Ну так я же написал :)

все остальное это уже унификации и упрощение жизни программистам и пользователям.

Sayman
15.03.2012, 12:34
vinxru, да я уже давно понял, что для большинства "товарищей" тут, каманда PRINT тоже является операционной системой. кароче спектрум получаеца супер мега крутой комп, т.к. в нём не просто есть ось, в нём ось внутри оси, внутри которой сидит ось и осью погоняет. ось на оси, только мы их не видим, но они якобы есть. ништяг. пайду в дурку позваню...

ZEK
15.03.2012, 12:36
только мы их не видим
глаза умными книгами про оси замылили, не видите тривиальную истину, в книгах описываются варианты а не строгие указания.

Vadim
15.03.2012, 12:38
ни когда не запускал?

RUN "INSULT" I LOVE CODEBUSTERS
Ещё добавлю. Это ж не стандартная возможность, которая сделана специально, а просто баг. Ищут остаток строки в бейсике. К трдос не имеет никакого отношения.

Sayman
15.03.2012, 12:38
в книгах описываются варианты
в том то и дело, что нипод одно из них трдос или тем более бейсик не попадают.

vinxru
15.03.2012, 12:39
Кстати, в TRDOS есть последовательное чтение и запись файлов. А так же есть
произвольный доступ к файлу.



12.2. ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА

Последовательный файл может быть открыт для записи или считывания.
Синтаксис для открытия файла следующий:

OPEN STREAM NUMBERS-FILENAME",W

Когда поток открыт для записи, ключевое слово программы BASIC PRINT исполь-
зуется для записи данных в этот поток. Например:

10 LET DOS-15619
20 RANDOMIZE USR DOS:REM:OREN #4,"TEST",W
30 PRINT#4;"THIS 1$ A TEST LINE"
40 RANDOMIZE USR DOS:REM:CLOSE #4

Обратите внимание на "DOS" вместо печати в "15619" и закрытия файла. Цепочка
в строке 30 будет записана в файле "TEST" на диске. Если бы файл не был закрыт,
данные были бы потеряны. Любой закрытый файл может быть повторно открыт для
дальнейшей операции запись с помощью считывания, изменения и повторной записи
под новым названием.

Синтаксис для чтения открытого файла:

OPEN STREAM NUMRER,"FILENAME,,,R

При открытом потоке для READ используется ключевое слово SOS INPUT для
считывания данных из этого потока, например:

10 LET DOS-15619

20 RANDOMIZE USR DOS:REM:OPEN #7,"TEST",R
30 INPUT #7;A$

12.3. ФАЙЛЫ ПРЯМГО ДОСТУПА

Файл с произвольным доступом - это файл данных, который содержит некоторое
количество записей, пронумерованных от 0 и выше. Длина записей (макс.254 байта
каждая) выбирается и распределяется при первом открытии файла. Запись хранится
в виде отдельной строки. Любая строка, д лина которой меньше длины распределенной
записи, записывается, выравнивается слева и завершается с помощью возврата карет-
ки (ASCII CODE 13). Оставшиеся байты записи теряются. Любая строка, длина
которой больше длины записи, будет усечена до распределенной длины и записана
без возврата каретки^

Когда файл произвольного доступа впервые открывается, TRDOS распределяет 16
секторов (примерно 4К) в этот файл. Он будет автоматически расширяться, если
длина файла превысит 4К.

Для открытия файла произвольного доступа используется следующий синтаксис:

OPEN STREAM-NUMBER,"FILENAME"RND,RECORD-LENGTH

Для произведения записи в файл существует следующий синтаксис команды (пре-
фикс RANDOMIZE не требуется для распечатки и ввода: PRINT и INPUT):

PRINT STREAM-NUMBER;RECORD-NUMBER,VARIABLE-NAME

Например:

100 RANDOMZE USR 15619:REM:OPEN #8,"ADDRESS"RND,100
150 PRINT #8;72,D$

Поток 8 был открыт для файла "ADDRESS", в котором под каждую запись назна-
чено 100 байтов. Содержание D$ было помещено в запись номер 72 этого файла.

В отличие от последовательного файла, в этом случае можно считывать файл и
делать в него запись, когда файл открыт. Для считывания записи из файла использу-
ется следующий синтаксис команд:

INPUT STREAM-NUMBER;(RECORD-NUMBER),VARIABLE-NAME

Например:

100 RANDOMIZE USR 15619:REM:OPEN #12,"TEST"RND,20

110 PRINT # 12,20, A$

570 INPUT # 12; (15), A$



990 RANDOMIZE USR 15619:REM:CLOSE #12

999 END

В строке 570 считывается запись с номером записи 15 (помните, что это 16-я
запись) и загружается в переменную А$. Когда все операции с файлом закончены,
поток необходимо закрыть, как указано в строке 990. Если электроэнергия будет
отключена до закрытия потока, то содержание будет утрачено. Одна запись может
содержать более одной переменной. Программа должна связать вместе цепочки этих
переменных для произведения операций записи. Таким же образом программа дол-
жна разбить цепочку после операции чтения, если данные должны быть снова разде-
лены на отдельные переменные.
[COLOR="Silver"]

Vadim
15.03.2012, 12:39
не видите тривиальную истину,
Зато видишь ты. И видь далее. Спектрум мега комп. ТРДОС - ОСь. Лента - дисковод. Травы накурились что ли? Или грибочками увлекаетесь?

ZEK
15.03.2012, 12:42
то нипод одно из них трдос или тем более бейсик не попадают
книги не совершенны...
Ты можешь гарантировать что в книгах описаны все варианты которые придумали, придумывают и придумают в будушем?

Vadim
15.03.2012, 12:45
Кстати, в TRDOS есть последовательное чтение и запись файлов. А так же есть
произвольный доступ к файлу.
Это всё детский сад. Почитай описание внимательно. Оно пригодно для реальной работы? А если мы "файл" закрыли? И потом после него другой записали? Как расширить этот? Через удаление, копирование в свободное место и расширение файла? Это всё убогость и корявость. А произвольный доступ? Ты пробовал это в реале? МикроДОС на Профике отдыхает, как тормозит трдос в таком режиме.
И это ладно ещё бейсик, а из программ на асме? Ты пробовал такие выкрутасы делать? Разве это функционал ОСи? Это убожество. Кошмар. При том, что можно было бы сделать это firmware (tr-dos) на порядок лучше.

ZEK
15.03.2012, 12:46
ТРДОС - ОСь
:) Не надо мне приписывать навыдумываное,
я говорил что барсик это ОС, а TRDOS это дополнение дисковыми функциями, в они в паре составляют ДОС

Лента - дисковод.
Где я такое говорил? Я говорил что лента это внешний носитель, поправь если я не прав.

Травы накурились что ли?
А вы с какой целью интересуетесь?

vinxru
15.03.2012, 12:46
Куда потратили 16 Кб ПЗУ ?

Команды, которые выполняет TRDOS:

CAT, LIST - Вывод списка файлов
COPY - Копирование файла
COPY A - Копирование файла в системе с одним дисководом
NEW - Переименовать файл
ERASE - Удалить файл

FORMAT - Форматировать диск
MOVE - Дефрагментация диска

LOAD, MERGE, RUN - Загрузка программы
SAVE - Сохранить программу на диск
VERIFY - Сравнить память и диск

PEEK, POKE - Произвольный доступ к файлу (со смещением 512 байт)

PEEK "FILENAME" Куда_в_памяти, Смещение_в_файле

OPEN# - Открыть файл для последовательного или произвольного доступа
INPUT# - Последовательное чтение из файла
PRINT# - Последовательная запись в файл
CAT#, LIST# - Вывод списка файлов в поток
CLOSE# - Закрыть хендл файла

Vadim
15.03.2012, 12:51
Где я такое говорил?
Это не ты говорил. Выше читай, там было

---------- Post added at 14:51 ---------- Previous post was at 14:50 ----------


CAT, LIST - Вывод списка файлов
COPY - Копирование файла
.................................................. ........
CLOSE# - Закрыть хендл файла
И? Что то новое что ли? Мы с этим знакомы года так с 1993-го и что?

vinxru
15.03.2012, 12:52
И это ладно ещё бейсик, а из программ на асме? Ты пробовал такие выкрутасы делать? Разве это функционал ОСи? Это убожество. Кошмар. При том, что можно было бы сделать это firmware (tr-dos) на порядок лучше.

Понятно, что убого. Но ведь есть. Значит ОС.

---------- Post added at 11:52 ---------- Previous post was at 11:52 ----------


И? Что то новое что ли? Мы с этим знакомы года так с 1993-го и что?

Это к вопросу - Куда потратили 16 Кб ПЗУ.

Vadim
15.03.2012, 12:56
Но ведь есть. Значит ОС.
Нет. Работы с файлами нет. Нет АПИ. То что есть - убогость кошмарная, не пригодная для реальной работы. Нужны тонны манипуляций, что бы считать что то в память. Реально из представленных выше команд (вернее их аналогов через 3D13) почти никто не использовал. Как прочитать каталог? Почему нет масок? Почему его нельзя считать частями? Как ведется работа с "файлами" в дисковых программах для трдос? Много ли таких где каталог выводится в скроллируемом окне? Или чаще очистка диска и вывод его в стиле "как из бейсика"? Первые версии ART-STudio именно такие и были. Уже в последнее время нарыли версию от +3, и портировали под трдос (ценой неимоверных усилий, полагаю).

alone
15.03.2012, 12:57
Исходник есть? или список точек? Я делаю поддержку винта в трдос для профи. Если есть уже готовое - то не пришлось бы делать всё заново
Исходника нет, список точек в книге Родионова.


RUN "INSULT" I LOVE CODEBUSTERS
Это фейк был (проверял только длину). Настоящий анализ комстроки только в текстовом вьювере из Crystal Dreams, ACEdit, RarSFX и HripSFX.

Vadim
15.03.2012, 12:58
Это к вопросу - Куда потратили 16 Кб ПЗУ
Думаю, что можно было уместить и в 8. Досконально ПЗУ трдоса я не знаю, просматривал лишь фрагментами. Всё в нём раздражало. Убого, криво.

---------- Post added at 14:58 ---------- Previous post was at 14:57 ----------


Исходника нет, список точек в книге Родионова
Жаль, значит мне придётся всё делать с нуля. Декомпилировать трдос, разбирать это г. как оно фунциклирует, убирать всё что можно и в освободившееся место ставить свой код.

Sayman
15.03.2012, 12:59
Ты можешь гарантировать что в книгах описаны все варианты которые придумали, придумывают и придумают в будушем?
как я уже писал выше/ранее:

то что там написано не являеца с их точки зрения истиной в последней инстанции.

я говорил что барсик это ОС,
после таких заявлений, автор бейсика наверно в гробу перевернулся и не единожды. Basic это язык программирования.

Vadim
15.03.2012, 12:59
Это фейк был (проверял только длину). Настоящий анализ комстроки только в текстовом вьювере из Crystal Dreams, ACEdit, RarSFX и HripSFX.
Всё равно, нет стандартного механизма командной строки. Она не предоставляется запускаемой программе. ЭТо программа лезет внутрь буферов бейсика и трдоса. Значит параметров нет.

alone
15.03.2012, 13:00
Как прочитать каталог?
Технически - перенаправив поток. Но так вроде только Alasm делает.

---------- Post added at 12:00 ---------- Previous post was at 11:59 ----------


Жаль, значит мне придётся всё делать с нуля. Декомпилировать трдос, разбирать это г. как оно фунциклирует, убирать всё что можно и в освободившееся место ставить свой код.
Прошивка Савелия тоже перехватывает всё, что нужно, и всё, что не нужно. У него исходники открыты на гуглокоде в проекте ZX Evo.

Vadim
15.03.2012, 13:02
Технически - перенаправив поток. Но так вроде только Alasm делает
нет, для его чтения есть функции, но они выдают его сразу весь. А это нехорошо. Почему бы его не смотреть порциями? Вот я о чем.

aviator
15.03.2012, 16:11
http://s.lurkmore.to/images/thumb/0/0b/CaptainFacepalm.png/250px-CaptainFacepalm.png (http://s.lurkmore.to/images/0/0b/CaptainFacepalm.png)
Эх...

Oleg N. Cher
20.03.2012, 15:17
Возвращаю всех на родину, к теме ветки. Масштабности мышления вам что ли не хватает, господа, размаха. Зациклились на технических деталях и терминологии. Не считая фаллометрии.


Теперь по делу, то есть по Оберону. Сам его компилятор написан на нём же самом. Поэтому, для 8-ми разрядных машин надо иметь первичный компилятор, задача которого собрать компилятор оберона на обероне. В самом компиляторе надо переделать кодогенератор под конкретную архитектуру.
Вот как раз я писал об этом. Советовал начинать с изучения OPCL и BlackBox, со ссылками: http://zx.pk.ru/showthread.php?t=18387


Unity с некоммерческой лицензией больше подходит на роль минимума для творческих личностей, который приходит на смену Спектруму. Хотя бы потому, что платформу с игровой направленностью сменяет платформа, имеющая обширный инструментарий для создания игр и гибкий язык нового поколения.
Сейчас платформу Спектрум мало кто назвал бы игровой, скорее, музейной. Игровой они была тогда. Теперешняя молодёжь нос воротит от таких игр. Дело не в играх, дело в молодёжи.

Не буду дискутировать об Unity, я не знаю, что это такое. Но на всякий случай упомяну, что Оберон-технологии в массе своей open source. А по гибкости этим технологиям аналогов просто нету. Что касается заочного их хуления, то ознакомьтесь. Вот вам пример. Мне лично светочи IT-технологии рассказывали и что Оберон это прадедушка Алгола, и такие же подобные перлы.


Session Start: Wed Sep 01 17:26:46 2010
Session Ident: #delphi
* Now talking in #delphi
-shelezyaka- Добро пожаловать на #delphi ; Задавайте вопрос не спрашивая
разрешения! ; Для ознакомления с правилами канала посетите
http://hash.su/rules
<Эльф> здравствуйте
<IngersolEx> лимит эльфов на канале превышен. отрубите ухи и зайдите заново
<Эльф> эльф-дельфиец это раритет ;)
<IngersolEx> у нас таких раритетов...
<Эльф> благодарю за тёплый приём, IngersolEx
<IngersolEx> ну не плачь. не надо
<IngersolEx> у нас канал орков
<IngersolEx> пьем, стекла бьем
<IngersolEx> эльфам невместно
* Al47893 is now known as sarcasm
<sarcasm> насколько я толкинутые каноны, эльфы окрам - родственники
<Эльф> я не ролевик, IngersolEx
<sarcasm> *оркам =)
<Эльф> куда ни зайдёшь то орки то тролли. скучно, господа
<IngersolEx> а ты создай свой канал, с блекджеком и эльфийками
<sarcasm> с мифрилом
<Эльф> кто-нибудь здесь знаком с технологией KOL? или кто-нибудь здесь программировал на Обероне?
<IngersolEx> само дельфи умерло
<IngersolEx> а кол и подавно
<Эльф> всё живо, всё развивается
<Эльф> правда, местами не туда, но шо поделаешь %)
<IngersolEx> это жизнь гомункулуса на питательном растворе
<Эльф> есть и здоровые отпочкования
<Эльф> я не имею ввиду дотнет и яву
<IngersolEx> разве что фрипаскаль
<Эльф> а глючное убожество
<Эльф> но симпатичное
<Эльф> лет через 25 им вполне можно будет пользоваться
<Эльф> если не помрёт
<Эльф> дельфи с первой версии был стабильным продуктом
<Эльф> во фрипаскале глюки лезут из всех версий
<IngersolEx> половина из присутствующих сидит на канале только из-за
устоявшейся привычки, при этом давно и прочно забыв о дельфи
<sarcasm> ага
<Эльф> понятно
<Эльф> а я думал здесь кому-то нравится язык паскаль
* Эльф сама наивность
<IngersolEx> после явы и шарпа паскаль может быть симпатичным?
<Эльф> ещё бы
<Эльф> очень даже
<IngersolEx> разве что проклятым оберонщикам
<Эльф> паскаль остаётся столпом, который всё это породил
<Эльф> только менее извращённым столпом =)
<IngersolEx> столп - это алгебра буля
<Эльф> IngersolEx, тебе оберонщики спать мешают?

Последнее, как видите, типично. Я бы сам не поверил, если бы не убеждался в этом на личном опыте сотни раз: к Оберону и оберонщикам у мэйнстримистов необъяснимая подсознательная ненависть, наверное из подсознательного ощущения, что правы именно мы, а не они :wink:


Это большая проблема для того, кто уже хочет написать что-то ЗАВЕРШЁННОЕ. Представим себе, что Спектрум продавался бы исключительно в виде компьютера, который надо было бы ещё собрать перед включением.
Так я Вас удивлю, у нас в ex-СССР он так и "продавался", вернее, собирался НИИ-шниками на коленке с вынесенным из завода в трусах процессором Z80. И такой массовости набрал только благодаря внутренней мотивации – интересу.


Спектрум - это примитивный восьмибитный компьютер. Здесь достаточно Си, даже безо всякой объектности. Си лаконичнее чем Оберон, и имеет большее распространение. Логично изучить сразу Си.
Оберон лаконичнее, чем Си. Ищите-читайте статью С.Свердлова "Арифметика синтаксиса".


Для примера, хеллоуворлд для андроида, написанный с использованием андроид сдк, занимает около 60 кб, а точно такой же, но написанный на мармеладе - уже почти 500 кб. При этом можно и не мечтать об использовании родного уи андроида, равно как и прочих платформ, на которые можно скомпилировать это приложение.

Да, Андроид отстой. Скомпилированный хелоуорлд внутри среды BlackBox Component Builder будет занимать несколько десятков байт, вобщем-то столько и должен, не больше. Я нахожу здесь параллели со Спектрумом.


Асм - это основа. Вам не нужно стыдиться того, что вы родились голым, без знания Оберона или других языков. Но изменить этого вы не можете.

Я не стыжусь.

Продолжу аналогию Оберона со Спектрумом.

Oberon-1 это Спектрум 48 кб, без дисковода и AY
Oberon-2 это Спектрум 128 кб, 2 дисковода, AY
Active Oberon это Scorpion 256ZS с теневым монитором
Component Pascal это Pentagon с 1024 кб ОЗУ
Oberon-07M это Спектрум 16 кб...

farewell
20.03.2012, 15:45
Сейчас платформу Спектрум мало кто назвал бы игровой, скорее, музейной. Игровой они была тогда. Теперешняя молодёжь нос воротит от таких игр. Дело не в играх, дело в молодёжи.
Я смотрю с функциональной точки зрения. Качество, конечно же, ушло вдаль за последние лет двадцать.



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



Так я Вас удивлю, у нас в ex-СССР он так и "продавался", вернее, собирался НИИ-шниками на коленке с вынесенным из завода в трусах процессором Z80. И такой массовости набрал только благодаря внутренней мотивации – интересу.
Это не безусловно. Да и до конечного потребителя в девяти случаях из десяти он доходил уже в виде работающей коробки с кнопками. Если бы пайка была обязательным условием - вряд ли он получил бы такое распространение.



Оберон лаконичнее, чем Си. Ищите-читайте статью С.Свердлова "Арифметика синтаксиса".
Давайте, лучше вы дадите здесь несколько примеров кода, который позволяет вам так считать.



Да, Андроид отстой. Скомпилированный хелоуорлд внутри среды BlackBox Component Builder будет занимать несколько десятков байт, вобщем-то столько и должен, не больше. Я нахожу здесь параллели со Спектрумом.
Подобные сравнения огорода с самолётом - чистой воды профанация. Андроид - не отстой. Это просто другая среда. Да и упомянул я его в другом контексте.

jerri
20.03.2012, 17:06
farewell, забей :)
1 он говорит не с тобой
2 он говорит на другом языке
3 он тебя не слышит
выбирай любые два

farewell
20.03.2012, 17:11
jerri, Есть такая профессия - уфолог...

Oleg N. Cher
20.03.2012, 18:22
Боюсь вас обидеть, но, в основном, это отношение как к вредным инвалидам, которые никак не хотят понимать, кто они и в какой степени. Поймите меня правильно, это всего лишь оценка. Мой стаж программирования в паскале и опыт перехода к другим языкам позволяет мне считать себя достаточно беспристрастным.


Подобные сравнения огорода с самолётом - чистой воды профанация. Андроид - не отстой. Это просто другая среда. Да и упомянул я его в другом контексте.

Беспристрастный Вы наш, задумайтесь. Почему айтишники, 100 из 100 которых считают себя: a) очень умными; b) всезнающими; c) беспристрастными; d) прекрасно разбирающимися в технологиях; – остаются невеждами и практически полными нулями в знании Оберон-технологий. И самое лучшее, что могли бы о них сказать, – это промолчать. Но не тут-то было. См.пункты. Они рвутся стравнивать Обероны с Си, даже не понимая, что Си – это язык (и библиотеки), а Обероны – это другая и языковая, и идеологическая база. Не знакомая им, потому что ничего мощнее ядра линукса они не признают. А оно на Си. Сегодня Вы называете Андроиды не отстоем, но Вам не придёт и в голову зачем нам обязаловкой впаривают в них такой многокилобайтный оверхед на хелоуорлд. Не смущает. Обласканные майкрософтом, привыкли.


Это не безусловно. Да и до конечного потребителя в девяти случаях из десяти он доходил уже в виде работающей коробки с кнопками. Если бы пайка была обязательным условием - вряд ли он получил бы такое распространение.
Вот именно. Должны найтись те, кому интересно паять, и из-под их рук выйдет то, чего интересно будет многим юзать. Я сам не железячник и тем более не призываю всех брать в руки паяльник.


Давайте, лучше вы дадите здесь несколько примеров кода, который позволяет вам так считать.
Я дал несколько примеров в этой ветке. Извините, она достаточно выросла. Не только по моей вине. Но почитайте. Может измените мнение об Оберонах: http://zx.pk.ru/showthread.php?t=18336

А ещё я собираюсь разработать на базе Оберонов технологию, которая позволит одним щелчком мышки получить программу на Си, другим на Яве, третьим для дотнета, четвёртым для Спектрума, а пятым для Андроидов. Хоть они мне и не нравятся. Зацените размах. Это Вам не Си с плюшками.

farewell
20.03.2012, 19:14
остаются невеждами и практически полными нулями в знании Оберон-технологий.
Вот я знаю много чего про технологию Тетрапак и упаковку продуктов в частности. А вы - почему вы остаётесь таким невеждой в этом деле? О чём с вами говорить?

Оберон - это один из языков. Довольно костный и унылый. По сути, это Паскаль, доведённый до ума, по мнению его разработчиков. Что, в общем-то, не делает его таковым в абсолютном смысле: в этом убогом языке для школьников приходится объявлять переменные в отдельной секции, нет унарных и тернарных операций и много чего ещё...

Это, можно сказать, единственный язык, который упрощается в ходе своей эволюции. Конечно, это плюс для тех, кто только обучается писать программы, но в целом это отрицательно сказывается на продуктивности. Другими словами, практически нереально разогнаться до 60 км/ч на трёхколёсном дестком велосипеде. Но, даже если вы это сделаете, всё равно окружающие будут считать вас придурком.



Сегодня Вы называете Андроиды не отстоем, но Вам не придёт и в голову зачем нам обязаловкой впаривают в них такой многокилобайтный оверхед на хелоуорлд.

А вы, вообще, хоть как-то в курсе архитектуры приложения для Андроида?



Не смущает. Обласканные майкрософтом, привыкли.
А вы, вообще, не задумывались о том, что Гугл и Майкрософт злейшие конкуренты в данной области? Обероны вам мешают думать, видимо. Ну нет оберонов в Андроид СДК и в Вижуал Студио тоже нет, почему-то.



Обероны – это другая и языковая, и идеологическая база.
В том-то и дело, что это никому не нужный *****паскаль. Точнее, это даже **********паскаль, поскольку *****паскалем была модула.




Я дал несколько примеров в этой ветке. Извините, она достаточно выросла. Не только по моей вине. Но почитайте. Может измените мнение об Оберонах:
Я знаю об оберонах достаточно, для того, чтобы не менять своё мнение.
А вам что, западло несколько строчек дать?



Зацените размах. Это Вам не Си с плюшками.
Заценил размах.

Как будет выглядеть явовская языковая конструкция this? Каким образом будут реализованы анонимные делегаты? Лямба? Запросы LINQ?

Жду с нетерпением ваших ответов.

vinxru
20.03.2012, 19:25
Каким образом будут реализованы анонимные делегаты? Лямба? Запросы LINQ?

Нафиг не нужны :) Это не более чем сахар навязываемый MS.

Но в остальном я с вами согласен.

И меня раздражает название статьи. Оно нелогично и излишне пафосно. "С++ - это Celeron вторника.", "Перл - это PDP-11 прошлого"

jerri
20.03.2012, 20:25
Кстати зря
у Спектрума нет будущего
есть только яркое прошлое
так что топикстартер в чем то прав

---------- Post added at 20:25 ---------- Previous post was at 20:22 ----------

Oleg N. Cher, ты вот только на один вопрос ответь
почему при всех твоих дифирамбах Оберонам
для получения результата используется схема

Оберон => С => готовый продукт

farewell
21.03.2012, 10:20
Нафиг не нужны Это не более чем сахар навязываемый MS.
Это опциональные языковые средства: хочешь - пользуйся, не хочешь - просто игнорируй. Главное, что они есть и расширяют возможности программиста.

А что касается this... Есть предложения, как реализовать функционал явовского this в Паскале?

---------- Post added at 10:20 ---------- Previous post was at 10:19 ----------


Кстати зря
у Спектрума нет будущего
есть только яркое прошлое
так что топикстартер в чем то прав
Пардон муа, мысль не топикстартера. А его самого ещё приходится в этом убеждать.

:v2_dizzy_roll:

Eltaron
21.03.2012, 10:57
Есть предложения, как реализовать функционал явовского this в Паскале?
А разве речь идет о конвертации джавы в паскаль?

farewell
21.03.2012, 11:05
Eltaron, а разве нет?



А ещё я собираюсь разработать на базе Оберонов технологию, которая позволит одним щелчком мышки получить программу на Си, другим на Яве, третьим для дотнета, четвёртым для Спектрума, а пятым для Андроидов. Хоть они мне и не нравятся. Зацените размах. Это Вам не Си с плюшками.

---------- Post added at 11:05 ---------- Previous post was at 11:04 ----------

Ну и, так или иначе, чем шире языковые средства, тем лучше конвертируется язык. Я думаю, это универсальное правило.

Eltaron
21.03.2012, 12:01
Eltaron, а разве нет?
Вроде речь о конвертации "чего-то" в джаву, си, оберон итд.
Наверна DSL какой-то.

Oleg N. Cher
21.03.2012, 23:15
Oleg N. Cher, ты вот только на один вопрос ответь
почему при всех твоих дифирамбах Оберонам
для получения результата используется схема

Оберон => С => готовый продукт

Только по двум причинам:

1. Хотелось получить очень быструю, но эффективную по кодогенерации возможность разрабатывать для Спектрума на Обероне.
2. Нельзя игнорировать то количество человеко-лет, которое потрачено на совершенствование оптимизирующих компиляторов Си/Си++ (в т.ч. и для Z80). Или Вы думаете, что на Обероне для Оберона нельзя написать хороший компилятор? Ладно, подскажу. Уверяю Вас, можно.

P.S. Про лямбды вцелом ясно. Когда я дал IRC-шный лог, чтобы донести только одно: большинство мэйнстримщиков от слова "Оберон" плющит, тут же вырвали из контекста и придрались к тому, что весь мэйнстрим обосрал Паскаль, хотя ясного способа записи алгоритмов не отменял никто. Если отменят – все пожалеем. Сравнение Оберон-технологий с Си это неадекватное сравнение огорода с самолётом, потому что неясно что сравнивается: this и @THIS? (кстати, в О2 он не анонимный, что я считаю плюсом). Или AO’шное {DELEGATE} с вашим анонимным? Или сравнивается пошаговая отладка с моментальной? Или сравнивается язык Си с библиотеками и многопоточная и риэлтаймовая Оберон-система AOS? Или постера плющит от своей сопричастности к таким мощным (и главное готовым) технологиям? Вряд ли мне доставляет удовольствие диалог с человеком, который причисляет всех, кто думает не как он, к инвалидам. Сэр Клайв Синклер тоже инакомыслящий, иначе бы не было Спектрума, и мы бы так мило не беседовали.

jerri
21.03.2012, 23:46
Oleg N. Cher, меньше ЧСВ и больше конкретики
как быстро работает DASH на спектруме?

vinxru
22.03.2012, 00:02
эр Клайв Синклер тоже инакомыслящий, иначе бы не было Спектрума, и мы бы так мило не беседовали.

Не в тему, но если бы Клайв-а Синклер-а не было бы, то возможно мы сейчас сидели бы за ZX Spectrum x64, а не клонами IBM PC. Дядя Синклер похоронил Спектрум.

Oleg N. Cher
22.03.2012, 02:22
как быстро работает DASH на спектруме?
Даш – это не более чем иллюстрация. Но основная потеря скорости там – бег монстров, обновление экрана от падающих камней и алмазиков, т.е. всё же вывод спрайтов. Он на асме. Но алгоритмическая оптимизация, кстати, хорошо помогла, там ещё можно оптимизнуть. А почему Вы не скачали и не посмотрели сами? Лучше скачайте вариант для Вектора на асме, он работает вцелом не очень намного быстрее моего для Спека. И сравните. Хотя сравнение конечно слегка некорректное. В Векторе проц КР580.

Я хотел обсудить в данной ветке, почему мы с выходом каждой платформы должны учить новый язык и новое апи? И вцелом это не прогресс, а перетягивания очередного одеяла на себя, а юзеров и программистов – под себя. Туда, где по мысли идеологов очередной технологии им и надлежит быть. И пользователи, сошедшие с ума от новых лямбд, будут с упоением находить в них новые достоинства.

Я не ставлю цели изменить способ мышления всех, кто со мной не согласен. Каждый использует ту среду разработки, которую заслуживает. И пусть каждый развивает то направление, которое выбрал. Но мне конечно интереснее общаться с единомышленниками, с теми, кто думает также, как я, правда, я расчитывал встретить таких людей здесь больше. Но, видимо, среднестатический спектрумист-форумчанин как дельфиец из лога, заходит больше по инерции, и больше интересуется сказать и обосрать, чем сделать. Но эта жертва – на неё я иду, чтобы привлечь к своим идеям внимание тех людей, которые мне больше интересны. При общении с которыми не надо сперва сбивать спесь, чтобы прислушались более внимательно. А злость и неприятие остальных – побочный эффект. Если видите, как привлекать внимание к Оберон-технологиям можно без этой злости, которая побочный эффект, поделитесь.

Пусть также товарищи расскажут, что в каждую прогу уровня хеловорлда на андроиде встраивается 50 кб уникального и неповторимого рантайма, а не прикрываются умным видом, что все не понимают экспрессии.

Я о том, что через 10 лет начнут продавать устройства X и придумают новую лямбду для их программирования, и всем девелоперам придётся, забыв основы, восторгаться новой идеей. И выбросить сишарпы с явами нафиг, ибо они уже устареют. Но Оберон имеет шансы остаться. Потому что я уже продемонстрировал вам на практике возможность развернуть Оберон-код как на языковую платформу (Си), так и на аппаратную (код процессора Z80 и Спектрум). Можно ещё на виртуальную (Java, .NET), эти технологии готовы. Многим здесь также не хватает фантазии понять, что в Обероны можно добавить что угодно, что собственно и сделано в АО и КП. Но что важно – АО и КП при этом остались маленькими, простыми и обозримыми. И фундаментальными. В этом чудо Оберонов. А вы про лямбды.

И когда я пытаюсь донести это, в ответ – ничего, кроме банальной болтовни. Лучше уж вместо неё почитать обзоры “новых” средств, разработанных оберонщиками-идеологами из майкрософта.


Не в тему, но если бы Клайв-а Синклер-а не было бы, то возможно мы сейчас сидели бы за ZX Spectrum x64, а не клонами IBM PC. Дядя Синклер похоронил Спектрум.
Ну, сначала-то ведь породил, так что и польза от него есть. А убило их время. Да кто щас на технологии смотрит. Одни люди производят хорошие технологии, а другие успешно заняты продажей говна. Вот тут нам с Сашей Ильиным тоже объяснили, что совершенство технологии – ничто. Бабки всё. Яву делают. Кстати, компилер в натив. Но "internally" юзают Оберон и Модулу-2. Ах нет, опечатка, *****паскаль и **********паскаль.

[Внимательно начинаем думать: а откуда у таких опытных в ява-технологиях людей пристрастие к Оберону? Может ностальгия проклятая замучила совсем?]

http://www.excelsior-usa.com/forum/topic/1470-oberon-visual-component-library-for-xds/

bigral
22.03.2012, 02:25
Оберон => С => готовый продукт

Как я понял мотивация тут может быть токо одна - нравится Оберон и все тут (а дальше мерещется в голову всяка всячина - что от ошибок ограждает, что любой другой программер его поймет, что можно все на свете компиляторы легко использовать из него транслируя в них и т.д.).

Ну дело НЕ новое, давно известное. Обычно такие мысли приходят манагерам-бездельникам в комерческом проекте, чтоб зажать программеров в "тиски" и не дать им самовыражаться, чтоб кодили они как тупые кодеры и в любой момент можно было б их заменить на других таких же обезьян. Посмотрите внимательнее не одна комерческая прога на С не была написанна без таких вот "корпоративных макросов" которые превращают С в жалкое подобие похожее на Оберон.

Именно потому настоящие програмеры так ценят С, он ведь наиболее близок к реальному железу и самому программеру а не к манагерам\академикам которые токо языком чешут.

Вот может быть GO! после оптимизации компиляторов станет реальной заменой для С но это еще не скоро и судя по всему произойдет это после полного вымерания платформ с 64кб лимитом на адресное пространство. А пока что - С + macro asm был есть и будет рулить миром.

Eltaron
22.03.2012, 07:48
Использовать в качестве аргументов собственные ошибочные суждения - это как-то за гранью.



Пусть также товарищи расскажут, что в каждую прогу уровня хеловорлда на андроиде встраивается 50 кб уникального и неповторимого рантайма, а не прикрываются умным видом, что все не понимают экспрессии.
Да откуда ж вы эту цифру безумную взяли? Код Helloworld на андроиде занимает не 60 килобайт, а меньше 1000 байт. Из них 300 - код основного джава класса приложения, 300 - xml, описывающий внешний вид "окна" приложения, и 250 - код статического класса, содержащего биндинги для этого xml. Все! Без последних двух элементов можно обойтись, если конструировать View на лету, код станет еще меньше.

У меня apk-шка готового приложения - новый способ ввода + драйверы BT- и USB-клавиатур - весит 50 килобайт. А там несколько тысяч строк кода и куча PNG-шек.

При этом вы учтите, что java-классы содержат уйму информации, которой нет в простом коде - хотя бы имена классов и функций, а это строки, и длинные.


Я о том, что через 10 лет начнут продавать устройства X и придумают новую лямбду для их программирования, и всем девелоперам придётся, забыв основы, восторгаться новой идеей.
Новой идеей? Вообще-то первый функциональный язык - LISP - появился задолго до любого из ныне широко используемых ЯВУ (даже раньше Кобола).
А лямбда-выражения - это именно изящный способ интегрировать функциональный подход в императивный язык.

farewell
22.03.2012, 10:10
Пусть также товарищи расскажут, что в каждую прогу уровня хеловорлда на андроиде встраивается 50 кб уникального и неповторимого рантайма, а не прикрываются умным видом, что все не понимают экспрессии.

Кто ещё вырывает из контекста, я посмотрю.

Каюсь, я дал пример 50-килобайтного хеллоуворлда на Андроиде, сделав его из собственного шаблона, в котором есть некие дополнения, про которые я уже просто забыл. В аттаче лежит тру хеллоуворлд, созданный самой SDK. Его размер 11.5 кб, из них 7.7 кб заняты тремя иконками.

Но, даже если засчитать мне мой косяк, идея универсальной среды ещё больше проигрывает: 500/50 = 10, 500 / 11.5 = более чем 43.

---------- Post added at 10:10 ---------- Previous post was at 10:05 ----------


Про лямбды вцелом ясно. Когда я дал IRC-шный лог, чтобы донести только одно: большинство мэйнстримщиков от слова "Оберон" плющит, тут же вырвали из контекста и придрались к тому, что весь мэйнстрим обосрал Паскаль, хотя ясного способа записи алгоритмов не отменял никто.

Оберон проще, чем Паскаль, вы сами это подчёркивали. Поскольку он является потомком Паскаля, вряд ли это упрощение выльется в повышение ценности языка как инструмента разработки.

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

Идите на школьные форумы, убеждайте учителей, что дети должны учить Оберон, т.к. он простой и наглядный. Вам слова никто не скажет. Но обижаться на то, что вас кинули, предпочтя какой-то там С++ вашему "нашему всему" - это глупое детство.

Eltaron
22.03.2012, 11:06
Его размер 11.5 кб, из них 7.7 кб заняты тремя иконками.

со стандартным манифестом, без иконок, layout'ов и прочих ресурсов -


package zx.pk.ru.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.*;

public class hello extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
TextView text = new TextView(this);
text.setText("Hello, World!");
layout.addView(text);
this.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
}

1.4 килобайта

farewell
22.03.2012, 11:16
со стандартным манифестом, без иконок, layout'ов и прочих ресурсов

Иконки, лайоуты и прочие архитектурные особенности - это необтъемлемые атрибуты "правильного" приложения, как это себе видят разработчики ОС.

В конечном итоге, это не имеет значения, поскольку ни один Оберон не сделает меньшего и более эффективного кода с теми же параметрами.

Oleg N. Cher
22.03.2012, 13:59
Учат, учат детишки Обероны, не волнуйтесь. Проект есть такой, Информатика 21. А если учебный язык годится ещё на что-то, кроме обучения, то, пожалуй, это только его плюс, не находите? Я там ветку начал, в которой начал конструктивно показывать полезные отличия Оберона от Си, потому что ИМХО он содержит УЖЕ гораздо меньше проблем и затычек. А также начал тему "Полезные отличия Оберона от Паскаля", которую прибил кто-то из местных модераторов. Поэтому сейчас делаю свой форум, приглашу туда потом всех желающих, подробно обсудим все полезные отличия Оберонов и от Си, и от Си++, и от Паскаля(как Виртовского, так и объектного-Delphi)/Модулы (1 и 2).

---------- Post added at 11:59 ---------- Previous post was at 11:57 ----------


ни один Оберон не сделает меньшего и более эффективного кода с теми же параметрами.

Вызываю суровых сишников на бой и берусь сделать консольный либо диалоговый хеловорлд для Win32 на Обероне размером в 1 кб

farewell
22.03.2012, 14:16
Учат, учат детишки Обероны, не волнуйтесь. Проект есть такой, Информатика 21.
Я, как человек, у которого первым серьёзным языком программирования был Паскаль, могу только порадоваться за детей. Вы в этом проекте участвуете? А то я не смог найти вашего имени там...



подробно обсудим все полезные отличия Оберонов и от Си, и от Си++, и от Паскаля(как Виртовского, так и объектного-Delphi)/Модулы (1 и 2).
Будет интересно ))

---------- Post added at 14:16 ---------- Previous post was at 14:14 ----------


Вызываю суровых сишников на бой и берусь сделать консольный либо диалоговый хеловорлд для Win32 на Обероне размером в 1 кб
Предлагаю делать сразу для Андроида.

jerri
22.03.2012, 15:50
Oleg N. Cher,

Даш – это не более чем иллюстрация. Но основная потеря скорости там – бег монстров, обновление экрана от падающих камней и алмазиков, т.е. всё же вывод спрайтов. Он на асме. Но алгоритмическая оптимизация, кстати, хорошо помогла, там ещё можно оптимизнуть. А почему Вы не скачали и не посмотрели сами? Лучше скачайте вариант для Вектора на асме, он работает вцелом не очень намного быстрее моего для Спека. И сравните. Хотя сравнение конечно слегка некорректное. В Векторе проц КР580.

мне неинтересна версия для вектора, я хочу увидеть версию именно на спек

ну а круче mineworker (http://boctopr.ru/category/zx-spectrum/) ты сделаешь врядли

ZEK
22.03.2012, 18:48
сделать консольный либо диалоговый хеловорлд для Win32 на Обероне
раздел про спекртрумы, пц не к месту а то на питоне напишу в 18байт и будет расширение exe, так что лучше меряться к примеру такой задачкой:
1.Атрибутная бегущая строка с надписью Hello World!!!.
2.Черные знакоместа на белом фоне, символы 8х8 атрибутов
3.Использовать только средства языка, без вставок асма
4.Надпись выезжает из одного края экрана по горизонтали уезжает в другой край, в цикле

farewell
22.03.2012, 19:37
А я когда-то писал питона на 8086 ассемблере. com-файл, 505 байт. Круто же?

Oleg N. Cher
22.03.2012, 21:14
Конечно круто, эдак не каждый сумеет.

jerri
22.03.2012, 21:16
вроде в 256 и 128 байт есть

Oleg N. Cher
22.03.2012, 21:23
Я, как человек, у которого первым серьёзным языком программирования был Паскаль, могу только порадоваться за детей. Вы в этом проекте участвуете? А то я не смог найти вашего имени там...

Не, я не участвую, просто сочувствующий. Любил в детстве почитывать журнал "Информатика и образование" (где-то в годах 1987-1989), он тогда был безумно интересным, творческие идеи и энтузиазм в головах так и витали. И школьники много интересных программ разрабатывали, даже на тех компах, которые теперешний мэйнстрим считает примитивом. Значит отношение другое было. Сейчас к компьютерам такого отношения нету. К любым компьютерам, не только к Спектруму.


Предлагаю делать сразу для Андроида.
Не владею технологией. Хеловорлд на 50 кб – эти слова не я сказал,
промотайте ветку выше, просто поверил на слово и стал комментировать.

Кстати, jerri, я потому исходники Дурака и Даша не шарю. Ану как найдётся умный человек, как Eltaron, который напишет за 2 дня прослойку между апи андроида и этих игр, и начнёт рубить бабло? А я сам так хочу, тем более, что примерно для того и проекты начинал.

jerri
22.03.2012, 22:34
Oleg N. Cher, я уже не прошу исходники :)
снап приложи
мне интересно качество кода

Oleg N. Cher
23.03.2012, 14:46
jerri, так вот снап, давно приложил. Невнимательно читаете: http://zx.oberon2.ru/dash.htm

По качеству кода – это к SDCC. Надо вместе нам собраться и протолкнуть идею передачи параметров fastcall и прочие идеи, которые придумаем, в команду, занимающуюся SDCC. Примерно для этого я сейчас и настраиваю форум.

Понимаете, jerri, никто Вас не обманул и не недодал чего-то, просто Даш и Дурак в поставку технологии XDev пока не входят. Давайте делать игры, которые туда войдут. Которые будут иллюстрацией возможности кроссплатформенной разработки на Оберонах с единого исходника для ZX, Win32, Linux и Android на практике. Я просто слишком масштабную вещь задумал, чтобы всё сделать одному, покрыть все платформы, как ретро, так и новомодные. Для этого я и здесь. Чтобы найти тех, кому это тоже интересно. Мне вот порт Даша для MSX и Nintendo хочется сделать, хотя понимаю, что бабки щас вливают в Андроид.

jerri
23.03.2012, 16:47
заценил посмотрел - я боялся будет хуже

Oleg N. Cher
24.03.2012, 14:53
Но Вы видите, там в Спектрум-версии ещё не анимирован человечек, хотя фазы как будто бы выводятся, но это один и тот же спрайт, я просто не успел это сделать когда перерисовывал спрайты с CGA на ZX. Цветными клетки также сделать нельзя, потому что по задумке Даш одноэкранный и без скроллинга, а все лабиринты – 16x16 клеток. Кстати, у меня есть вариант Даша, собранный для PalmOS, но тоже недоделанный. Также легко будет получить вариант для J2ME, но нужны наборы спрайтов под разные разрешения (если растр) или же векторные (что наверное имеет смысл для бОльших разрешений и ресурсов, чем на карманных устройствах).

Изначально эта версия Даша была разработана А.В.Мелентьевым для платформы БК-0010, если поковыряетесь среди тамтошних эмуляторов БК, то найдёте даже не одну версию этого Даша, я видел их как минимум 3. Там есть версия, где чел бутылки собирает. Видать, бомж или алкоголик. Потом эстафету продолжил Володя Мутель своей версией для Поиска (DOS/CGA). Сперва игра имела хождение только в Днепропетровске, поэтому я для пиара разместил её здесь: http://goldies.ru/games/?game=1329

Призываю не рассматривать кодогенерацию SDCC (также как и текст на Си, продуцированный Ofront'ом) как нечто статичное. Всё это гибко поддаётся улучшению, если для этого приложить время и усилия. Не дадут дорабатывать нам Ofront – перейдём на безплатный OO2C, или ещё что-нибудь придумаем.

---------- Post added at 12:53 ---------- Previous post was at 11:50 ----------

А придёт время, можем и вообще избавиться от связки SDCC/Ofront и перейти на нативную кодогенерацию. Как дело пойдёт. Всё в наших руках, господа.

jerri
24.03.2012, 17:06
я знаю что это за болдердаш :) я в него рубился еще вначале 90х

Oleg N. Cher
26.03.2012, 19:33
jerri, мне неловко, но я опять лезу бражелонить – отвечать на незаданный вопрос. Потому что Вы не поинтересовались, прежде чем критиковать качество кода Даша, какой версией SDCC он собран. Отвечаю: он собран версией:

SDCC : mcs51/gbz80/z80/ds390/pic16/pic14/TININative/ds400/hc08 2.9.7 #5839 (May 30 2010) (MINGW32)
С тех пор в SDCC с нуля переписали аллокатор регистров (стало в целом очень сильно оптимальнее, и только лишь за счёт более правильного распределения регистров) и внесли много различных оптимизаций. Почему я остался на столь старой сборке? Да просто активные работы над Дашем проводились где-то в 2009-2010гг. Позже я не занимался им, поэтому на более новую сборку SDCC и не перешёл. Собрал чем было, что в папочке лежало.

Не уверен, что у меня получится озвучить уровень восприятия потребителя, никого здесь не задев и не обидев. Но попробую. Потребителю предлагаешь ZXDev/Оберон. Он начинает возмущаться, что это не Бейсик. Допустим, я сделаю ему Бейсик (в рамках идеологии ZXDev, т.е. с трансляцией через Си), он начинает возмущаться лишним звеном в виде Си. Если я напрягу все силёнки и предоставлю потребителю компилятор Бейсика с прямой генерацией машкода (без Си), он начнёт возмущаться низким качеством кодогенерации. Дальше фантастика – я предлагаю потребителю Бейсик с идеальной (как для языка высокого уровня) кодогенерацией в код Z80, потребитель всё равно найдёт к чему придраться, например, скажет, что сделает на асме всё равно более оптимально. Это уровень потребления.

Уровень энтузиаста – игнорировать существенные и несущественные проблемы. Энтузиаст понимает, что сделать всё идеально за час не получится, поэтому он занят улучшениями по шагам, ведь всё равно надо с чего-то начинать. Кодогенерация плохонькая? А, ничего страшного, можно поправить это и вот это, вот это поправить легче, и – поехали. Дело делается, а не говорится много слов. Чувствуете разницу?

Мне наш модератор сказал чудную вещь в аське.


GriV
мне как то говорили "лучше сделать криво но рабочее сейчас, чем идеально но никому не нужное потом"
Zorko
золотые слова
GriV
:-D ну это коммерческий подход
Zorko
потому что криво но рабочее можно доделать в идеальное. а идеальное пока сделаешь - оно морально устареет сто раз
GriV
там даже пример был с каким то форт-компилятором, был первый, глюкавый но который все юзали, а был через 10 лет идеально оптимизированный, но уже никому не нужный, который все рассматривали с академических чисто позиций

Так что меня оправдывает то, что я действую в рамках своих интересов. Назовите хотя бы одну вескую причину, jerri, почему я должен действовать в рамках Ваших?

jerri
26.03.2012, 21:34
Oleg N. Cher, не хотел я снова сюда писать :) но раз уж есть ко мне вопросы отвечу
уровень энтузиаста - это Raydac с его компилятором java байткода
он его просто пишет

а от тебя я вижу каждый день простыни текста и пишешь ли ты оберон для спека я не вижу :)

Oleg N. Cher
27.03.2012, 15:46
Всем не угодишь, jerri, кому-то простыни, а кому-то маловато информации. Вам бы я хотел угодить меньше всего.

jerri
27.03.2012, 15:52
Oleg N. Cher, а зря :) ведь в ваших простынях действительно маловато информации.

Oleg N. Cher
28.03.2012, 10:25
Ну так в Ваших постах её вообще практически 0, jerri. Вы вообще не пытаетесь никому сказать ничего полезного, только самоутверждаетесь. Вы не сделали ничего полезного и для моих веток форума. К тому же хватит убивать Березовского, надоело. Вы его так только прославляете лишний раз.

farewell
28.03.2012, 10:46
Он не березовского пиарит, а сайт.

jerri
28.03.2012, 11:06
farewell, догадливый :)

Oleg N. Cher, да неужели? я указываю на ошибки а мне еще за это и пеняют.
но в целом же ко мне претензий нет. потому приходится цеплятся к подписи :)

Oleg N. Cher
28.03.2012, 16:53
Я так отдыхаю, когда в простынках Оберон пиарю. Лучше Обероны, чем Березовский. А ви таки не антисемит?


я знаю что это за болдердаш :) я в него рубился еще вначале 90х

Оч-чень информативный пост! Такие посты и впрямь нет смысла править. А я иногда опечатки правлю. Или дополняю ценными мыслями.

jerri
28.03.2012, 21:26
Оч-чень информативный пост! Такие посты и впрямь нет смысла править. А я иногда опечатки правлю. Или дополняю ценными мыслями.

если уж вести полемику то надо все три поста публиковать

тогда в моем посте есть смысл


заценил посмотрел - я боялся будет хуже

Но Вы видите, там в Спектрум-версии ещё не анимирован человечек, хотя фазы как будто бы выводятся, но это один и тот же спрайт, я просто не успел это сделать когда перерисовывал спрайты с CGA на ZX. Цветными клетки также сделать нельзя, потому что по задумке Даш одноэкранный и без скроллинга, а все лабиринты – 16x16 клеток. Кстати, у меня есть вариант Даша, собранный для PalmOS, но тоже недоделанный. Также легко будет получить вариант для J2ME, но нужны наборы спрайтов под разные разрешения (если растр) или же векторные (что наверное имеет смысл для бОльших разрешений и ресурсов, чем на карманных устройствах).

Изначально эта версия Даша была разработана А.В.Мелентьевым для платформы БК-0010, если поковыряетесь среди тамтошних эмуляторов БК, то найдёте даже не одну версию этого Даша, я видел их как минимум 3. Там есть версия, где чел бутылки собирает. Видать, бомж или алкоголик. Потом эстафету продолжил Володя Мутель своей версией для Поиска (DOS/CGA). Сперва игра имела хождение только в Днепропетровске, поэтому я для пиара разместил её здесь: http://goldies.ru/games/?game=1329

Призываю не рассматривать кодогенерацию SDCC (также как и текст на Си, продуцированный Ofront'ом) как нечто статичное. Всё это гибко поддаётся улучшению, если для этого приложить время и усилия. Не дадут дорабатывать нам Ofront – перейдём на безплатный OO2C, или ещё что-нибудь придумаем.

---------- Post added at 12:53 ---------- Previous post was at 11:50 ----------

А придёт время, можем и вообще избавиться от связки SDCC/Ofront и перейти на нативную кодогенерацию. Как дело пойдёт. Всё в наших руках, господа.

я знаю что это за болдердаш :) я в него рубился еще вначале 90х

а если дополнять старые посты то можно полностью извратить суть разговора

Oleg N. Cher
29.03.2012, 21:04
Смотря чем дополнять. jerri, идите в ветку "на Java для ZX" и предложите им концептуально, что Java на Спеке вообще никаким боком, и надо тока PureBasic, посмотрим что Вам ответит Raydac. Для эксперимента

jerri
29.03.2012, 23:51
Oleg N. Cher, а в этом нет никакой нужды
тема по яве и по оберону находятся в разных ветках - здесь концепция
а там - программирование. а по программированию у меня к нему вопросов больше нет.

Также если внимательно прочитать топик по java можно увидеть мои вопросы и его ответы. И даже увидеть что Raydac без лишних слов и возмущений выложил полученные им результаты экспериментов.

jerri
30.03.2012, 22:07
и напоследок


Поручик Ржевский перед балом просит А.С.Пушкина сочинить для него небольшой стишок. Немного подумав Пушкин выдает каламбур:
- Ты г@ндон и он г@ндон, а я - виконт де Бражелон. На балу Ржевский объявляет:
- Господа, сейчас я расскажу вам стих, который я только что сочинил! Вокруг него собирается толпа. Ржевский пытается вспомнить каламбур, но у него ничего не выходит. Ржевский:
- Господа, самого стиха я не помню, но смысл такой: я - Дартаньян, а вы все - п@расы!

Oleg N. Cher
31.03.2012, 13:43
jerri, Вы с большим трудом понимаете разницу между пиаром Java и Oberon. Я предложил попробовать на практике, чтобы Вы лучше поняли. Но и это безполезно. Умываю руки.

jerri
31.03.2012, 14:35
jerri, Вы с большим трудом понимаете разницу между пиаром Java и Oberon. Я предложил попробовать на практике, чтобы Вы лучше поняли. Но и это безполезно. Умываю руки.

:v2_dizzy_facepalm: Нет разницы даже между продажей спаржи и устройством на работу. что говорить о двух ЯВУ ориентированных на ускорение разработки и кроссплатформенность.

Oleg N. Cher
16.09.2012, 18:27
Приглашаю желающих продолжить дискуссию по теме (http://zx.oberon2.ru/forum/viewtopic.php?f=10&t=28&p=101#p101)