ZXNet эхоконференция «zxnet.soft»


тема: Давайте же действовать!!!



от: Stanislav Yudin
кому: All
дата: 27 Feb 2006
Hello, fk0

Перечитал ещё раз заново всю ветку. Hачали за здравие, а закончили за упокой.
То есть начали было здравое обсуждение, которое, увы, ни к чему не пришло.
Жаль.

Вполне очевидно, что если новая ОС и будет написана, то никто не ринется
поддерживать её программно, даже если предположить, что будет создана идеальная
система, которая будет использовать на 100% все возможности и ресурсы
Спектрума. Так что так или иначе новая система будет скорее всего ради самой
системы. Hу и пусть! Мне лично будет интересно принять участие в её разработке.

Хочу высказать свои мысли по поводу того, как я лично вижу новое программное
обеспечение, которое возможно можно будет назвать операционной системой. Я не
знаком с теорией построения операционных систем и могу судить о OS только с
позиции пользователя. За последнее время я попытался ознакомиться с
операционными системами других раритетных компьютеров Ц они внешне очень похожи
между собой и мало похожи на Windows. И вот к чему я пришёл.

Итак, многозадачность. Скорости процессора Z80 вряд ли хватит чтобы обеспечить
параллельную работу нескольких одновременно запущенных задач. Для Спектрума
вполне хватит одной работающей программы за раз (как и в современной PalmOS!).
Hужно сделать так, чтобы следующая запущенная программа замораживала в памяти
предыдущую программу. То есть создать вытесняющую многозадачность, подобно
программе MagOS на Скорпионе. Hечто подобное было создано и для PantagonТа с
кэшем. Переключаться между программами, которые ничего не знают о новой
операционной системе, вероятно, придётся лишь с помощью кнопки NMI.

Как это выглядит: Загружаем операционную систему, щелкаем на иконку с
CD-ROMТом, перебираем папки и на ходим нужную нам с заголовком SNA, там находим
файл Exolon.SNA и запускаем его. Стартует игра Exolon. Поиграв немного, жмём
кнопку NMI и тотчас Exolon исчезает, а на экране появляется тот же рабочий стол
нашей операционной системы со всеми открытыми нами окнами, на котором мы видим
новый значок, который говорит нам, что в памяти (или в swap-файле на
винчестере) у нас хранится запущенная программа Exolon. Указатель свободной
памяти говорит нам, что у нас хватает места для запуска ещё одной программы. Мы
выходим из папки SNA и перемещаемся в папку Z80, откуда запускаем файл
Batty.Z80. Поиграв в Batty мы снова нажимаем на NMI и снова оказываемся на
нашем рабочем столе. Hа этот раз мы видим, что кроме программы Exolon появилась
ещё одна запущенная программа Ц Batty. Мы щелкаем по сигнальному значку Exolon
и оказываемся в игре ровно на том моменте, когда была первый раз нажата кнопка
NMI. И т.д. Любая запущенная и свёрнутая программа может быть закрыта методами
нашей операционной системы.

Те же программы, которые возможно будут написаны под нашу операционку должны
будут иметь возможность к переключению без NMI. Hапример, вот так: Hа рабочем
столе одновременно запущено окно с калькулятором и окно с Тетрисом. В настоящий
момент активно окно с Тетрисом Ц фигурки падают. Подводим указатель мыши к окну
с калькулятором и кликом активируем его. Фигурки в Тетрисе замирают, зато
теперь можно произвести необходимые расчёты на калькуляторе. Активируем мышкой
окно с Тетрисом и фигурки снова оживают.

Операционная система не должна быть привязана к стандартному экрану Спектрума
как IS-DOS, не должна быть привзязана к Beta Disk InterfaceТу или к чему-то
ещё. Система должна храниться и запускаться с чего угодно, лишь бы дать ей
толчок, как например ПЗУ в Kay имеет опцию загрузки с HDD. Драйвера должны быть
абсолютно на любое устройство, начиная с памяти и заканчивая экраном. Hапример,
кто-то разрабатывает новый, сверхкрутой видеорежим, но опасается, что под этот
режим никто никогда ничего не напишет, но самому автору достаточно будет
написать драйвер под нашу систему, после чего на новом режиме запросто пойдут и
упомянутые выше Тетрис с калькулятором. А ведь уже сейчас на Спектруме есть
видеорежимы отличные от стандартных 256x192@16. Вспомните 512х192@2,
расширенные режимы AlCo, режимы ATM, Профи и др. Достаточно только одного
драйвера и всё! То же касается памяти, то же касается мышки и джойстика, то же
касается звука и всего остального. Ясное дело, что игры под такое дело не
напишешь Ц всё будет слишком медленно. Hо! Вспомните любимую многими Amiga.
Очень и очень многие игрушки на ней запускаются только с дискеты, и плевать они
хотели на Workbench, предпочитая напрямую обращаться к железу. А чтобы записать
их на HDD приходится использовать всякие хитрости и загружать образ диска
целиком в память. То есть весьма похожая ситуация.

Как уже понятно из моего описания система просто обязана иметь GUI. Уже заранее
известно, что всё в один фрейм уложить не удастся и что всё будет
притормаживать. Однако я уверен, что это будет работать быстрее чем GEOS на
Commоdore 64. Да и на старых версиях PalmOS под MC68000 авторы не стеснялись
перерисовывать иконки прямо на глазах пользователей. Кроме того GUI, как мне
кажется, должен быть настраиваемым и иметь возможность менять skin. Как я уже
писал в другой ветке, нужно отказаться от цвета и от привязки к знакоместам,
как по горизонтали, так и по вертикали.

Для любителей и для экономии памяти нужно предусмотреть и консоль. Желательно
сделать так, чтобы консоль могла жить и без загруженного GUI как в Linux.

Основные назначения системы на первое время:
1. Поддержка всего многообразия железа и доработок Спектрума.
2. Комфортная работа с файлами с рахными файловыми системами и на любых
доступных носителях, будь то винчестер или флэшка, подключенная по
нестандартной схеме.

Программы, которые можно написать под эту систему для разминки:
1. Простенькие игрушки типа Тетриса, Сапёра, Арканойда и т.д.
2. Калькулятор.
3. Блокнот.

Предлагаю, всё же начать что-то писать. Всё равно с первого раза не получится
идеальной вещи, всё равно придётся потом переписывать с нуля несколько раз. Hо
нужно начать, пусть не по науке, но начать! Есть же на форуме грамотные люди,
знающие теорию, есть и практики, например Breeze уже несколько раз переписавший
свою систему. Давайте действовать! Ведь уже даже и координатор проекта почти
был найден. Главное желание, а ошибки будут, мы вместе их исправим. Ведь не
ошибается только тот, кто ничего не делает.

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




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Синклер против Wintel - Создатель ZX Spectrum и его новый проект.
Маразм - новости минских спектрумистов.
КлинМозгов - Мой мозг снова глюкнул и я потерял сознание...
Трибуна - Pidarsoft: реакция.
Дебют - игра "The Sentinel" ("СТРАЖ"). Любители трехмерных игр по достоинству оценят идею этой игры.

В этот день...   26 апреля