KrNews
#11
31 декабря 1999 |
|
IS-DOS - Операционные системы для Спектрума.
─ OS: is-dos & etc. ─ (c) VTS'99 Приветствую всех на наших разборках осей. Итак, по поводу статей в KrNews, пришло мне письмо аж с Украины от Loo- ker/DigiTech, который сейчас трудится в области ОСестроения. Цитировать письмо я не буду, но по ходу статьи постарачсь ответить на поднятые вопросы. Я буду ос- новываться и на других материалах, вроде статей "CP/M rulez" в Voyager#3, и др. Итак, для начала пройдусь я по из- вестным мне осям. TR-DOS must die -это знают все, од- нако так и продолжают писать под нее софт, юзать его и остаются, в той или иной степени, довольными, за неимением лучшего (с таким количеством софта). Единственный ее минус, который ну просто никак не обойти (хотя, если подумать, обойти можно, но это не рационально) - траблы с совместимостью. Т.е. из самого факта живучести TR-DOS уже следует то, что всякие там характеристики ОС имеют не первостепенное значение, главное - чтобы она была стандартом, т.е. была бы у всех, работала на всех компах, и было много софта. Так вот, далее по количеству пользо- вателей следуют IS-DOS и CP/M (именно в таком порядке). Само по себе это наводит на мысли в пользу is-dos. Но посмотрим на CP/M. Во-первых, за- мечу, что никаких плюсов в плане тех са- мых характеристик CP/M не имеет (перед IS-DOS), а в Voyager'е местами видно просто откровенное незнание автора пред- мета, либо это просто поливание IS-DOS грязью. Я бы поставил по своим характе- ристикам обе ОСи примерно на один и тот же уровень, дабы не ударяться во флейм. Но у CP/M есть одно маленькое "но". Дело в том, что ее юзают только владельцы Profi. Из других компов можно назвать разные там ATM, и кучу мелких неизвест- ных клонов. Причем я подозреваю, что часть софта CP/M под Profi уже не всегда пойдет на левых цп/м, и уж тем более не пойдет на базовой цп/м_8080... Но я отв- лекся, проблема же в том, что на других Спектрум-клонах CP/M в глаза не видели. Однако для Скорпов и Каев есть некая CP/M v2.2 (c) MOA (естественно, не 80-символьная...). Тем не менее, массо- вых случаев ее использования науке не известно. Называть же систему, работаю- щую только на части Спектрум-клонов, ОС- НОВНОЙ для Спектрума, НЕВОЗМОЖНО !!! Лично мне цп/м кажется неплохим, и ко- му-то полезным, довеском софта к Profi. Теперь возьмем Pink Floyd aka Domen OS. Лично мне система показалась доста- точно интересной. Хотя у нее нету базы в виде пользователей, однако была продела- на большая работа, и в ее концепцию были положены достаточно интересные вещи. И вот все это отправилось кому-то под хвост, потому что у автора не хватило сил завершить начатое. И это не удиви- тельно, т.к. для реализации заявленного нужно затратить гигантские усилия, чем занимался всего один человек... Причем не было представлено никакой документа- ции по системе, что не дало развиться инициативе извне. В общем, на данный мо- мент я считаю PF неплохой нереализован- ной задумкой (ее особенности multitask'а и GUI, например). Micro Windows. GUI-оболочка с элемен- тами системы рестартов и даже с их опи- санием. Будущего она не имеет, однако адресок автора следует взять на заметку. Примерно то же самое можно сказать еще о нескольких вещах типа X-OS, etc. NeOS. Вокруг нее подняли большую шу- миху, посему многим кажется ее неплохое положение в сравнении с перечисленными. Не спорю, есть в ней здоровые идеи, од- нако прошивка в ПЗУ перечеркивает ВСЕ ! Есть и другие моменты, но они уже не важны после этой привязки к ПЗУ. Да, а еще где-то мне встретилось просто гениальное предложение положить в основу ОСи эмуляцию магнитофона. Вот уж до чего не додумались буржуи в TR Ltd для Beta Disk'а. Только вот немцы уже сделали такую фичу -MB-02... Но чтоб такое придумать в России, нужно обладать нездоровым воображением. Попробуйте для начала представить себе процесс адаптации TR-DOS -> tape. А дальше я и продолжать не хочу, и так яс- на абсурдность этой идеи. А вот эмуляция TR-DOS на уровне #3D13 уже существует. Это тот же SMUC Зонова, KAY-1024 Немо, прошивки DOS 5.04em (Скорп и Кай 256), DOS 5.12 (Пентагон 512/1024). Причем эта эмуляция - не часть ОСи, а лишь средство адаптации TR-DOS программ. Теперь я процитирую все-таки кусочек письма Looker/DigiTech: "Как я уже сказал, я задумал сделать ОС. Располагаться она будет в кэше: 8к - оболочка, 8к -BIOS (?) и DOS. Как опыт- ный системщик, посоветуй что-нибудь, особенно про то, что там должно быть (BIOS, DOS, etc). Надеюсь на дальнейшее сотрудничество... p.s. Называться это будет XZ-SYS" Примерно также думают и остальные на- чинатели ОСестроения. Кстати, я вовсе не ОПЫТНЫЙ СИСТЕМЩИК, я не написал ни одной реальной системной проги. Более того -я не кодер, а коди- рую лишь для своих нужд. Я -железячник. Промах первый налицо -располагаться будет в кэше... А у кого этот кэш есть ? Хотя у Скорпов/Каев можно впечатать 0/8 банку под ПЗУ (и это юзает is-dos chic), но это еще не означает "все Спектрумы". А натурального кэша, например, в Красно- даре, нету вроде ни у кого. И, скажем, в Питере или Москве он есть лишь у немно- гих сумасшедших железячников... Далее по тексту видно, что XZ-SYS по- нимается ее автором просто как оболочка, с довеском BIOS/DOS от ОС'и, а не наобо- рот. Т.е. все на самом деле намного сложнее. Но об этом позже. И, наконец, "надеюсь на сотрудничест- во" принимается как желание работать в области ОСестроения. Итак, теперь рассмотрим isdos, а по- том поразмышляем о будущем. Всем ужасно не нравятся тормоза, текстовые квадратные менюшки и отсутс- твие "даже мыши"... Ну что ж, начнем со сравнения. TR-DOS - быстрая загрузка с магнито- фона. О чем вообще здесь можно говорить? Т.е. просто загрузка отдельных изолиро- ванных задач - игрушек в большинстве случаев. В этом свете даже #3D13 можно представить как некий побочный эффект, технологически являвшийся элементом свя- зи программистов железа и программистов логики. Что ниже #3D13 -драйвер ВГ93, что выше - загрузчик. (Можно, однако, предположить, что в T.R. Ltd были и светлые головы(а)...). Ну что, хуже некуда? Тем не менее никто никого не ругал, не возмущался, а просто начали писать софт... Далее возьмем MS-DOS, одной весовой категории с IS-DOS. Угу, командная строка, экран как лист бумаги... Посмотрим рестарты. Ничего примечательного. Нету вам ни звуковых карт, ни поддержки графики (кроме печати пикселов), и тем более мыши в Нортоне. М-да... а зачем, например, разделили по- нятия FDD и HDD ? Хотя это уже вопрос к BIOS, в которой к тому же жестко пропи- саны адреса стандартных драйвов. Да и вся MS-DOS, по сути, надстройка над BI- OS. В общем, для того времени прости- тельно. И что же получилось ? А все, чего не было, было хитрыми программерами долеп- лено, и до сих пор держиться неплохо, и многим продвинутым людям нравится по- больше, чем W9x... О тормознутости отдельно. Кто-нибудь пытался поработать в MS-DOS с дисководом (ради бога, только не одним!) на 286/386 или XT ? Попробуйте, а потом скажете - кто тормознее ;) Про Windows я вообще молчу, которая умудряется тормозить на сверхзвуковых винчестерах. Мораль сей басни такова - пора бы прекратить отпираться и попробавать сде- лать что-то самому, например, исправить то, что не нравиться. Лично по моему мнению, практически весь внешний вид и вообще весь базовый комплект можно пере- писать заново, на новом качественном уровне, оставив ядро нетронутым. Не го- воря уже о двух свободных уровнях, где можно поэксперементировать с GUI... И все это можно делать постепенно, в рабо- тоспособной системе, а не мучаться днями и ночами со своей осью. Т.е. девизом недовольных должна стать фраза "Если мне что-то не нравится в is- dos, в этом виноват лишь я". Ведь именно так поступали, когда не было какой-то проги в дыр-досе, почему же isdos валят на плечи Леонтьева, которому, может, весь этот ваш лейм/флейм осточертел ? Если б вы что-то делали под isdos, он бы уж наверняка пошел навстречу. А на наез- ды отвечают соответственно. И еще один существенный момент -про- изводство компов. На них нужно ставить какую-нидь ОСь. Ну, допустим, стандарт- ная конфигурация уживается еще в tr-dos, а вот винт требует себе ОСь. Так вот, винт на сегодняшний день гарантировано ведет лишь is-dos. Ждать нам некогда, нужно именно здесь и сейчас. Представьте себя в ситуации, когда вам продают кусок железа, и говорят, мол, софт еще пишет- ся. Короче, покупая эту железку, вы пла- тите еще и за софт, и это нужно пони- мать, софт быть обязан ! Вот так и получается -нет ОСи, нет развития железа... А плохо ОСь выглядит исключительно по вине тех, кто ничего под нее не написал. Задачу-минимум авто- ры is-dos выполнили: есть отлаженное яд- ро и минимум рабочих программ. Кроме то- го, есть поддержка производителей железа и известность в кругу пользователей. Что же еще нужно ? Ведь куда проще и реальнее дорабатывать работающую ОСь на ходу, чем мучаться со своей очередной оболочкой, непременно с аббревиатурой ОС в названии... И напоследок -документация по isdos. Первое - это диск IS-ASM с исходниками книги "Программирование в среде IS-DOS", и сама эта книга. Мало, но кой-чего по- лезного опытный программер выудит. Вто- рое -серия статей в ZX-Format'е. Может, и не столь полно, как хотелось бы, но в дополнении к первому не помешает. Третье - disasm... Первые проги системы писа- лись безо всяких крутых извратов, и их изучение может пролить свет на некоторые темные места... Решением проблемы информационного го- лода могут стать сборы, скажем, прямо здесь, на страницах KrNews, заинтересо- вавшихся программеров. Если мы начнем что-то делать под is-dos, я уверен, что будут и консультации со стороны Леонтье- ва, и вообще, вместе легче. (Место встречи меня не волнует в принципе. Это может быть и другой журнал/газета. Но место в KrNews я гарантирую). Ну вот, по исдосу вроде бы все. Теперь пару слов о том, что я заик- нулся в прошлый раз по поводу новой оси. Знаете, это мне напомнило реакцию на статью Немо о Transformer'е ;) . На са- мом деле я считаю новую ось необходимой лет через пять минимум. Вот такие дела. И я буду против реализации такой оси сейчас. Причин тому несколько. Во-первых, есть is-dos. Плохая, или хорошая, но есть ось и база (имеется ввиду не столько софт, сколько пользова- тели, поддержка производителей железа, возраст и т.д.). На ней можно минималь- ными усилиями и малой кровью отработать все основные положения концепции ОСей, выяснить неясные моменты, что нужно на Спектруме (!), а что нет. И главное - она позволит ввести стандарты, необходи- мые для дальнейшего развития. Т.к. до is-dos на Спектруме фактичес- ки не было ОСи, то НИКТО не знает, какой она должна быть. Т.о., is-dos может стать своеобразным полигоном для испыта- ния новых идей, эдаким переходным звеном между тьмой и светлым будущим с _просто_ _идеальной_ОСью_ ;) Во-вторых, никто в одиночку закончить такой проект не сможет. И дело не только в коде, нужно проделать массу не связан- ных с кодингом вещей. Вообще-то я хотел еще побредить по поводу новых ОСей, но представляя воз- можный флейм, не буду этого делать, по- тому как основная задача этой статьи - убедить людей писать под исдос. А все остальное не столь важно. Обсуждать но- вое можно будет лишь тогда, когда нау- чимся работать с тем, что есть. А пока что лично я не вижу горячего желания делать что-то реально работающее в области ОСей практически ни у кого. Все только кивают: мол, ось нужна, да. Но никто ничего не делает. Некоторые со- бирают какую-нидь оболочку, и вот начи- нает развиваться снежный ком флейма в эхах, газетах и т.д. Через некоторое время все стихает, а за комом остается след разрушенных надежд на то, что ка- кой-то дядя напишет нам винды, чтобы их потом фачить (и опять же ничего не де- лать). Это подход пц'шных хакеров-псев- додемомейкеров и иже с ними. У них есть такой дядя, и за это он с них регулярно имеет деньги. Мы же должны иметь свою голову на плечах. И первое, что нужно понять - движение вперед может быть только результатом трудовой деятельности всей платформы. Сидение на месте либо разрозненные попытки к развитию не при- ведут. А объеденить нас может только здравый смысл. И напоследок, коммерческая сторона is-dos'a. Некоторым кажется, что ОСь должна быть бесплатной. Однако авторы хотят получать деньги за свой труд. Так вот, при увеличении количества пользова- телей эта проблема снимается автомати- чески. Т.к. цена софта уменьшается про- порционально количеству пользователей, то в определенный момент она становится сопоставима с ценой freeware продуктов. Следует также понять, что довольно су- щественную роль в этой цене играет соп- ровождение is-dos, т.е. непосредственно работа с пользователями, консультации и т.д. Создание подобных структур на местах (имеющее смысл лишь при распрост- ранении is-dos) тоже будет способство- вать снижению цен, а также их дифферен- циации по регионам. _ ТMr.Linker Приветствую вас дорогие друзья.Сегод- ня я выступлю в несколько другой роли, а именно в роли программера, хотя прав- да мои программерские способности в ос- новном лежат в таких небольших процеду- рах. Так вот примерно два года назад я при- обрел у VTS плату KAY-256, собрал, настроил, запустил и всебы хорошо, но кроме IS-DOS'а ничто не хотело печатать по стандарту KAY т.е. через AY-3-8910. А так как печатать нужно было я решил написать драйвер. В виду того что выше означенный VTS вынашивает планы по ши- рокомасштабному распространению KAY'ев на территории Краснодара и его ближай- ших окрестностей, то я решил поделиться с вами своими изысканиями. Прошу строго не судить если обнаружаться какие-либо недочеты, и если что не так то просто поправьте. Итак: ;Драйвер принтера для AY3-8910 ;в стандарте KAY-256, KAY-1024 ;для ZX-WORD,MicroEditor ; BEGIN JR INIT ;инициализация NOP ; PRINT JR PRINTCH ;печать INIT LD A,#07 ;настройка AY LD BC,#FFFD;A-вывод OUT (C),A ;В-ввод LD A,#40 ; LD BC,#BFFD; OUT (C),A ; RET ; PRINTCH LD BC,#FFFD; LD D,A ;сохраняем А в D LD A,#0E ;выбор порта #Е OUT (C),A ; LD A,D ; CP #0A ;проверка на JR Z,TRANSL;LF да TRANSL JR OUTPRN ;нет OUTPRN TRANSL LD A,#0A ;заменяем #0A на CALL OUTPRN ;#0A+#0D(LF+CR) LD A,#0D ; OUTPRN LD BC,#BFFD;вывод на OUT (C),A ;принтер LD A,#0F ; LD BC,#FFFD; OUT (C),A ; BUSY CALL #1F54 ;проверка BREAK JR NC,ERROR;нажали на ERROR LD BC,#FFFD;проверка BUSY IN A,(C) ; BIT 2,A ; JR NZ,BUSY ;повтор DI ;запрет прер. LD B,#1F ;в #1FFD LD A,#20 ;STROBE OUT (C),A ;0 NOP ; XOR A ;1 OUT (C),A ; EI ;разрешаем прер. CALL PRINT ; SCF ;выставляем CCF ;флаги на ОК RET ;выход ERROR SCF ;выход по RET ;ошибке Ну вот такой драйвер, он помещается в буффер принтера в любом из вышеназван- ных редакторов. На этом я с вами прощаюсь, и в ближай- шие два года мы с вами не увидимся, го- сударство решило, что я засиделся на гражданке и необходимо немного этому государству послужить. Предположи- тельное время моего возвращения ноябрь 2001 года. Такие вот дела. Пока. 13.10.1999 IS-DOS EDITOR
Другие статьи номера:
Похожие статьи:
В этот день... 13 декабря