Мдя... теме уже скоро будет год :eek: а воз и ныне там, я уж не говорю про то что уже явно разговор пошел не по теме... :mad:
Вид для печати
Мдя... теме уже скоро будет год :eek: а воз и ныне там, я уж не говорю про то что уже явно разговор пошел не по теме... :mad:
Насколько я понимаю, основные технические вопросы рассмотрены. В настощее время все заинтересованные лица разделились на несколько групп. Гаждая группа разрабатывает свою ОС в соответствии со своими представлениями. Единой ОС не получится.
2Umka барахолку, где за 50-100 руб. можно купить Spectrum 48
А что не судьба 128й Спек переключить в режим 48?
:(
Как с 48го так и со 128го Спека прекрасно видна область памяти 49152-65535. Кроме того, есть область 32768-49152 как своеобразное "окно". Таким образом "система" (наипростейшая многозадачная управляющая оболочка) пойдет на обоих машинах. Преимуществом машины 128 является дополнительные банки памяти, которые будут отмечены сэтапом, наверное так.
CHRV как-то говорил, что чем придумывать как извернуться в кодах, проще сделать профессиональный загрузчик программ (бут-манагер). Поработал в графредакторе - сохранил картинку, вышел в манагер, запустил HTML-редактор - вставил картинку и т.д. Или вообще, по команде - минуя манагер вышел из одной проги в другую.
2genersда некто не будет писать новую ось - это факт ,будут мутировать тоже isdos cp\m
Почему же так? Впрочем писать, может быть, но ведь концепцию можно выложить? А кому понравится - реализует. Так ведь кроме Doors и Beeos ничего нет, никакой доки... почти. Я щас занят ПЦ-шной "дурью", после её обкатки примусь за Спека. Многое позабылось, так что сам механизм будет отлажен на ПЦ, а потом, потихоньку похожее будет написано для Спектрума (возможно 48/128 для ТР-ДОС) не обязательно мной, но другим кодером. В любом случае, документация на 40% подготовлена и будет выложена в сеть, а дальше - на любителя. Давайте смело глядеть вперед! Судя по всему некоторые форумовики сидят и ждут какую-нить сырую дему, чтиобы потом облаять её, не так ли произошло с красавицей Doors?
зы: по поводу "дури", могу выслать емылом демку, но она вряд ли заинтересует, это лишь частицы целого.
Я уже где-то писал... Если кто хочет продвинуть свою ось, то ему придется к ней написать еще и ассемблер + дебаггер, да чтобы покруче или, по крайней мере, не хуже чем лучшие из имеющихся. Оптимаьный вариант, к нему я и сам приходил, писать программу, например игру, так как буд-то она работает под управлением вашей, еще не написанной ОСи. Соответственно некоторые части программы, например работа с диском, писать как части ОС (так сказать задел на будущее). Только скорее всего получится просто набор более менее универсальных билиотек. Отсюда вывод -> писать надо ассемблер с дебаггером: получим и новый инструмент и зачатки ОСи.
Как я уже писал выше. Должна быть рабочая группа которая занимается Осью, причем должное быть достаточно жесткое руководство группой человеком который четко видит что нужно сделать, и может написать некое техническое задание (из присутствуещих я уже называл ранее кому это можно доверить).Цитата:
Сообщение от ws_mason
Если этого не будет то естественно ничего не будет.
А я предлагал сделать отдельный невидимый раздел для подобной группы!Цитата:
Сообщение от CHRV
Зачем невидимый, достаточно readonly для всех, а кто даст заявки тот сам попадает.Цитата:
Сообщение от CityAceE
Breeze ты еще не раздумал взять руководство? ;)
2 VOVOI
пришли пжаста демку
мдя... даже и не знаю что сказать :( голова сейчас забита несколько другой проблемой, я одолжил крупную сумму и влетел... теперь вот думаю как отдавать... :oЦитата:
Сообщение от CHRV
На автоматах чтоли прокрутил :). Шучу.Цитата:
Сообщение от breeze
Ну у всех такие проблемы.
ну не думаю что каждый пытался открыть свою фирму, а у него воровали деньги :mad:Цитата:
Сообщение от CHRV
мдя... вот оно золотое правило! доверяй - но проверяй! и желательно почаще :(
зы: ладно! проехали! по возможности буду вносить свой вклад! но на team leader явно не потяну :( sorry!
ws_mason> Я уже где-то писал... Если кто хочет продвинуть свою ось, то ему придется к ней написать еще и ассемблер + дебаггер
Если этого не сделать, то такая ОСь никому будет не нужна. Т.о. ты создаешь простой бут-манагер и прикручиваешь к нему типа-микроасм, заточенный под бут. Тот кому хочется придираться, потом захочется что-нить сделать и когда прога скомпилится и будет работать в тандеме с бутом, то чеек начнет думать дальше, а что бы еще туда прикрутить? а что улучшить?
Мало знаю про Линукс, но где-то слышал, что там был С-компилер и потому Линукс не сдох. Т.е. нашлись люди, которые сразу смекнули, что для новой системы, запросто МОЖНО писать СВОИ проги. Без компилера проект наверное давно заглох бы или был бы игрушкой избраных. (имхо)
Например, Спековская "система" Windows 1.4, хорошо хоть автор расписал КАК делать проги и ведь они получаются (правда иногда с матами), если бы он прикрутил туда асм, то как и для iS-DOS (with is-assemler), так и для Win1.4 стало бы возможным создавать приложения. А так, расписаны лишь точки входа, а реализуй как знаешь, вот такого, имхо, не должно быть. То есть, если в системе сказано "не используй #3D13!", то нарушать правила не следует, как бы не хотелось, то же касается вывода текстов на экран и использования RAM.
Оптимаьный вариант, к нему я и сам приходил, писать программу, например игру, так как буд-то она работает под управлением вашей, еще не написанной ОСи.
К такому пришел и я и наверное многие. И (если не ошибаюсь) в DomenOS автор сказал, если бы кодеры оставляли бы хоть 50 байт свободного места, тогда в эти участки проги можно было натолкать вырубалки процесса и прочее, для оранизации хотя бы плагинной работы системы.
Соответственно некоторые части программы, например работа с диском, писать как части ОС (так сказать задел на будущее). Только скорее всего получится просто набор более менее универсальных билиотек.
Получится набор плагинов, на Спеке видимо это один из выходов.
:smile:
Даже проще, создать основные библиотеки по загрузке и выгрузке данных, прочие операции (которые, как правило, выполняются многими программами, даже вывод текста). Эти библиотеки подгружаются в конец асмового текста, ну:
ORG PROGA
LOAD EQU 10000;забыл как это оформляется, но общий смысл, полагаю будет ясен
...
LD HL, Address
LD BC, Lenght
CALL LOAD; примерно так
...
RET
LOAD ORG;сама библиотека, процедура загрузки даных в ОЗУ
...
RET
После создания системы и опубликования точек входа, исходные тексты подвергаются минимальной редакции, а все изменения концепции системы (допустим, я так реализовал загрузку, а в системе слегка по-иному) будут касаться видоизменениям в процедуре LOAD таким образом, что данные, получаемые от системы (loading) были приведены к виду, понятному программе, ну а для SAVE приказ отданный прогой был сформирован в формате, принятом в системе и так далее.
У тебя устаревшие сведения: уже давным-давно существует более продвинутая версия ZX-Windows v1.6Цитата:
Сообщение от Vovoi
Среди "вкусностей" - наконец-то можно свободно перемещать иконки по рабочему столу как душе угодно, самих иконок одновременно можно иметь больше, ну и еще по мелочам...
Цитата:
Сообщение от Максагор
Простите, если я Вас чем-то обидел, но мне показалось, что изменения были более существенными.
:o
Какие абиды, дарагой, слющай! С обидами - к автору сабжа. А какие там еще были изменения - уже и сам запамятовал, так как тыщу лет не использовал. Хотя были времена... :)Цитата:
Сообщение от Vovoi
Сколько ангелов умещаются в бутылке из под пива?Цитата:
Сообщение от dwt
Какой командой процессора колобок есть чёрта?Цитата:
И вообще, если рассматривать проблему шире, нужна ли новая ОС Спектруму?
Ядру место там же, где и графическим интерфейсам.Цитата:
Цель создания этой темы - определить основные принципы, так сказть, "идеологию" ОС. На мой взгляд, нет необходимости в
изначальность ставить графический интерфейс, и т.д. Необходимо создать ОС, ядро которой будет минимально. Ядро, которое
Ядра, GUI, мыши, кнопка пуск -- вот главные атрибуты любой ОС.
Конечно... А софт мы напишем. От нефиг делать. Бросим нести
всякую чушь в форумах и пойдём строем писать софт. А то ежели
бы с такой скоростью софт писат, уже windows ха-эр переписали
бы. Два раза.
Это абсолютный бред. ОС на спектруме...Цитата:
А что вы думаете по этому поводу?
Что имеет смысл. Вот взять например спектрум типа пентагон-512.
Или KAY-1204. И TR-DOS. Хоть каевский, хоть 5.13, хоть 6.xx.
Для чего используется память сверх 128-и килобайт? Под RAM-диск.
И если у вас один дисковод 3.5, а другой 5.25, или вообще, ужас,
один дисковод. Или даже если 2 дисковода -- RAM-диск наиполезнейшая вещь. Вот почему: когда вы в Lara Croft разюючили
очередной варез свалившийся из ZX.SPECTRUM вам нужно:
1. запустить unzip и распаковать.
2. запустить, забыл уже как её там, для вытаскивания из SCL.
3. посмотреть, стереть, остальное куда-то скопировать.
Дисковод B: занять Ларой и почтовой базой, дисковод A: мелоном
и ММД. Без рамдиска будешь как проклятый эти диски, нечитаемые,
переформатировать, вставлять туда-сюда. Медленно всё. А с
рамдиском всё делается всего-лишь за 10 минут. Вот для чего нужен
RAM-диск. С НИМ УДОБНО РАБОТАТЬ. На нём удобно держать
временные файлы. Файлы передаваемые от программы к программе.
Он MOVE'ится за минуту. А не за 10. На нём не бывает сбоев. Кроме
сбоев питания.
Но вот есть одна беда. Есть такие, типа кодеры, которые пишут
программы, которые портят этот рам-диск. У меня даже переключатель был, для запуска таких программ. Чтоб верхнюю
память отключать. НО ТОГДА И РАМ-ДИСК НЕДОСТУПЕН!
Вот это проблема.
А почему так происходит? Вот взять, например, ALASM. Ему нужно,
ну банка, ну две-три. Исходники хранить. А он из-за этого рам-диск
гробит. Потому что он не знает что там рам-диск. А даже если и знает, то не умеет им воспользоваться. А было бы нужно всего-то
создать в этом рам-диске файлик, выяснить в какую банку он попал
и ту банку использовать. Налицо плюс: состояние исходника надёжно
сохраняется между запусками аласма. Потому что другие программы,
если они тоже корректно работают с рам-диском, они не будут портить файлик, который был занять аласмом.
Больше того, тот же аласм можно временно прервать, записать
как @ файл на рам-диск, поработать с другой программой, и
вернуться обратно в аласм. Чем не многозадачность? И никто
этот аласм, резидентный в памяти, не испортит. Даже если параллельно два аласма запускать. Потому что они знают --
вот это мой файлик, а вот это чужой. И где какая банка.
Дальше больше. Введём понятие "виртуальный диск" вместо
рам-диска. С пользовательским драйвером. Разумеется для тр-дос.
Что получим? Пользователь *без прошивки ПЗУ* имеет возможность
пользоваться разными программами виртуализации дисков.
Кому-то на винчестер, кому-то в рам-диск, кому-то на CD-ROM...
Где размещается драйвер? В том же рам-диске. Он используется
просто как средство выделения памяти.
Совсем не сложно написать программу, которая бы виртуализировала TRD-файл записанный на CD-ROM...
А это дасть возможность полноценного использования коллекций
софта на спектруме. Не как сечас:
1. CD-walk.
2. Unzip
3. dehobeta или unscl
ТРИ РАЗНЫХ ПРОГРАММЫ. И хорошо, если это не коллекция славки
калинина, где всё исключительно в *.RAR.
Многозадачность опять же. Это не означает ПАРАЛЛЕЛЬНОГО
ИСПОЛНЕНИЯ. Кнопка Magic. Во-первых к ней тянуться, во-вторых
она не всегда корректно срабатывает. Это может быть и хорошо
(я имею ввиду NMI) для программ с защитой. Но плохо для
обычных таких программ, в которых стек портится. Есть решение.
ПРОПАТЧИТЬ ПЗУ, функцию RST #38. Чтоб, например, нажатие
SS+CS+Space (SS+BREAK) срабатывало как БЕЗОПАСНЫЙ MAGIC.
С определяемой пользователем функцией. Из того же RAM-диска. НАжал SS+BREAK, из рам-диска запустилась специальная
программа. Она может, например, записать в тот-же рам-диск
сжатый дамп памяти и вызвать boot. Конечно же из рам-диска.
ПОЛЬЗОВАТЕЛЬ ОДИН РАЗ ЗАГРУЖАЕТ В РАМ-ДИСК САМЫЕ
НУЖНЫЕ ПРОГРАММЫ И ПОТОМ работает быстро!.
Адаптацию существующих программ, портящих какую попало
память. Да, это проблема. К счастью, таких программ относительно
мало. И они или запускаются в 128-режиме. Или их можно пропатчить для выделения банок из рам-диска.
Но самое важное, что я хотел сказать -- каждый раз когда разговор
заходит о всяких там ОС начинают изобретать всякую херню. ZX-Windows, ZX-Linux, окна, мыши, ядра, "таскменеджеры". А хрен
ли с них толку, если я хочу в аласм код писать под этим всем?
А вот элементарная вещь -- рам-диск. Это же готовый менеджер
памяти. И вообще очень удобная штука. Без неё спектрумом пользоваться вообще нереально. Только если нет SMUC.
Впрочем, о чём тут писать. Писюканцы-эмуляторщики ниасилят.
Посидели бы за реальным недельку...
Перечитал ещё раз заново всю ветку. Начали за здравие, а закончили за упокой. То есть начали было здравое обсуждение, которое, увы, ни к чему не пришло. Жаль.
Вполне очевидно, что если новая ОС и будет написана, то никто не ринется поддерживать её программно, даже если предположить, что будет создана идеальная система, которая будет использовать на 100% все возможности и ресурсы Спектрума. Так что так или иначе новая система будет скорее всего ради самой системы. Ну и пусть! Мне лично будет интересно принять участие в её разработке.
Хочу высказать свои мысли по поводу того, как я лично вижу новое программное обеспечение, которое возможно можно будет назвать операционной системой. Я не знаком с теорией построения операционных систем и могу судить о OS только с позиции пользователя. За последнее время я попытался ознакомиться с операционными системами других раритетных компьютеров – они внешне очень похожи между собой и мало похожи на Windows. И вот к чему я пришёл.
Итак, многозадачность. Скорости процессора Z80 вряд ли хватит чтобы обеспечить параллельную работу нескольких одновременно запущенных задач. Для Спектрума вполне хватит одной работающей программы за раз (как и в современной PalmOS!). Нужно сделать так, чтобы следующая запущенная программа замораживала в памяти предыдущую программу. То есть создать вытесняющую многозадачность, подобно программе MagOS на Скорпионе. Нечто подобное было создано и для Pantagon’а с кэшем. Переключаться между программами, которые ничего не знают о новой операционной системе, вероятно, придётся лишь с помощью кнопки NMI.
Как это выглядит: Загружаем операционную систему, щелкаем на иконку с CD-ROM’ом, перебираем папки и на ходим нужную нам с заголовком SNA, там находим файл Exolon.SNA и запускаем его. Стартует игра Exolon. Поиграв немного, жмём кнопку NMI и тотчас Exolon исчезает, а на экране появляется тот же рабочий стол нашей операционной системы со всеми открытыми нами окнами, на котором мы видим новый значок, который говорит нам, что в памяти (или в swap-файле на винчестере) у нас хранится запущенная программа Exolon. Указатель свободной памяти говорит нам, что у нас хватает места для запуска ещё одной программы. Мы выходим из папки SNA и перемещаемся в папку Z80, откуда запускаем файл Batty.Z80. Поиграв в Batty мы снова нажимаем на NMI и снова оказываемся на нашем рабочем столе. На этот раз мы видим, что кроме программы Exolon появилась ещё одна запущенная программа – Batty. Мы щелкаем по сигнальному значку Exolon и оказываемся в игре ровно на том моменте, когда была первый раз нажата кнопка NMI. И т.д. Любая запущенная и свёрнутая программа может быть закрыта методами нашей операционной системы.
Те же программы, которые возможно будут написаны под нашу операционку должны будут иметь возможность к переключению без NMI. Например, вот так: На рабочем столе одновременно запущено окно с калькулятором и окно с Тетрисом. В настоящий момент активно окно с Тетрисом – фигурки падают. Подводим указатель мыши к окну с калькулятором и кликом активируем его. Фигурки в Тетрисе замирают, зато теперь можно произвести необходимые расчёты на калькуляторе. Активируем мышкой окно с Тетрисом и фигурки снова оживают.
Операционная система не должна быть привязана к стандартному экрану Спектрума как IS-DOS, не должна быть привзязана к Beta Disk Interface’у или к чему-то ещё. Система должна храниться и запускаться с чего угодно, лишь бы дать ей толчок, как например ПЗУ в Kay имеет опцию загрузки с HDD. Драйвера должны быть абсолютно на любое устройство, начиная с памяти и заканчивая экраном. Например, кто-то разрабатывает новый, сверхкрутой видеорежим, но опасается, что под этот режим никто никогда ничего не напишет, но самому автору достаточно будет написать драйвер под нашу систему, после чего на новом режиме запросто пойдут и упомянутые выше Тетрис с калькулятором. А ведь уже сейчас на Спектруме есть видеорежимы отличные от стандартных 256x192@16. Вспомните 512х192@2, расширенные режимы AlCo, режимы ATM, Профи и др. Достаточно только одного драйвера и всё! То же касается памяти, то же касается мышки и джойстика, то же касается звука и всего остального. Ясное дело, что игры под такое дело не напишешь – всё будет слишком медленно. Но! Вспомните любимую многими Amiga. Очень и очень многие игрушки на ней запускаются только с дискеты, и плевать они хотели на Workbench, предпочитая напрямую обращаться к железу. А чтобы записать их на HDD приходится использовать всякие хитрости и загружать образ диска целиком в память. То есть весьма похожая ситуация.
Как уже понятно из моего описания система просто обязана иметь GUI. Уже заранее известно, что всё в один фрейм уложить не удастся и что всё будет притормаживать. Однако я уверен, что это будет работать быстрее чем GEOS на Commоdore 64. Да и на старых версиях PalmOS под MC68000 авторы не стеснялись перерисовывать иконки прямо на глазах пользователей. Кроме того GUI, как мне кажется, должен быть настраиваемым и иметь возможность менять skin. Как я уже писал в другой ветке, нужно отказаться от цвета и от привязки к знакоместам, как по горизонтали, так и по вертикали.
Для любителей и для экономии памяти нужно предусмотреть и консоль. Желательно сделать так, чтобы консоль могла жить и без загруженного GUI как в Linux.
Основные назначения системы на первое время:
1. Поддержка всего многообразия железа и доработок Спектрума.
2. Комфортная работа с файлами с рахными файловыми системами и на любых доступных носителях, будь то винчестер или флэшка, подключенная по нестандартной схеме.
Программы, которые можно написать под эту систему для разминки:
1. Простенькие игрушки типа Тетриса, Сапёра, Арканойда и т.д.
2. Калькулятор.
3. Блокнот.
Предлагаю, всё же начать что-то писать. Всё равно с первого раза не получится идеальной вещи, всё равно придётся потом переписывать с нуля несколько раз. Но нужно начать, пусть не по науке, но начать! Есть же на форуме грамотные люди, знающие теорию, есть и практики, например Breeze уже несколько раз переписавший свою систему. Давайте действовать! Ведь уже даже и координатор проекта почти был найден. Главное желание, а ошибки будут, мы вместе их исправим. Ведь не ошибается только тот, кто ничего не делает.
У меня, к сожалению, свободного времени практически нет - я могу лишь немного его выкроить в выходные дни. Но я обязуюсь принять участие в этой затеи. Я могу писать какие-то процедуры, поработать на интерфейсом, подать какие-то и идеи и т.д. Главное было бы над чем и с кем работать.
Щаз идет работа над TASiS 6.0 но она токо под Турбо2+ и выше.Цитата:
Сообщение от CityAceE
Имхо, но большое... ;)
Рац.предложения могут выноситься на обсуждение каждым участником проекта.
Каждое рац.предложение должно быть доставлено каждому участнику проекта для ознакомления, обсуждения и корректировки.
Решение по внедрению того или иного рац.предложения в проект принимает ТОЛЬКО координатор (руководитель) проекта.
Определенное задание выдается конкретному участнику проекта на условиях тендера (ниже объясню), при условии, что этот участник не занят исполнением другого задания проекта.
Тендер, суть "торг" на наиболее быстрое и качественное исполнение того или иного задания.
Т.е. всем незанятым участникам проекта выдается список текущих заданий, а участники вправе выбрать для себя то задание, которое им по силам, из той области, которую они уже знают или имеют об этой области представление. По идее подобный подход должен сократить срок
реализации всего проекта. Можно еще добавить, что на тендер лучше выставлять задания по методу оптимизации потоков, но это сложно организовать не имея четкого представления о конечном продукте...
По детализации заданий...
Имхо, нужно делать задания в разумных пределах решения. Т.е. если нужно написать кусок кода, то пусть этот кусок по теоретическим прикидкам будет не более 200-300 байт без учета данных.
ЗЫ: Одного желания мало... Потому-то "воз и ныне там..."
А объясните, чем плоха cp/m? Тем, что не может работать на классическом 128k? Или тем, что изначально не для spectrum'а?
По-моему, это вполне профессиональная система, под нее есть софт, тоже профессиональный. Ну, много коммерческого, правда... Но и писать под cp/m можно нормально! Нормальное API, содержащее файловые операции и всякий другой I/O.
Нужо лишь добавить туда некоторые актуальные на сегодняшний день фишки (прежде всего, ФС с каталогами). Опять же, придумывть ничего не надо - сделать хотя бы как в MS-DOS.
А многозадачность, java - это, ИМХО, явно не для спектрума... Тут кто-нибудь представляет себе сложность виртуальной машины java?
Каждой платформе свою оську пишут... Да и не одну... К чему бы это?Цитата:
Сообщение от maximk
Почему на х86 есть как минимум "Вынь" и "Тукс"?
В настоящий момент для Спектрума написано много ОСей и ОСек, что тоже неспроста...
Проблема кроется в использовании компьютера для решения какой-либо задачи.
Возьмем существующие примеры:
TRDOS за некоторым исключением подходит для любой работы, но ограничено использованием гибких дисков...
ISDOS достаточно хороша для набора больших текстов и переноса данных с одного формата диска на другой, но под нее сложно писать игрушки...
Других не видел, потому писать про них не буду.
Единственное, хочу отметить, что фактически каждый, в достаточной мере, качественный продукт (н-р: ZX-Format, ЧВ, НЛО и т.д.), имел свою недооську, адаптированную для нужд конкретного продукта...
А иногда и мозги "размять" хочется ;)
Ты готов взять на себя роль координатора проекта?Цитата:
Сообщение от jdigreze
На данный момент являюсь координатором проекта OS TASiS. Результаты, думаю, все кто хотел, уже видел - или на реальной ATM или в эмуляторе. Прииопределенных условиях, мог бы взяться и за этот проект. НО! Пока что считаю, что наиболее рационально поддерживать уже существующие системы и прежде всего iS-DOS (вовсе не обязательно в ее TASiS-модификации), которая, по моему личному глубокому убеждению, далеко еще не исчерпала свой потенциал. Например, по смутным слухам, доходящим ко мне изредка от Илясова, могу сказать, что ведется работа по созданию для iS-DOS графической оболочки в дополнение к стандартному SHELL. Другая ветвь системы - OS TASiS v6.xx также будет оснащена подгружаемыми графическими библиотеками, на основе которых также будет создана GUI-оболочка, да и псевдомногозадачностью систему тоже не обделим - в принципе, это возможно реализовать в рамках самой обычной iS-DOS уже сейчас, но, естественно, в обычном "текстовом" режиме оболочки SHELL.
Вот чтобы я усовершенствовал в данной системе, так это файловую систему - она сама по себе хорошая, да уж больно напрягает максимальный объем устройства в 16Мб. Надо увеличивать, и увеличивать серьезно! Поэтому, как координатор проекта TASiS объявляю конкурс рац-предложений по УСОВЕРШЕНСТВОВАНИЮ (или безболезненной замене) с сохранением совместимости с основным количеством софта, файловой системы данной ОСи. Просьба писать людям, НЕ ПОНАСЛЫШКЕ знакомых с iS-DOS и ее ФС, и прежде всего с точки зрения знаний о ее структуре, идеологии, рестартах. Людей, пару раз запустивших с дискетки систему, потыкавших опции и походивших по подкаталогам и закинувших после данную дискетку пылиться на антресоли - просьба не беспокоить. Меня не интересует флейм про достоинства и недостатки iS-DOS, ее нужности/ненужности, быстроты или тормознутости и т.д. Мне нужны конкретные рацпредложения. Желательно с примерами в коде.
Возвращаясь к тебе об осяъх вообще - считаю, что ОС должна писаться уже сразу с упором на HDD (как минимум). Глубоко убежден, что для Спектрумов с минимальной, "классической" конфигурацией 128+AY+Beta Disk она и нафиг не нужна - там одной TR-DOSины хватит за глаза. А новая ОСь будет только раздражать, ибо придется ее промежуточно загружать, а уж потом запускать из-под нее софт с дискеток. Зачем, когда можно это делать напрмую через TR-DOS?
Любая нормальная система должна уметь обходиться и без винчестера. Это моё убеждение. Но, безусловно, нужно делать так, чтобы наличие HDD предоставляло бы полный комфорт, а не так как SMUC работает в режиме TR-DOS.Цитата:
Сообщение от Максагор
Согласен, ДОЛЖНА. Но вопрос в том, что без винта теряется почти весь смысл, ибо тогда по сравнению с TR-DOS мы теряем:Цитата:
Сообщение от CityAceE
а) В скорости работы с флопом - так как идет работа с логической структурой (подкаталоги, сегменты и пр.), а не прямое чтение/запись физических секторов.
б) В скорости работы с приложениями - сначала надо загрузить систему, потом поменять диск с игрушкой (так как системная дискетка наверняка забита почти под завязку приложениями и доками) и только потом запустить ее. Сразу возникает мысль - а может обойтись без "лишнего" звена в лице ОС? Я так не подумаю, допустим, дык другие пользователи подумают...
в) В возможностях написания программ: так как в отличие от TR-DOS другая система будет занимать часть ОЗУ и, соответственно, накладывать свои собственные правила и ограничения на программы. Винт позволяет обойти это во-первых, оверлейной подгрузкой частей программы (что может быть затруднительно, если системный диск все время менять), а во-вторых, организацией своппинга "виртуальных" страниц ОЗУ, в качестве компенсации за занятие нескольких "реальных" страничек собственно самой системой.
Так что без винта TR-DOS реально обладает преимуществами по сравнению с другими системами и уступаает лишь тем, что не подлежит развитию, негибкая.
Если бы на Спектруме изначально был бы только BIOS с грузилкой, то эти моменты не были бы принципиальными, так как не с чем было бы сравнивать. Точно такая же ситуация была бы, если бы на платформе уже не сложилась бы целая культура программирования под TR-DOS, с ее традициями работы с диском, использования адресного пространства, обращения с любыми портами. Потом трудно бывает себя заставить переучиваться, и налагать определенные ограничения (например, образаться к памяти исключительно через дрова). Это тормозит распространение новых осей. Но подключение винта в корне меняет дело - монополия TR-DOS нам волшебным образом моментально теряет всю свою силу. Поэтому и надо прежде всего ориентироваться на винт, иначе на компах без винта в большинстве случаев такая ОСь будет запускаться только для демонстрации писишникам, "что, мол, и на Спеке такое есть"...
Итак, кто имеет желание и чувствует в себе силы для участия в проекте по созданию новой оперционной системы для ZX Spectrum, добро пожаловать в закрытый раздел для разработчиков. Кто планирует что-то реально делать в этом направлении, а не просто чесать языком обращайтесь ко мне за паролем к этому разделу.
Я? Нет! На это есть много объективных, и не очень, причин ;)Цитата:
Сообщение от CityAceE
А ведь Максагор прав! Чем плоха IS-DOS? Тем, что ее не поддержали, из-за де-факто "TR-DOS" при работе с флоповодом.
К слову сказать, мы не первые, кто наступил на эти грабли...
Максагор, идеи по преодолению барьера "16Мб" есть, но пока это только на уровне идеи, сейчас обдумываю одну из них на предмет совместимости с текущей версией IS-DOS. Если концептуальных противоречий не найду, отпишусь...
В связи с этой темой. Сопутствующий вопрос.
Как обстоят дела с легальностью прошивок ZX?
....
Схемные решения - вроде нормально, софт - есть свободный....
Согласно Амстраду (как держателю копирайтов на ZX Spectrum, ZX Spectrum+, ZX Spectrum+ 128, ZX Spectrum+ 2(A/B) и ZX Spectrum+ 3) прошивки доступны для использования в эмуляторах (где-то здесь я давал линк на это заявление, либо иди на worldofspectrum.org, там линк висит на титульной странице). Насчёт советских клонов у Амстрада есть своё мнение :), однако я так и не понял допустим, как они относятся к тому факту, что какой-то англичанин (а может и испанец, не помню) расковырял и перелопатил ПЗУ от +3. Вобще, если сделать как в Спринтере (это не клон, а эмулятор ZX Spectrum) - то проблем быть не должно, ибо не декларировано, как можно эмулить, а как нельзя (софтово или железно ).Цитата:
Сообщение от ASDT
Ну, если рассматривать с угла "железной" эмуляции, то все спектрум-совместимые клоны, попадают под эту категорию... Ведь клон не использует оригинальную схемотехнику ни Sinclair Research, ни Amstrad, а лишь "эмулирует" на "рассыпухе", где более точно, а где менее, физическую и логическую модель оригинала. Однако отношение праводержателя марки в любом случае негативно...
Однако, уходим от темы...
Со стороны железа - вроде всё ок.
Схемы, документация по оригиналу опубликованы,
а реализации клонов имеют собственную схемотехнику.
По поводу "ухода от темы" - это самая тема!
Исходные данные:
1. Имеется парк железа относительно совместимый с ZX.
2. ОС должна поддерживать имеющееся железо(от 48к до 1М).
3. Однако есть вопросы по пзу 48/128, аналогично -
как относиться к TR-DOS...
Т.е. надо нормально позиционировать ОС по этим
вопросам.
Я не знаю, обладает ли Амстрад правами на схемотехнику. Однако любой Пентагон без ПЗУ - пустая железяка. А если используешь ПЗУ не для эмуляции, что это тогда? Другое дело с Кворумом и Профи например - они работают с СР/М, хотя я не знаю, насколько они при этом могут обходистя без ПЗУ Спектрума.Цитата:
Сообщение от jdigreze
В Кворуме, как и в Профи, при работе CP/M ПЗУ вообще отключается.Цитата:
Сообщение от icebear
Значит напрячь не смогут :)Цитата:
Сообщение от caro
Как вариант - оставляем пзу на пользователя,
а ОС загружается вне зависимости от их наличия/отсутствия.
Требования к ОС?
1. Уровень менеджера памяти
2. Уровень I/O
3. Уровень SHELL
Третий уровень должен уметь "сниматься", дабы освободить место творчеству писателей "бутов" ;)
Второй уровень, это уровень работы с блоками и файлами, а также с каналами и потоками...
Первый уровень, собственно говоря, ядро, которое в минимале должно работать начиная с "48К + магнитофон"
2. и 3. уже есть в ПЗУ, зачем изобретать велосипед? Взгляните вот сюда http://www.zxplus3e.plus.com/ - БОЛЬШОЕ ИМХО, что подобная реализация была бы "роднее", чем всякого рода буты и шелы от юниксов.Цитата:
Сообщение от jdigreze
Замечательное решение! Но...
...как быть рядовому пользователю, допустим мне, с моим kay1024+nemo_ide? Перешивать ПЗУ? С подгонкой под порты Nemo-IDE?
А если я захочу прикрутить работу с FAT16(32)/NTFS/HPFS/ReiserFS...
не как с основной файловой системой, а как с дополнительной, допустим, монтируемой?
А реальных проблем много, равно как и вариантов решений...
Может быть, пусть здесь каждый выскажет свои пожелания?
Начну с себя:
- хочу, чтоб диски были как в "туксе", чтоб без буковок
- хочу чтоб можно было переключить "шелл" на другой, или убрать совсем
- хочу чтоб грузиться с "винта" или "сидюка"
- хочу чтоб можно было работать с экраном, отличным от 256х192
- хочу, хочу, хочу!
- и последнее "хочу": хочу, чтоб новый прог, написанный на любом клоне/оригинале, можно было запустить у себя, не лазя каждый раз в настройки мыши/памяти/звука...
Как много хочу... И как мало имею... И видимо не я один, такой вот "уникальный"... Иначе б не писал сюда люд...
Зачем тебе это всё? Оно тебе реально надо на Спектруме? Ты хочешь подцепить жёсткий диск с NTFS к Спектруму? Какой прок от FATов (и всего остального) на Спектруме? Для одноразового использования этих систем (читай копирование с носителей с такими ФС) достаточно одной программы. На возможный вопрос о размещение всего это в ПЗУ - ты так часто копируешь файлы с NTFS в TR-DOS?Цитата:
Сообщение от jdigreze
Для всего этого есть более другие компьютеры. Зачем натягивать на Спектрум морду других платформ? Зачем его при этом лишать look & feel & usage ZX Spectrum?Цитата:
Сообщение от jdigreze
icebear, прошу прощения за флейм... Видимо разгорячился я праздником... ;)
Итого:
Остановились на менеджере памяти...
У кого какие соображения на этот счет? У меня, лично, пока что "каша" в голове...