PDA

Просмотр полной версии : iS-DOS + GUI



Максагор
18.08.2006, 02:31
спасибо за признание ;) надеюсь я всё-таки доделаю когда-нибудь это чудо :( потому как , чем дальше тем сложнее становится.... :confused:

Судя по долгой истории написания "Дорза", у тебя очень быстро получается создавать интерфейс, но начинаются тормоза на собственно системе. Отсюда предлоожение компромиссной разработки: взять уже существующую ОСь и прикрутить к ней свой интерфейс (прозрачно намекаю на TASiS/iS-DOS - там это вполне возможно в виде добавления нового уровня ядра).

CityAceE
18.08.2006, 04:10
взять уже существующую ОСь и прикрутить к ней свой интерфейс
Кстати, да! Почему бы не прикрутить к IS-DOS'у графический интерфейс? Тем более, если это возможно! Раз уж так получилось, что именно эта система после TR-DOS получила наибольшее распространение...

CHRV
18.08.2006, 09:14
Кстати, да! Почему бы не прикрутить к IS-DOS'у графический интерфейс? Тем более, если это возможно! Раз уж так получилось, что именно эта система после TR-DOS получила наибольшее распространение...
Это был бы могучий ход!

captain cobalt
18.08.2006, 17:56
iS-DOS -- это 10 килобайт для программ.
iS-DOS с GUI -- это 1 килобайт для программ.

Максагор
19.08.2006, 00:19
iS-DOS -- это 10 килобайт для программ.
iS-DOS с GUI -- это 1 килобайт для программ.

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

iS-DOS Classic - это до 12-15 Кб непрерывного пространства для программ.
iS-DOS Chic - до 25-30 Кб
TASiS - до 30-37 Кб.

Ну и что тут такого? Речь ведь, во-первых, идет о непрерывной памяти адресного пространства, а во-вторых, для подавляющего большинства программ под iS-DOS (т.е. написанных не самими по себе, а под систему) даже в "классике" этой памяти хватает с избытком (если там не переборщить с числом установленных резидентов), потому как 2/3 того, что является необходимым любой мало-мальски серьезной прогремме под TR-DOS (управление флопом, печаталка текста и отрисовка окон, драйвер клавы и т.д.) уже есть в самой системе и это все надо только вызвать через рестарты. Таким образом, больше половины всей работы обычной iS-программы - это подготовка данных для рестартов и их вызов. Отсюда и миниатюрные размеры самих программ. И тем более им хватит места в Chic и TASiS.

Ну а в третьих, добавление уровня GUI в систему вовсе не приведет к сокращению свободного пространства до 1Кб и вообще к его существенному сокращению. Или ты совсем считаешь других ZX-программеров такими криворукими и топорно мыслящими? Вот, к примеру, OS TASiS: по структуре адресного пространства она практически ничем не отличается от Chic. Так откуда там произошло увеличение непрерывного пространства памяти для программ еще примерно килобайт на восемь? А очень просто: во-первых, был переписан драйвер флопа. Теперь он прямо обращается к ВГ93 (в АТМ-2 это можно, кто не знает) и не использует системных переменных TR-DOS вообще. Во-вторых же, было решено отказаться от штатного использования экрана в пятой странице ОЗУ. Теперь используется альтернативная экранная страница 7 (и 3 - для АТМ-графики). Соответственно были переписаны драйвера печати на экран и оконные рестарты. Теперь драйвер печати передает упроавление подпрограмме в неизменяемой части ядра ОС (которое лежит в стр.0 с нулевого адреса), а та включает страницу 7 или 3 и выводит туда символы печати. В результате полностью освободился промежуток памяти с 16384 до 23999 и стал доступен для программ пользователя (ранее там можно было использовать только отдельные участки - например, буфер принтера). Соответственно, если минимальный стартовый адрес программ раньше был 24000 (на худой конец - 23900), то теперь - 16384. КОроче, экранная область исключена из алресного пространства и "сослана" в страницы.

Так вот, подобный принцип вполне можно применить и в случае с GUI: "пришиваемый" к ядру новый уровень будет содержать лишь точки входа и процедуры вызова самого тела рестартов GUI, чей основной код будет сидеть в страницах. Таким образом, из основного адресного пространства будет "выкушено" не более 2-3Кб. Что не страшно даже для Classic (хотя я не предполагаю GUI для этой версии iS-DOS), не говоря уж о Chic и TASiS.

captain cobalt
19.08.2006, 10:10
Это не для Спектрума.
Это только для некоторых клонов-монстров и эмуляторов.
Имея такие возможности можно запускать и CP/M.
И под него есть компиляторы Си, которые нужны человечеству.

Максагор
19.08.2006, 13:21
Это не для Спектрума.
Это только для некоторых клонов-монстров и эмуляторов.
Имея такие возможности можно запускать и CP/M.
И под него есть компиляторы Си, которые нужны человечеству.

Что значит не для спектрума? Не для 128k+AY+TR-DOS? И что такое "некоторые клоны-монстры", которые умеют работать в Chic-системе? А это почти все остальные модели: Scorpion ZS 256, KAY-256/1024, PROFI 256-1024, ATM-turbo 2+. Да это же основные модели, которые уже давненько составляют весьма и весьма значительную долю оставшегося активным спектрумовского парка. И, костати, под них действительно можно запускать CP/M и запускают ведь! Но причем здесь это? А вообще тут попахивает очередным "холиваром" типа "xxx vs yyy", так что предлагаю не развивать это направление.
А вобще, я никогда не выступал за "всеспектрумовское" светлое будущее абсолютно для всех владельцев любого железа, каким-то боком имеющего отношение к ZX. Я - за максимальное развитие технических характеристик железа при одновременной максимальной их программной поддержке. Поэтому сознательно ухожу от схемы "128k+AY+TR-DOS". Сейчас, на мой взгляд, самый минимум должкн быть - 256k+отключалка ПЗУ+AY+TR-DOS+HDD".
У кого меньше - пусть довольствуются минимальной конфигурацией программ: невозможно удовлетворить абсолютно всех. Хотя, конечно, если это возможно, почему бы и нет.

Короче, если кто присоединится к разработке GUI для TASiS, милости просим. Даже если у вас нет ATM, это не беда, договоримся. Вот, AlCo начал писать под ATM, и эта машина у него появилась.

captain cobalt
20.08.2006, 05:58
Имеются и другие затруднения:

1. Низкое разрешение графики. Даже для одной программы часто не хватает целого экрана.

2. В СССР гораздо более популярны двухпанельные файловые оболочки. В iS-DOS такая уже есть.

А нужен ли GUI?

Максагор
20.08.2006, 06:39
Имеются и другие затруднения:

1. Низкое разрешение графики. Даже для одной программы часто не хватает целого экрана.

Отсылаю посмотреть скриншоты AQUA/DOORS и ARTSTUDIO. Кроме того, не надо сбрасывать со счетов и расширенные графические режимы ряда клонов. В любом случае, это уже чисто техническая проблема - как что сделать и где расположить. Никто ведь и не спорит, что делать надо все с умом и прямыми руками.


2. В СССР гораздо более популярны двухпанельные файловые оболочки. В iS-DOS такая уже есть.

Ну и что? Пусть и остается себе на здоровье. Данная оболочка - это всего лишь один из уровней ядра системы. А в iS-DOS их можно как снимать, так и добавлять новые. Убирать уровень с оболочкой SHELL я не предлагаю. Просто, ниже ее надо будет добавить (кстати, утилитой SET.COM) уровень оболочки с GUI, после чего мы автоматически получаем дополнительно 32 новых рестарта новой оболочки.


А нужен ли GUI?

Я так понимаю этот вопрос: если кому нужно, то он собирает себе единомышленников и делает, а кому не нужно - просто запускает старую версию iS-DOS (а то и TR-DOS) и работает в ней в свое удовольствие.
В результате никто никому не мешает, все довольны и счастливы. Посему втягиваться в обсуждение данного вопроса считаю бессмысленной потерей времени.

captain cobalt
20.08.2006, 15:24
Проблема: софт разработанный для GUI не сможет работать без GUI.

James DiGreze
20.08.2006, 15:43
Не вижу в этом проблемы...
Если новые версии iS-DOS будут идти с поддержкой GUI, то разницы никакой, просто программа будет при запуске инициализировать GUI, а при выходе возвращать все на свои места... Если поддержки GUI не предусмотрено, то программа будет завершаться с ошибкой... И что в этом не так?

demon_zx
21.08.2006, 12:12
кстати, никто не может кинуть в меня форматом уродня ис-дос? то есть собственно какой заголовок или что там еще должен быть у файла с уровнем для установки программой set.com?

James DiGreze
21.08.2006, 12:27
Где-то эта инфа пробегала... Сейчас наверно не вспомню, но могу выслать на мыло все что у меня есть... ;)

Ronin
21.08.2006, 13:18
да давно тоже думал :) в принципе ничего невозможного тут нет.
зы// останется еще додумать расширение файловой системы свыше 16мб :) что тоже в принципе реально.

James DiGreze
21.08.2006, 17:57
зы// останется еще додумать расширение файловой системы свыше 16мб :) что тоже в принципе реально.
Оффтоп конечно... Но, есть идеи, веду думы... Проблема одна - увязать существующую концепцию, с возможностью "кусочного" кэширования. Было бы времени как 10 лет назад... ;)

demon_zx
22.08.2006, 08:41
не, конкретно нужна только эта инфа. а на счет расширения фс, лично я пока пользуюсь програмкой, которая подставляет нужные номера цилиндров на нужные диски в драйвер винта. А поразвернутей по "увязать существующую концепцию, с возможностью "кусочного" кэширования" можно?