GUI для «Специалиста»
Moderator: Lavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re:
Причем давно, года так с 1992-го...barsik wrote:Графический интерфейс на 8-ми разрядке реальность

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Senior
- Posts: 163
- Joined: 21 Aug 2018 07:39
- Location: Кемеровская обл.
Re: Специалист - Мысли по расширению ОЗУ за счёт ПЗУ
А разве это не текстовый интерфейс? Иконок нема! 

-
- Doomed
- Posts: 665
- Joined: 01 Oct 2007 10:30
- Location: Ukraine
Re: Специалист - Мысли по расширению ОЗУ за счёт ПЗУ
Была ведь у авторов Орион-а программа-оболочка для CP/M c графонием и иконками.
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
http://www.orion-ext.narod.ru
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Специалист - Мысли по расширению ОЗУ за счёт ПЗУ
Шутку понялIcer wrote:А разве это не текстовый интерфейс? Иконок нема!

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
А я не понял, в чём шутка? Да, для ОРИОНА были демо-версии самодельной Windows.Lavr wrote:Шутку понялIcer wrote:А разве это не текстовый интерфейс? Иконок нема!


Возможно у меня иллюзия самообмана, но мне кажется, что кроме этой версии я видел и другую версию Windows, где уже были пиктограммы файлов, а не только табличное представление. Если уж говорить о том, когда был сделан первый GUI для ОРИОНА, то это было в 1991 в System Manager (без ORDOS, монохром, квазидиск сплошной в 180 кб). Без мыши оказалось дико неудобно. Потому без мыши даже говорить о GUI нет смысла. Но ещё до того в 1990, я видел демо на Специалисте (просто пара картинок иконок и по экрану можно было гонять стрелку, больше ничего).

Ссылаться на BP не имело смысла, ясно же, что речь была не о табличных меню с балками указателями, а о GUI (а кстати, такие нортоны были свои почти у каждого программиста, у меня их было более 10 разных, и видел кучу чужих, не хуже BP). Я же специально привёл подборку скриншотов GUI реальных 8-ми разрядок из начала 80-тых годов.
Ну а первые программы в граф.интерфейсе с текстовыми меню и выбором балкой подсветки были сделаны для Специалиста ещё лет за 5 до BP М.Бриджиди (и кстати искажений на экране не видел ни в одной версии BP, там или дохлый эмулятор или сам BP). Например, кроме RW в 1989 были однопанельный МГ-нортон RAMDOS для эл.диска в 256 кб и нортон локальной сети преподавателя компьютерного класса на Специалистах тоже был табличный и c окнами. Позже могу выложить снимки и их экранов.


-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re:
Я тоже не понял, чем нас хотели удивить:barsik wrote:первые программы в граф.интерфейсе с текстовыми меню и выбором балкой подсветки были сделаны для Специалиста ещё лет за 5 до BP М.Бриджиди ...
Если есть графический экран, то Графический интерфейс на 8-ми разрядке вполне себе реальность.barsik wrote:Графический интерфейс на 8-ми разрядке реальность
iLavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Re: Re:
Хотели не удивить, а неопровержимо доказать, что аппаратных возможностей 8-ми разрядки хватает для GUI. Да и практически никто у нас и не знает, что первые GUI как раз и были на 8-ми разрядках в начале 80-тых. Об этом популяризаторы в своих статьях не пишут, у них компьютеры начинаются с IBM PC, а GUI с Windows 1.0 от Microsoft из 1985.Lavr wrote:не понял, чем нас хотели удивить:barsik wrote:Графический интерфейс на 8-ми разрядке реальность
Да нет. Может для Appe-II и Commodore-64 это реальность, а для Специалиста (с расширением ОЗУ до двух банок РУ5) реальностью это только может стать.Lavr wrote:Если есть графический экран, то Графический интерфейс на 8-ми разрядке вполне себе реальность.
Если кто-нибудь не поленится и напишет для него файловый менеджер в стиле GUI для какой-либо DOS или хотя-бы обеспечит набор подпрограмм реализующий GUI с мышью от Microsoft (в крайнем случае для начала сгодится и контактный джойстик). Специалист с более быстрым цветом и наличием большого ПЗУ в адресном пространстве тут предпочтительнее, чем ОРИОН.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Re:
А в этом как-то никто и не сомневался...barsik wrote:Хотели не удивить, а неопровержимо доказать, что аппаратных возможностей 8-ми разрядки хватает для GUI.Lavr wrote:не понял, чем нас хотели удивить:barsik wrote:Графический интерфейс на 8-ми разрядке реальность


Ну это, возможно, "у вас" никто и не знает, а за нас огульно говорить не надо, читать и иностранные буквы умеем.barsik wrote:Да и практически никто у нас и не знает, что первые GUI как раз и были на 8-ми разрядках в начале 80-тых.
Плохо вы о людях думаете, всё пишут, если есть желание читать.barsik wrote:Об этом популяризаторы в своих статьях не пишут, у них компьютеры начинаются с IBM PC, а GUI с Windows 1.0 от Microsoft из 1985.
Тем не менее, Appe-II и Commodore-64 - это 8-ми разрядки.barsik wrote:Да нет. Может для Appe-II и Commodore-64 это реальность, а для Специалиста (с расширением ОЗУ до двух банок РУ5) реальностью это только может стать.Lavr wrote:Если есть графический экран, то Графический интерфейс на 8-ми разрядке вполне себе реальность.
Если кто-нибудь не поленится и напишет для него файловый менеджер в стиле GUI для какой-либо DOS или хотя-бы обеспечит набор подпрограмм реализующий GUI с мышью от Microsoft (в крайнем случае для начала сгодится и контактный джойстик).
Для "Специалиста" это никакой актуальности не представляет, тем более в данный момент, в силу ограниченных ресурсов этого ПК.
Панели типа "Нортона" для него есть, а мышь считали излишеством и во времена MS-DOS.

Диггер спросил как-то т. Комманда Кома: "За что же, Вы,
т. Комманд Ком, отца Вындоуза так не любите?".
"Мышами от него воняет", - быстро ответил тот.![]()
iLavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Почему до вас никак не доходят чётко сформулированные предложения, к тому же подкреплённые неопровержимыми фактами? О том и шла речь, что как раз аппаратных возможностей даже скромной графической 8-ми разрядке хватает (ZX-Spectrum выпадает из-за мизерности экрана).Lavr wrote:в силу ограниченных ресурсов этого ПК...barsik wrote:кто-нибудь... напишет для него файловый менеджер в стиле GUI
Что Apple-II с тактом 1 МГЦ выводящий на экран 560*192 или Commodore-64 c таким же тактом на экран 320*200 делают вывод иконок быстрее, чем Специалист на Z80 турбированный до 4.5 МГЦ реального такта? А ещё учтите, что в Apple-II экран не байтовый, а 7-ми битовый (т.е только 7 битов экранного байта формируют графику, из-за чего байты графики приходится сдвигать, маскировать и накладывать), а 6 цветов вдвое пониженного разрешения даже хуже, чем двух битовый цвет А.Волкова (не упоминая даже, что автоматический цвет не тормозит).
Если считать эффективность работы с экраном как клок делённый на число экранных пикселей, то даже изначально спроектированная под GUI-интерфейс Apple Lisa с экраном 720*364 и клоком CPU в 5 МГЦ по этому параметру более, чем вдвое проигрывает обычному Специалисту с Z80 на 4 МГЦ. А ведь исходно с 1978 года несколько лет Лизу разрабатывали под ещё более медленный 8-ми разрядный процессор 6809 на такте 2 МГЦ.
И зачем в GUI нужна запредельная скорость, это же не динамичная игра. Что по времени долго скопировать на экран десяток пиктограмм 24*24 и потом гонять по экрану стрелку? Это кстати, у меня уже сделано в 1996 году: в файл XBIOS.SYS для ДОС ОРИОНА входят подпрограммы гоняющие по экрану стрелку. Потому сделать демо с пиктограммами на экране и двигающейся стрелкой могу за несколько дней. Но вот где взять пиктограммы? На моём столе стоит рабочий Macintosh-Plus, но не хочется срисовывать на кальку с экрана, а затем по квадратикам вручную оцифровывать, как делали разработчики "Принца Персии" для БК-010.
Понятно, что тащить мышью графическое окно размером с треть экрана получится медленно или неплавно или с заметными искажениями. Но это и не надо. Посмотрите работу ОС Apple Maс первых моделей (т.е моделей 128, 512 и Plus), и вы обнаружите, что при перемещениях окон двигают только контур окна, а по отпусканию кнопки мыши стирают исходное окно и рисуют его в новом месте.
Если же под "ограниченностью ресурсов" понимать нехватку объёма ОЗУ в 36 кб, то, естественно, этого недостаточно для GUI. MouseDesk и Catalist работали на Apple-IIe с 128К, GEOS работал на Commodore-64 с расширением ОЗУ до 128К, в Macintosh-128 ОЗУ тоже было 128К. Мне не трудно заменить в Специалисте РУ5 на РУ7 или применить двухэтажные банки РУ5, - это работа на полчаса. Полчаса достаточно на перекидыш двух адресов у КП2 (это лишь для РУ7) или монтаж пары TTL-корпусов вторым этажом (для формирователя /CAS РУ5-тых). У меня почти все РУ5-тые - двухэтажные (десяток комплектов по 16-ть штук, так они ставятся в ОРИОН для 256К).
В плане архитектуры Специалист удобнее ОРИОНА из-за большого ПЗУ (вообще неумно в графической машине ставить ПЗУ всего в 2К). ОРИОН в банке 0 после загрузки CP/M и хотя бы минимально достаточного драйвера консоли даёт TPA немногим более 32 кб. И тут уже всего 2 дополнительных килобайта отделяют победу от поражения, т.е определяют невозможность сделать программу. В этом убедился вчера, приведу это в качестве примера неудачности архитектуры ОРИОНА.
В своих личных DOS я для TPA CP/M выигрываю целых 2 кб перемещая часть кода во вторую страницу ПЗУ F800 (у меня две РФ2 в качестве ПЗУ F800, как было предложено в варианте Z80CARD-I в 1991, на РФ2 напаивается панелька, куда ставится вторая РФ2, коммутация портом FC). Вчера занимался трансляцией старых исходников дискетных DOS и оболочек к ним, т.к, если дисковод не используется, коды дискетных программ незачем хранить (храню исходники). А EMU80 не поддерживает две страницы ПЗУ F800.
Потому пришлось транслировать без-ПЗУ-шные версии CP/M 48К, а у них TPA на 2 кб ниже. И обнаружилось, что нортон и LORD успешно глюкаются после открытия окна HELP-а (это два здоровых цветных окна, которые драйвер при открытии окон сохраняет в ОЗУ). Оказалось, что окна затирают код. А чтобы переделать это надо много труда (и хлопотно разбираться в программах более чем 20-ти летней давности). А у Специалиста с 48К ОЗУ есть ещё 14 кб ПЗУ, можно всю CP/M и огромный драйвер переместить выше C000, что даёт для программ на 12 кб больше.
Естественно, о создании пародии на ОС Windows, в которой две основные идеи - это GUI и многозадачность (реальная или коммутируемая в первых версиях) речь вовсе не идёт. Это на 8-ми разрядке нереализуемо. Речь о несложной оболочке типа нортона, но лишь в другом графическом оформлении.
Кому как. Вообще, если цель демотивировать, то "в данный момент" всё связанное с ретро хобби неактуально.Lavr wrote:Для "Специалиста" это никакой актуальности не представляет, тем более в данный моментbarsik wrote:кто-нибудь... напишет для него файловый менеджер в стиле GUI
Как раз в начале 90-тых это было не особо актульно, т.к на дисководе с числом файлов не более 70 (при 128 экстентах больше не записать) можно обойтись нортоном. А сейчас и на 8-ми разрядках в моду входят огромные по размеру дисковые приводы. Для столь большого числа файлов даже CP/M с 16-ю юзерами не хватает, (хотя можно без хлопот увеличить число юзеров в CP/M с 16 до 255; не 256, юзер с номером $E5 невозможен, это признак свободности экстента). Графическое представление папок и файлов всем привычно, а нортоны остались для MSDOS (хотя я и в MSDOS не тащился от нортона, а пользовался GUI-оболочкой GEM от DR).
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re:
А почему до вас никак не доходит простая логика соответствия аппаратных возможностейbarsik wrote:Почему до вас никак не доходят чётко сформулированные предложения, к тому же подкреплённые неопровержимыми фактами? О том и шла речь, что как раз аппаратных возможностей даже скромной графической 8-ми разрядке хватает (ZX-Spectrum выпадает из-за мизерности экрана).Lavr wrote:в силу ограниченных ресурсов этого ПК...barsik wrote:кто-нибудь... напишет для него файловый менеджер в стиле GUI
быстродействию приложений?

Любой компьютер с графическим экраном может вам "нарисовать" оболочку любой красоты,
но это не будет GUI.
GUI будет в том случае, если приложения пользователя могут использовать GUI API.
И пример Виндоуз у нас под носом показывает, что GUI тормозит приложения не слабо, требует
и так хилых ресурсов на себя.
Во времена Win 3.1, 3.11 на платформе 286 все матюкались, тужась работать с ними, а у меня
великолепно работала DR DOS 6.0 с плюшками Windows но без GUI.

Графический интерфейс, если он не одна красивая оболочка, тормозит работу однозначно,
требуя больше ресурсов. И вы сами это подтверждаете:
barsik wrote:.. Специалист на Z80 турбированный до 4.5 МГЦ реального такта?...
...
MouseDesk и Catalist работали на Apple-IIe с 128К, GEOS работал на Commodore-64 с расширением ОЗУ до 128К, в Macintosh-128 ОЗУ тоже было 128К. Мне не трудно заменить в Специалисте РУ5 на РУ7 или применить двухэтажные банки РУ5, - это работа на полчаса.
Совершенно не соглашусь. Я вот сейчас с интересом занимаюсь компилятором PL/M для "Специалиста".barsik wrote:Кому как. Вообще, если цель демотивировать, то "в данный момент" всё связанное с ретро хобби неактуально.Lavr wrote:Для "Специалиста" это никакой актуальности не представляет, тем более в данный моментbarsik wrote:кто-нибудь... напишет для него файловый менеджер в стиле GUI
Демотивировать никого не считаю нужным, даже больше - будет хороший результат - промотивирую!

У вас просто странная манера уводить свои топики в какие-то другие стороны. Вы начали с фразы:
Я вам заметил, что этот интерфейс давно реальность, а уж ныне и удивляться нечему!barsik wrote:Графический интерфейс на 8-ми разрядке реальность

Вот хотя бы пример нынешних дней SymbOS: Ну или Atari GUI погуглите...
Зачем мне доказывать, что GUI на "Специаалисте" возможна?

Но вот нужна ли? На мой взгляд - это сомнительно.
И, кстати, Афанасьев в своём RAMFOS для "Специалиста" смог добавить интерфейс GUI в свою ОС,
причем, не потеряв совместимости практически со всем набором ПО и не требуя дополнительных мощностей ПК.
Элементы GUI API можно вызвать из своих программ, хотя тогда программа становится приложением RAMFOS.
А вот сможете ли вы, barsik, не агитировать войти в открытые двери, а что-то сам похожее сделать -
меня терзают смутные сомнения...

You do not have the required permissions to view the files attached to this post.
iLavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Вы снова путаете GUI и графический текстовый интерфейс. Интересно, что там за набор функций, я как раз озадачивался тем-же в 1996, делая графический XBIOS.SYS для ОС ОРИОНА в банке 2. Огласите, пожалуйста, весь список.Lavr wrote:кстати, Афанасьев в своём RAMFOS для "Специалиста" смог добавить интерфейс GUI в свою ОС... Элементы GUI API можно вызвать из своих программ
Это не могу. Мне, чтобы что-то делать, нужна моральная поддержка. Считайте, что так я пытаюсь сам себя морально вдохновлять.Lavr wrote:А вот сможете... не агитировать войти в открытые двери
Это что попытка "ловли дурачков на слабо"? Или вы сомневаетесь, что я не забыл все команды ассемблера и имею для разработки GUI достаточно опыта? Я на себя никаких обязательств не беру, а информировать, тем более публично, о своих намерениях значит точно загубить идею (очень верна поговорка).Lavr wrote:а самому что-то похожее сделать - меня терзают смутные сомнения...
Снова сомнения, похоже вы мнительный. Уточняю, что мнительный означает не только ипохондрика, но и имеет значение недоверчивый, подозрительный (vt), не доверяющий людям.Lavr wrote:GUI на "Специалисте"... ВОЗМОЖНА! Но вот нужна ли? На мой взгляд - это сомнительно.
Насчёт ненужности, это из чего следует? Почему-то у всех на PC стоят DOS в стиле GUI, а не нортоны или XTREE. По совету "Atari GUI погуглите" я узнал, что в других странах с более развитым ретро-хобби любители уже давно заняты написанием DOS с стиле GUI для старых 8-ми разрядок и даже для чисто игрушечного Atari-800. Любому ясно, что многозадачная на 16 процессов DOS для 6502 это по любому гораздо большее сумасшествие, чем скромная идея написать простейшую оболочку с мышью.
И вообще, выясняется, что почти на всех популярных иностранных 8-ми разрядках была или DOS с GUI или GUI-оболочка к чисто текстовым DOS. А для отечественных 8-ми разрядок ничего подобного нет. Заимствовать - никак, а своё с нуля никто написать так и не взялся.
Лишь один человек, рядом с которым не оказалось знатока, чтобы любезно сообщить ему, что "это сделать невозможно и неактуально", попытался в 1992 сделать ФМ для ОРИОНА (но автор видел только Windows c окнами в виде текстовых таблиц, по образцу и сделал). Но и в этой версии есть и иконки и стрелка указатель перемещается по экрану и даже при желании можно файлы копировать и другие операции делать. Разработчик не виноват, что без мыши это дико неудобно. Думаю, что мышь у автора всё-же была, (возможно от БК-010, они продавались в 1991), иначе и браться за такую задачу не имело смысла. Даже контактный джойстик для GUI удобнее, чем клавиатура.
Если бы кто-то сделал бы или подсказал, что где-то можно взять программу, что из монохромного BMP- или PCX-файла делает графику в простом формате, то дело разработки ФМ в стиле GUI сдвинулось бы с мёртвой точки. Подобные программки для ZX наверняка есть. Простой формат это формат подпрограммы вывода картинок в ИРИШЕ: два первых байта задают ширину и высоту картинки в байтах, а далее сам массив графики сверху-вниз, слева-направо. Естественно, в байте графики бит D7 слева, как это в экранах большинства машин.
Наличие такой утилиты позволит в тот же день посмотреть в эмуляторе как GUI может выглядеть и уже дальше решить, получится ли сделать для Специалиста прилично или нет. Было бы неплохо, если бы кто-то подключился и написал бы также редактор иконок (я написал такой когда-то для Специалиста). Например, на Паскале или PL/M, это полезно чтобы не писать для целей обучения всякую ерунду, а сделать что-то полезное, а заодно и научиться. Хотелось бы, чтобы кто-то взялся написать драйвер пропорционального шрифта высотой в 6 точек. Может быть кто-то возъмётся упростить контроллер мыши из ж.Радиолюбитель или сделать другой попроще. О мышах мечтают любители всех 8-ми разрядок.
Кстати, для Специалиста для целей GUI разумно расширить экран до 448 точек (у меня так сделано в ОРИОНЕ с 1997), это при драйвере D7 даёт ровно 64 символа. Это конечно все равно меньше, чем 512*342, что у Макинтоша, но всяко лучше, чем экран 384*256. Если экранную область Специалиста закрывать верхним сегментом в 16К, то это не сокращает ОЗУ для программ.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: GUI для «Специалиста»
Вот по этой всей части я со 100% уверенностью скажу, что точно знаю, что ничего с вашей стороныbarsik wrote:Это не могу. Мне, чтобы что-то делать, нужна моральная поддержка. Считайте, что так я пытаюсь сам себя морально вдохновлять.Lavr wrote:А вот сможете... не агитировать войти в открытые двериЭто что попытка "ловли дурачков на слабо"? Или вы сомневаетесь, что я не забыл все команды ассемблера и имею для разработки GUI достаточно опыта? Я на себя никаких обязательств не беру, а информировать, тем более публично, о своих намерениях значит точно загубить идею (очень верна поговорка).Lavr wrote:а самому что-то похожее сделать - меня терзают смутные сомнения...Снова сомнения, похоже вы мнительный. Уточняю, что мнительный означает не только ипохондрика, но и имеет значение недоверчивый, подозрительный (vt), не доверяющий людям..Lavr wrote:GUI на "Специалисте"... ВОЗМОЖНА! Но вот нужна ли? На мой взгляд - это сомнительно.
существенного не произойдёт.

Читал я на одном форуме (я думаю, вы знаете на каком) цикл ваших "полотнищ" о прелестях программирования
на ЯВУ, в частности на Паскале...
И вы там замечательную фразу написали, я был от нее в восторге!

Излагаю не цитатой, а близко к тексту:
Там все посмеялись, ну а я с тех пор имею смелость называть ваши длинные росказни "байки от барсика".barsik wrote:Только не думайте, что я это всё делать буду. Я этого всего делать скорее всего не буду. Я вам рассказал, вот сами и делайте

P.S. Кстати, на том же форуме вы сказали, что не знакомы с RAMFOS для "Специалиста_МХ", поэтому
излагать вам что-то про GUI этой ОС я здесь не считаю нужным. Описание RAMFOS на нашем форуме есть.
iLavr
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Для Специалиста главная проблема при попытке использовать GUI - отсутствие мыши. Хотя у меня в реале эта проблема решена, т.к я поимел мышь от Корвета. Хотелось бы, если и не взяться сразу за разработку ФМ, то хотя бы сделать демо интерфейса и посмотреть как это будет выглядеть в эмуляторе.
Я обдумал идею ФМ в стиле GUI, и догадался, что для этого аппаратно следует поиметь ОЗУ 128К и экран 448*256. Буду использовать Специалист с реальным тактом 3.2 МГЦ (2.25*1.42, это Турбо-142% с WAIT, при котором ОЗУ остаётся на такте 2.25, а клок Z80 удваивается). Можно и Турбо-200%, но при этом нагрузочная способность шины резко падает, а надо подключать флоп, винт мышь и т.п (а добавлять буфера для крошечной платы Экспресс слишком громоздко). И если 448 точек будет мало и понадобится увеличивать пиксель клок до 10 МГЦ, то Турбо-200% придётся ломать. Схемы установки Z80, Турбо-142% и экрана 448 в Специалисте сохранились из 1991, скоро нарисую и выложу.
Повышать пиксель клок надо, чтобы в экран дисплея влезал растр 448*256 (14 кб вместо 12 кб). А это надо потому-что на экран шириной в 384 точки влезет слишком мало пиктограмм или они будут уродливыми. GUI приемлемо получались при экране шириной в 512 или 560 точек.
Так как ФМ работает в DOS (а приличная DOS занимает 10 кб, а с хорошим драйвером до 25 кб), ясно, что желательно ОЗУ в 128 кб. Это делается напайкой на имеющуюся банку второй банки РУ5 и монтажом ещё двух корпусов - формирователя двух /CAS-ов и регистра номера банки. С учётом дешифратора области портов и ещё по мелочи, общее число доп.корпусов составит ~6. Это меньше, чем в Специалисте MX и реализуемо без всяких доп.плат, не проблема все детали смонтировать вторым этажом. Сделать эти апп.доработки это вообще не проблема, - это самая простейшая из всех задач, что возникают.
Специалист-Экспресс в плане доработок удобнее, чем ОРИОН. ОРИОН слишком сложный в ремонте и ненадёжный. У меня сейчас из 6 плат ОРИОНА все дохлые, а из 5 плат Специалиста 4 рабочие (в одной не запаян процессор). Но пока нет клавиатуры. Собираюсь переписать ROM-BIOS под ретро аппаратную клавиатуру (это которая даёт сразу ASCII-код).
И ещё остаётся проблема мыши в эмуляторах. К сожалению эмуляторы не поддерживают мышь. Я могу встроить поддержку мыши в свой MSDOS эмулятор ОРИОНА, но увы, своего эмулятора Специалиста у меня нет (лишь если очень прижмёт, то возьмусь переделать эмулятор ОРИОНА в эмулятор Специалиста, это не сложно, т.к лишь упрощать, - ломать, не строить).
Хотелось бы иметь в эмуляторах поддержку мыши ММ-8031 от Корвета, т.к она у меня есть. Это вот такая мышь. Паять контроллер PC-мыши с последовательным интерфейсом (из ж.Радиолюбитель) вручную очень утомительно, проще использовать мышь с параллельным интерфейсом.
Мышь ММ-8031 имеет параллельный вывод и её обслуга программно проста и не требует апп.прерываний. И это легко эмулировать в эмуляторе. При желании можно на микроконтроллере или на простом МП-ядре с Z80 сделать конвертор обычной PS/2 мыши в параллельный интерфейс в стандарте ММ-8031. Это будет не сложнее, чем трахаться с 580 ВВ51, ВИ53 и 170УП?? и вводить в Специалист прерывания.
Но работающее железо сейчас не нужно. Не на нём делать отладку, а в эмуляторе. И эмулятор Специалиста с нужной архитектурой и поддержкой дисковода мне удалось поиметь, но увы, поддержки мыши в нём нет. Дело пока стоИт из-за мыши и отсутствия графики.
Прикинул графику. От Apple-II и Commodore-64 иконы не понравились, лучше взять прототипом графику Макинтоша. Граф.редакторов на PC много, но не знаю как перевести их форматы файлов в формат экрана. В принципе получить графику можно и из эмуляторов ретро компьютеров, где есть GUI: с Макинтоша, Амиги, MSX. В хороших эмуляторах можно делать скрин-шоты, из которых можно взять элементы интерфейса. Но как их преобразовать в формат пригодный для использования в программах на Z80. С этим пока затык. Но т.к графика иконок очень проста, то думаю проще будет нарисовать самому, чтобы не надрываться изучая формат BMP.
Для первых версий ФМ не нужны большие доработки, можно ограничиться одной банкой ОЗУ в 64 кб. А для изготовления демо даже без дискового привода можно обойтись, используя бутафорию вместо DOS. Всё что надо ФМ получить от DOS для демо, это - каталог диска. Бутафорская имитация этого, - это расход всего в две сотни байт. Я так делал при разработке нортонов.
Вариант "открытия" ОЗУ в окне D000...F7FF худший вариант. Лучше открывать всё под-ПЗУ-шечное ОЗУ в 14К. Тогда м.быть и для стартовой версии ФМ, как и предполагал любитель пишущий GUI для Атари-800, на Специалисте, хватит всего 64К. При условии, что писать всё на ассемблере и не ограничиваться лишь освобождением ОЗУ в 14К, - понадобится задействовать и ПЗУ в 14К. Причём все 14К ПЗУ отдать своим кодам, выкинув оттуда всё от Специалиста. Для прогона программ Специалиста достаточно грузить ROM-BIOS из ROM-диска или ПЗУ (у меня так было сделано одно время).
Тогда в ПЗУ C000...F7FF размещается DOS и драйверы шрифта, а дополнительные 14К получаемые при отключении окна ПЗУ C000...F7FF (битом D7 порта F9) целиком идут для нужд ФМ. Такой трюк даёт 36+14= 50 кб ОЗУ и 14 кб ПЗУ. Этого может хватить для простой версии ФМ. А если не хватит, то оверлеи или графику можно упихать в ROM-диск (тогда на этапе отладки он д.быть из 62256 с батарейкой или флэш-аналог, т.е с быстрой и простой перезаписью, чтобы не тратить ресурс перезашивок УФ-ПЗУ 27256).
Работать с графикой конечно удобнее на ЯВУ. Но если часть кода писать на ЯВУ, то нужна другая архитектура. Если весь код реализующий GUI-интерфейс вместе с оконными буферами и TPA для DOS умещаются в видимое при доступном экране ОЗУ в 36К+14К, то это одна архитектура. При которой всё в одной банке. Но вряд-ли так выйдет хотя бы приемлемо. Крошечное TPA для DOS делает такую систему бесполезной. Лучше банку 0 целиком отдать GUI, а банку 1 целиком отдать DOS и её программам.
При написании части кода на ЯВУ нужна другая архитектура, позволяющая в каком-то окне при доступном экране прокачивать код, который работает с экраном, т.к в одной банке весь код из под ЯВУ не уместится. Этому требованию отвечает многостраничное ПЗУ C000...F7FF. Если применить 271024, то в 8-ми страницах по 14К влезет 112К кода. Тут нужен ЯВУ который генерит код для ПЗУ. Пока встречал лишь, что Паскаль МТ+ такое умеет. Пока мне надо лишь посмотреть на интерфейс, т.е вывести на экран картинку и погонять стрелку, а также брать мышью иконку и двигать её по экрану. Это можно сделать и на ЯВУ.
CP/M, кстати, плоха для GUI тем, что не позволяет длинных имён. Можно 9 символов упаковывать в 8 байтов CP/M-имени, если использовать 7-ми битовый код и уплотнять. Это даст 11 символов на имя и 1 байт под тип файла. В самодельной DOS можно иметь длинные имена, но в самодельной DOS нет редактора SuperText и вообще никаких программ.
Из текстовых драйверов понадобится жирный шрифт 8*8 и для него второй фонт прореженный. И ещё мелкий пропорциональный шрифт. Для GUI понадобится и текстовый графический интерфейс, т.е балка с командами и спускающиеся меню. Т.е горизонтальные и вертикальные меню.
Я обдумал идею ФМ в стиле GUI, и догадался, что для этого аппаратно следует поиметь ОЗУ 128К и экран 448*256. Буду использовать Специалист с реальным тактом 3.2 МГЦ (2.25*1.42, это Турбо-142% с WAIT, при котором ОЗУ остаётся на такте 2.25, а клок Z80 удваивается). Можно и Турбо-200%, но при этом нагрузочная способность шины резко падает, а надо подключать флоп, винт мышь и т.п (а добавлять буфера для крошечной платы Экспресс слишком громоздко). И если 448 точек будет мало и понадобится увеличивать пиксель клок до 10 МГЦ, то Турбо-200% придётся ломать. Схемы установки Z80, Турбо-142% и экрана 448 в Специалисте сохранились из 1991, скоро нарисую и выложу.
Повышать пиксель клок надо, чтобы в экран дисплея влезал растр 448*256 (14 кб вместо 12 кб). А это надо потому-что на экран шириной в 384 точки влезет слишком мало пиктограмм или они будут уродливыми. GUI приемлемо получались при экране шириной в 512 или 560 точек.
Так как ФМ работает в DOS (а приличная DOS занимает 10 кб, а с хорошим драйвером до 25 кб), ясно, что желательно ОЗУ в 128 кб. Это делается напайкой на имеющуюся банку второй банки РУ5 и монтажом ещё двух корпусов - формирователя двух /CAS-ов и регистра номера банки. С учётом дешифратора области портов и ещё по мелочи, общее число доп.корпусов составит ~6. Это меньше, чем в Специалисте MX и реализуемо без всяких доп.плат, не проблема все детали смонтировать вторым этажом. Сделать эти апп.доработки это вообще не проблема, - это самая простейшая из всех задач, что возникают.
Специалист-Экспресс в плане доработок удобнее, чем ОРИОН. ОРИОН слишком сложный в ремонте и ненадёжный. У меня сейчас из 6 плат ОРИОНА все дохлые, а из 5 плат Специалиста 4 рабочие (в одной не запаян процессор). Но пока нет клавиатуры. Собираюсь переписать ROM-BIOS под ретро аппаратную клавиатуру (это которая даёт сразу ASCII-код).
И ещё остаётся проблема мыши в эмуляторах. К сожалению эмуляторы не поддерживают мышь. Я могу встроить поддержку мыши в свой MSDOS эмулятор ОРИОНА, но увы, своего эмулятора Специалиста у меня нет (лишь если очень прижмёт, то возьмусь переделать эмулятор ОРИОНА в эмулятор Специалиста, это не сложно, т.к лишь упрощать, - ломать, не строить).
Хотелось бы иметь в эмуляторах поддержку мыши ММ-8031 от Корвета, т.к она у меня есть. Это вот такая мышь. Паять контроллер PC-мыши с последовательным интерфейсом (из ж.Радиолюбитель) вручную очень утомительно, проще использовать мышь с параллельным интерфейсом.
Мышь ММ-8031 имеет параллельный вывод и её обслуга программно проста и не требует апп.прерываний. И это легко эмулировать в эмуляторе. При желании можно на микроконтроллере или на простом МП-ядре с Z80 сделать конвертор обычной PS/2 мыши в параллельный интерфейс в стандарте ММ-8031. Это будет не сложнее, чем трахаться с 580 ВВ51, ВИ53 и 170УП?? и вводить в Специалист прерывания.
Но работающее железо сейчас не нужно. Не на нём делать отладку, а в эмуляторе. И эмулятор Специалиста с нужной архитектурой и поддержкой дисковода мне удалось поиметь, но увы, поддержки мыши в нём нет. Дело пока стоИт из-за мыши и отсутствия графики.
Прикинул графику. От Apple-II и Commodore-64 иконы не понравились, лучше взять прототипом графику Макинтоша. Граф.редакторов на PC много, но не знаю как перевести их форматы файлов в формат экрана. В принципе получить графику можно и из эмуляторов ретро компьютеров, где есть GUI: с Макинтоша, Амиги, MSX. В хороших эмуляторах можно делать скрин-шоты, из которых можно взять элементы интерфейса. Но как их преобразовать в формат пригодный для использования в программах на Z80. С этим пока затык. Но т.к графика иконок очень проста, то думаю проще будет нарисовать самому, чтобы не надрываться изучая формат BMP.
Для первых версий ФМ не нужны большие доработки, можно ограничиться одной банкой ОЗУ в 64 кб. А для изготовления демо даже без дискового привода можно обойтись, используя бутафорию вместо DOS. Всё что надо ФМ получить от DOS для демо, это - каталог диска. Бутафорская имитация этого, - это расход всего в две сотни байт. Я так делал при разработке нортонов.
Вариант "открытия" ОЗУ в окне D000...F7FF худший вариант. Лучше открывать всё под-ПЗУ-шечное ОЗУ в 14К. Тогда м.быть и для стартовой версии ФМ, как и предполагал любитель пишущий GUI для Атари-800, на Специалисте, хватит всего 64К. При условии, что писать всё на ассемблере и не ограничиваться лишь освобождением ОЗУ в 14К, - понадобится задействовать и ПЗУ в 14К. Причём все 14К ПЗУ отдать своим кодам, выкинув оттуда всё от Специалиста. Для прогона программ Специалиста достаточно грузить ROM-BIOS из ROM-диска или ПЗУ (у меня так было сделано одно время).
Тогда в ПЗУ C000...F7FF размещается DOS и драйверы шрифта, а дополнительные 14К получаемые при отключении окна ПЗУ C000...F7FF (битом D7 порта F9) целиком идут для нужд ФМ. Такой трюк даёт 36+14= 50 кб ОЗУ и 14 кб ПЗУ. Этого может хватить для простой версии ФМ. А если не хватит, то оверлеи или графику можно упихать в ROM-диск (тогда на этапе отладки он д.быть из 62256 с батарейкой или флэш-аналог, т.е с быстрой и простой перезаписью, чтобы не тратить ресурс перезашивок УФ-ПЗУ 27256).
Работать с графикой конечно удобнее на ЯВУ. Но если часть кода писать на ЯВУ, то нужна другая архитектура. Если весь код реализующий GUI-интерфейс вместе с оконными буферами и TPA для DOS умещаются в видимое при доступном экране ОЗУ в 36К+14К, то это одна архитектура. При которой всё в одной банке. Но вряд-ли так выйдет хотя бы приемлемо. Крошечное TPA для DOS делает такую систему бесполезной. Лучше банку 0 целиком отдать GUI, а банку 1 целиком отдать DOS и её программам.
При написании части кода на ЯВУ нужна другая архитектура, позволяющая в каком-то окне при доступном экране прокачивать код, который работает с экраном, т.к в одной банке весь код из под ЯВУ не уместится. Этому требованию отвечает многостраничное ПЗУ C000...F7FF. Если применить 271024, то в 8-ми страницах по 14К влезет 112К кода. Тут нужен ЯВУ который генерит код для ПЗУ. Пока встречал лишь, что Паскаль МТ+ такое умеет. Пока мне надо лишь посмотреть на интерфейс, т.е вывести на экран картинку и погонять стрелку, а также брать мышью иконку и двигать её по экрану. Это можно сделать и на ЯВУ.
CP/M, кстати, плоха для GUI тем, что не позволяет длинных имён. Можно 9 символов упаковывать в 8 байтов CP/M-имени, если использовать 7-ми битовый код и уплотнять. Это даст 11 символов на имя и 1 байт под тип файла. В самодельной DOS можно иметь длинные имена, но в самодельной DOS нет редактора SuperText и вообще никаких программ.
Из текстовых драйверов понадобится жирный шрифт 8*8 и для него второй фонт прореженный. И ещё мелкий пропорциональный шрифт. Для GUI понадобится и текстовый графический интерфейс, т.е балка с командами и спускающиеся меню. Т.е горизонтальные и вертикальные меню.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: GUI для «Специалиста»
Посмотрим, что такое GUI:barsik wrote:Да нет там никакого GUI, прекратите заблуждать читателей. Там обычный текстовый графический интерфейс.Lavr wrote:Кстати, на том же форуме вы сказали, что не знакомы с RAMFOS для "Специалиста_МХ", поэтому излагать вам что-то про GUI этой ОС я здесь не считаю нужным.
Вот представлено изображение "кошерного" GUI для Специалиста:GUI — англ. graphical user interface (Графический интерфейс пользователя) —
разновидность пользовательского интерфейса, в котором элементы интерфейса,
представленные пользователю на дисплее, исполнены в виде графических изображений.
Также называется графической оболочкой управления.
Я считаю, что в файловой оболочке RAMFOS принципы GUI для компьютера сbarsik wrote:Ну а первые программы в граф.интерфейсе с текстовыми меню и выбором балкой подсветки были сделаны для Специалиста ещё лет за 5 до BP М.Бриджиди
ограниченными ресурсами и отсутствием манипулятора "мышь" реализованы
более глубоко, чем в какой-либо другой аналогичной системе.
В RAMFOS программно поддерживается концепция "окна": есть заголовок окна,
или "caption", куда выводится служебная информация и название программы,
и есть нижняя "строка состояния", куда выводится подсказка пользователю. Средствами ОС RAMFOS эти две строки при стирании экрана и скроллинге - не
стираются, стирание и скроллинг идут между ними.
То есть, программно поддерживается "пользовательская область" окна.
В файловом менеджере поддержан выбор графической "балкой", командной строки -
нет. Все привычные для "монитора" опции командной строки внесены в Debug.
Сам файловый менеджер не надо отрисовывать из программ пользователя, он
вызывается с помощью служебной функции RAMFOS.
Очевидно, что для компьютера без мыши всякие иконки, крестики и т.п. просто
не нужны - в "Специалисте" тыкать в них нечем, а значит, это просто излишество.
Но поддерживаемые функции GUI позволяют обеспечить для программ
пользователя единый интерфейс в стиле окна, где элементы окна отрисовывает
и поддерживает сама ОС, а не программа пользователя.
Написанные в таком стиле программы вынуждены быть "приложениями RAMFOS",
поскольку в Мониторах для "Специалиста" функций GUI - нет.
Поддержку обоих служебных строк RAMFOS можно отключить, дважды вызвав
стирание экрана кодом 1Fh функции 0F809H. После чего можно использовать
программы, работающие в полный экран.
Почему всё рисуется "псевдографикой"? Хотя реально в "Специалисте" весь
вывод на экран чисто графический. Авторы RAMFOS в описании на ОС утверждали,
что им удалось существенно переработать и значительно ускорить стандартную
функцию вывода на экран, поэтому быстрее отрисовка рамки псевдографикой.
Это похоже на правду, поскольку графическая рамка рисуется заметно медленнее. Хотя и она может быть, но RAMFOS её не поддерживает.
You do not have the required permissions to view the files attached to this post.
iLavr