Насколько я понимаю, основные технические вопросы рассмотрены. В настощее время все заинтересованные лица разделились на несколько групп. Гаждая группа разрабатывает свою ОС в соответствии со своими представлениями. Единой ОС не получится.
Насколько я понимаю, основные технические вопросы рассмотрены. В настощее время все заинтересованные лица разделились на несколько групп. Гаждая группа разрабатывает свою ОС в соответствии со своими представлениями. Единой ОС не получится.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сколько ангелов умещаются в бутылке из под пива?Сообщение от 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
Пожалуйста пишите в email (chunin{гаф}mail{тчк}ru), личка отключена!!!
NedoPC group. ZX-Evolution, ATM Turbo 2+, Pentagon1024SL.
[Предлагаю: ZXEvo, PAL coder, NeoGS, TS-FM, YM2149, Z80 и прочее]
Все здесь: http://www.nedopc.com.
Новости/поддержка/Faq: http://forum.nedopc.com.
Раздача халявы: http://forum.nedopc.com/viewtopic.php?f=32&t=977
Имхо, но большое...
Рац.предложения могут выноситься на обсуждение каждым участником проекта.
Каждое рац.предложение должно быть доставлено каждому участнику проекта для ознакомления, обсуждения и корректировки.
Решение по внедрению того или иного рац.предложения в проект принимает ТОЛЬКО координатор (руководитель) проекта.
Определенное задание выдается конкретному участнику проекта на условиях тендера (ниже объясню), при условии, что этот участник не занят исполнением другого задания проекта.
Тендер, суть "торг" на наиболее быстрое и качественное исполнение того или иного задания.
Т.е. всем незанятым участникам проекта выдается список текущих заданий, а участники вправе выбрать для себя то задание, которое им по силам, из той области, которую они уже знают или имеют об этой области представление. По идее подобный подход должен сократить срок
реализации всего проекта. Можно еще добавить, что на тендер лучше выставлять задания по методу оптимизации потоков, но это сложно организовать не имея четкого представления о конечном продукте...
По детализации заданий...
Имхо, нужно делать задания в разумных пределах решения. Т.е. если нужно написать кусок кода, то пусть этот кусок по теоретическим прикидкам будет не более 200-300 байт без учета данных.
ЗЫ: Одного желания мало... Потому-то "воз и ныне там..."
А объясните, чем плоха cp/m? Тем, что не может работать на классическом 128k? Или тем, что изначально не для spectrum'а?
По-моему, это вполне профессиональная система, под нее есть софт, тоже профессиональный. Ну, много коммерческого, правда... Но и писать под cp/m можно нормально! Нормальное API, содержащее файловые операции и всякий другой I/O.
Нужо лишь добавить туда некоторые актуальные на сегодняшний день фишки (прежде всего, ФС с каталогами). Опять же, придумывть ничего не надо - сделать хотя бы как в MS-DOS.
А многозадачность, java - это, ИМХО, явно не для спектрума... Тут кто-нибудь представляет себе сложность виртуальной машины java?
Ты готов взять на себя роль координатора проекта?Сообщение от jdigreze
С уважением, Станислав.
Перечитал я ветку ещё раз и это сообщение увидел более увлекательным и дельным.
1. Пишется драйвер RAM-диска таким образом, чтобы организовать хорошую работу программ (вероятно новых)
2. Программы пишутся таким образом, что после выхода могут запоминать свое состояние (редактируемый пиксель, печатаемый текст и прочее.)
3. Файловая структура электронного диска может быть какой угодно, даже иметь каталоги и не иметь тех ограничений, что присутствуют в TR-DOS (ведь в любом случае работа с е-диском идет только через драйвер).
Недостатки:
- Нет писюканской многозадачности и перехода от окошка к окошку посредством мышки.
- нет совместимости со старыми (да и некоторыми новыми тоже) программами, которые запросто угробят электронный диск.
Положительные стороны:
+ На нажатие мышки вне окна можно отреагировать сохранением ini-файлов программы на рам-диск и выходом в некую оболочку, которая тоже может сидеть в электронном диске.
+ Программа пишется просто, никаких заморочек насчет того, как расположить данные, как что и куда переключить. Все спрайты, музыка и уровни и прочая дрянь, грузится с рамдиска моментально, хоть по 5 файлов в секунду, хоть каждую секунду
+ Гибкая организация структуры диска. Хоть FAT, ISO9600 или какая там у сидирома? ;-) Ведь работа с диском все равно идет через драйвер.
+ Написание новой "системы" сводится к написанию очень качественного драйвера рамдиска.
Мне нравится подход к работе, предложенный fk0, а Вам?
---
зы:
У меня сам отремонтировался Спекки, пролежавший полгода в шкафу, может какие-то микросхемы за это время "размагнитились"?
))))))))))
В любом случае ура!
Теперь осталось как-то закинуть на 3.5 дискету ассемблер с хони-командером и считай можно работать и играть.
Добавлено через 19 часов 21 минуту
2All: Плиз, скинте в личку информацию о том, как на маленькую дискетку 3.5, отформаченную в реальном Скорпе, сбросить информацию в формате TR-DOS, если известно, что эта дискета сейчас установлена во флоп такого же типа, т.е. 3.5, но в IBM-PC.
зы:
* Боюсь к скорпу b-драйвом подключить родной 5.25, ещё опять все сломается.
* Заклеивал на дискетке окошко-720к и отклеивал вновь - ПЦ не видит (ессно, соотв. проги не видят, ПЦ и не знает никакого тырдоса
* AMD-Copy говорит, что диск не тырдос (тестировал с разными флопарями на 80486, Pentium1/200, Celeron-450, P4/3200)
* Norton Commander и опция "Копировать диск" отвечает, что с диском проблема.
* Disk Dupe точно так же Disk Error
* TeleDisk - пытается позиционировать головку, потом все замирает очень надолго.
С огромным диском 5.25 проблем нет, на вышеуказанных платформах, кроме Р4, все читалось как дисководом 360к, так и с 1200к через AMD-copy (thnx to Paul Pavlov). Тока я почти все дискеты 5.25 выкинул
Добавлено через 19 часов 24 минуты
* также в BIOS указанных компов выставлял как Flopyy 1.44 так и Flopyy 720k - никакого эффекта.
Последний раз редактировалось Vovoi; 07.10.2007 в 00:22. Причина: Добавлено сообщение
Spectrum Basic
В связи с этой темой. Сопутствующий вопрос.
Как обстоят дела с легальностью прошивок ZX?
....
Схемные решения - вроде нормально, софт - есть свободный....
Согласно Амстраду (как держателю копирайтов на ZX Spectrum, ZX Spectrum+, ZX Spectrum+ 128, ZX Spectrum+ 2(A/B) и ZX Spectrum+ 3) прошивки доступны для использования в эмуляторах (где-то здесь я давал линк на это заявление, либо иди на worldofspectrum.org, там линк висит на титульной странице). Насчёт советских клонов у Амстрада есть своё мнениеСообщение от ASDT
, однако я так и не понял допустим, как они относятся к тому факту, что какой-то англичанин (а может и испанец, не помню) расковырял и перелопатил ПЗУ от +3. Вобще, если сделать как в Спринтере (это не клон, а эмулятор ZX Spectrum) - то проблем быть не должно, ибо не декларировано, как можно эмулить, а как нельзя (софтово или железно ).
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)