Проект Turbo DOS + System Mini

Всё, что касается программирования на старых языках или для старых систем

Проект Turbo DOS + System Mini

Сообщение Prizrak » 09 окт 2024, 20:12

Здравствуйте, уважаемые форумцы! Пишет вам ITшник из Минска...

Я имел счастье некоторое время писать на cmd.exe и command.com. Это довольно удобные интерпретаторы, которые в скриптовом режиме позволяют создавать весьма сложные программы. В частности, есть самописные "менюшки" для dosbox'а, проект домашней бухгалтерии под Windows NT, которая умеет рисовать статистические графики в SVG, и почти законченная бетка игрушки про приключения средневекового рыцаря (осталось только несколько сцен дописать и отдать кому-нибудь на тестинг).

Потому, после долгой работы с этими платформами появилась идея пропатчить их, и довольно серьезно, для общей пользы. Почему бы не разработать свой вариант command.exe ( :D ), чтобы в нем были все возможности хотя бы компьютеров 1990-х: псевдографические менюшки, 16-цветов, элементарное звуковое сопровождение, расширенные возможности скриптового языка и т.д. Попробовал писать это на Turbo Pascal'е - выходит довольно симпатично, причем программка-то достаточно простая. Пока пишу режим командной строки, но она уже умеет очень многое, по сравнению с command.com и даже cmd.exe... Спасибо модулям CRT и DOS!.. :)

Следующий этап, как мне кажется: написать на том же Turbo Pascal'е графическую оболочку под DOS, которая могла бы поддерживать 800x600 и полный RGB. Подумалось, что основное графическое окружение тоже можно реализовывать в виде интерпретатора sysmini.exe, который будет создавать любые окошки и панельки по желанию пользователя на основе прилагаемых или самописных скриптов. Кажется, в эпоху массовости DOS'а такая концепция не была реализована.

Там ближе к концу саги, можно будет распотрошить какую-нибудь версию DOS'а и пропатчить ее необходимыми драйверами и системными утилитами (современные файловые системы, USB и т.д.) - на мой взгляд, получилась бы вполне перспективная разработка, которая могла бы иметь свою нишу. Во всяком случае, эта схема резко уменьшает количество фреймворков, необходимых для формирования достаточного программного окружения...

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

Максим Водопьянов
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение gudleifr » 09 окт 2024, 23:42

Prizrak писал(а):мнение
По мне главная проблема тут в том, что проектом могут заинтересоваться только люди примерно Вашего уровня программирования (те, что могут сделать примерно то же самое и сравнить). Более слабые точно так же не смогут воспользоваться, т.к. не поймут, а более сильным - быстрее пойти к своей цели напрямик. (Если, что, сам я пытаюсь понизить планку вхождения в программирование ниже плинтуса).
Эксперимент.
Пишу в темах либо нульпост, либо, если успеваю, первый ответ.
Остальное - в личку.
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1154
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 09:23

Приветствую, уважаемый gudleifr!
gudleifr писал(а):По мне главная проблема тут в том, что проектом могут заинтересоваться только люди примерно Вашего уровня программирования (те, что могут сделать примерно то же самое и сравнить). Более слабые точно так же не смогут воспользоваться, т.к. не поймут, а более сильным - быстрее пойти к своей цели напрямик. (Если, что, сам я пытаюсь понизить планку вхождения в программирование ниже плинтуса).

Так DOS-то остается DOS'ом, т.е. запуск скомпилированных программ по-прежнему возможен. ;) Что касается System Mini, то под него нужно, имхо, делать порт WINE'а и прививать старые Windows-программы. В перспективе, я задумывался и о создании транслятора-прокладки "Object Pascal, C & Basic for System Mini": это существенно расширило бы круг людей, способных писать софт для системы. В любом случае, новый диалект command как основа для программной среды - это скорее широкое решение, ибо его учило довольно много людей...
Последний раз редактировалось Prizrak 10 окт 2024, 16:05, всего редактировалось 1 раз.
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение oldpcfan82 » 10 окт 2024, 13:33

Prizrak писал(а):Я имел счастье некоторое время писать на cmd.exe и command.com.

Я тоже имел счастье см. Мой командный интерпретатор, а вот сам алгоритм тут в предпоследнем посте, там найдёте код, написанный мной примерно в начале 2000х г, для расщепления строки/разделение строки, и все результаты сохраняется в массив строк. Конечно это всё костыли, но эти костыли работают, мне учитель по программированию часто говорил, что у меня редундантный код. Полный код исполняет также как бы батники, только там расширение файлов int, что означает чтобы обрабатывал мой командный интерпретатор. Полный код работает как клиент-сервер, правда через COM-порт. Примеры работы с COM-портом я взял из книги "Секреты программирования игр". Вот так мне посоветовали на Си++ разделять строку см. https://otvet.mail.ru/question/238826830.
Аватара пользователя
oldpcfan82
Мастер Даунгрейда
 
Сообщения: 678
Зарегистрирован: 01 окт 2023, 22:57

Re: Проект Turbo DOS + System Mini

Сообщение gudleifr » 10 окт 2024, 13:35

Prizrak писал(а):...
Во-во! Человеку не Вашего круга такое даже с первого раза не прочесть.
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1154
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 15:10

oldpcfan82 писал(а):Я тоже имел счастье см. Мой командный интерпретатор, а вот сам алгоритм тут в предпоследнем посте, там найдёте код, написанный мной примерно в начале 2000х г, для расщепления строки/разделение строки, и все результаты сохраняется в массив строк. Конечно это всё костыли, но эти костыли работают, мне учитель по программированию часто говорил, что у меня редундантный код. Полный код исполняет также как бы батники, только там расширение файлов int, что означает чтобы обрабатывал мой командный интерпретатор. Полный код работает как клиент-сервер, правда через COM-порт. Примеры работы с COM-портом я взял из книги "Секреты программирования игр". Вот так мне посоветовали на Си++ разделять строку см. https://otvet.mail.ru/question/238826830.

С интересом посмотрю, когда будет свободный день... ;) А почему Вы решили использовать C для проекта? Какие у него преимущества в данном вопросе? Разбор строки-то и в Pascal'е выглядит довольно несложно, если конечно оператор синтаксис хоть какой-то соблюдает. Оригинальный command/cmd в плане отношения к строгости орфографии - достаточно вольный, но это скорее его недостаток, потому что в ряде других вопросов он же требует очень большой строгости...

У меня задача формулировалась просто сделать командный интерпретатор для DOS с нормальной псевдографикой и звуком для диалекта command/cmd. Pascal под эту цель, имхо, лучше подходит, чем C, так как к нему прилагается довольно удобный модуль CRT, который многое умеет по псевдографике и спикеру. На нем можно сделать, к примеру, музыкальный плеер, который будет играть, скажем, в равномерно темперированном строе монофонию любого набранного по нотам произведения. Т.е. фреймворковая ценность такого интерпретатора довольно перспективна, как мне кажется.

Что касается клиент-серверного функционала: а серверов на DOS еще осталось достаточно много по миру? :?: Мне казалось, там сейчас применяются в основном Линукс и Винда, причем специализированных редакций. В те-то времена сервер рабочей группы или небольшого узла интернета должен был выполнять немного функций - сейчас же на нем, зачастую, крутится множество приложений, и поэтому требуется не легкость и минимализм, а мощное железо и широкий функционал. Я ошибаюсь? :oops:
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 16:06

gudleifr писал(а):
Prizrak писал(а):...
Во-во! Человеку не Вашего круга такое даже с первого раза не прочесть.

Спасибо, что заметили описку!.. :D Исправил...
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение gudleifr » 10 окт 2024, 16:15

Ошибка здесь:

Prizrak писал(а):это существенно расширило бы круг людей, способных писать софт для системы.


Что за система? Какое место она занимает в том, что пользователь привык называть "компьютер"?
За счет кого конкретно Вы планируете расширить "круг"? За счет родственников, друзей, соседей, коллег по работе? Ответ "за счет Internet-сообщества" не принимается!!! Если только речь не идет о конкретном форуме (не социалке, например, типа поганых гитов и хабров).
Эксперимент.
Пишу в темах либо нульпост, либо, если успеваю, первый ответ.
Остальное - в личку.
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1154
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 16:35

gudleifr писал(а):Что за система? Какое место она занимает в том, что пользователь привык называть "компьютер"?
За счет кого конкретно Вы планируете расширить "круг"? За счет родственников, друзей, соседей, коллег по работе? Ответ "за счет Internet-сообщества" не принимается!!! Если только речь не идет о конкретном форуме (не социалке, например, типа поганых гитов и хабров).

А в чем смысл наезда? DOS - это принципиально модульная система, состоящая из конкретных программ. Запускаете command.exe - и у Вас прошаренный интерпретатор, который многое может. Запускаете скрипт с ключом /C - и у Вас приложение... System Mini - это предполагаемая графическая оболочка над DOS (т.е. я имею в виду, любым - его же не надо теперь в магазине на дискетах покупать) на основе такого же интерпретатора, который должен понимать другой диалект command - sysmini. Вы понимаете, как в cmd, к примеру, организуются процедуры и функции? Вы понимаете, что там есть дополнительный модуль? В чем смысл данного спора?

Что касается, распространенности конкретной программы - то лет 20-30 назад Линукс представлял из себя хохму для поклонников голого DOS'а, Юникса и Полуоси. Теперь же это - вполне удобоваримая и используемая система, существующая в разных вариантах, как домашних, так и рабочих, а также серверных. То, что она идет на моем ноутбуке довольно редкой модели и позволяет нормально запускать старые программы, вплоть до win16, в отличии от разрекламированных Виндов - говорит в ее пользу...

Притом, кто мешает пользоваться всеми остальными функциями DOS'а параллельно? Command.exe закроет для Вас возможность набрать cd nc или win? :|
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение uav » 10 окт 2024, 16:39

Prizrak, не обращайте внимание на gudleifr - он всегда общается в таком странном стиле...

А поводу изначальной идеи... Ну, дерзайте. Могу что-то потестировать.
Я правильно понял, первый этап - новый вариант command.com с расширенными возможностями? Что-то вроде 4DOS?
Последний раз редактировалось uav 10 окт 2024, 17:48, всего редактировалось 2 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 3247
Зарегистрирован: 22 дек 2008, 14:21

Re: Проект Turbo DOS + System Mini

Сообщение gudleifr » 10 окт 2024, 16:45

Prizrak писал(а):А в чем смысл наезда?
В том, что Вы пишете для себя. Употребляете выражения, которые никто не понимает за пределами Вашего круга. Причем, складывается впечатление, что и Вы сами их не понимаете.

Prizrak писал(а):то лет 20-30 назад Линукс представлял из себя хохму для поклонников голого DOS'а, Юникса и Полуоси. Теперь же это - вполне удобоваримая и используемая система
Опять же, за пределами Вашего круга - все наоборот.

И да, Вы, как и положено настоящему ИТ-шнику (т.е. игфоцыгану) полностью проигнорировали вопрос о реальной применимости Вашей "системы" реальными людьми.
Эксперимент.
Пишу в темах либо нульпост, либо, если успеваю, первый ответ.
Остальное - в личку.
Аватара пользователя
gudleifr
Мастер Даунгрейда
 
Сообщения: 1154
Зарегистрирован: 23 июн 2024, 15:14
Откуда: Питер

Re: Проект Turbo DOS + System Mini

Сообщение uav » 10 окт 2024, 17:10

gudleifr, Вас предупреждали по поводу оффтопика? Предупреждали. А тут ещё и оскорбления подъехали. Итого Вам - режим только для чтения во всех разделах, кроме подразделов "Другого" ("Флейм", "Прочее" и так далее).
Последний раз редактировалось uav 10 окт 2024, 17:11, всего редактировалось 2 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 3247
Зарегистрирован: 22 дек 2008, 14:21

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 17:12

gudleifr писал(а):В том, что Вы пишете для себя. Употребляете выражения, которые никто не понимает за пределами Вашего круга. Причем, складывается впечатление, что и Вы сами их не понимаете.

Смысл в том, имхо, что для применения программы - нужно, чтобы кто-то о ней знал. ;) Где еще, как не на форуме old-dos'а, рассказывать о своих проектах под DOS?

gudleifr писал(а):Опять же, за пределами Вашего круга - все наоборот.

Какого круга? :roll: Вы знаете, что многие программы, в том числе ставшие классическими, вроде старых Офисов или легендарных 3D игр 20-летней давности - зачастую гораздо лучше ведут себя под Линуксом, чем под Windows 10? Линукс в настоящее время ставится ровно тем же образом, как и другие нормальные системы: через загрузочный диск с инсталлом в графическом режиме. Если его не используют в Вашем кругу, то проблема, увы, не в Линуксе - а в том, что этому кругу широкие решения, судя по всему, вообще не интересны. По крайней мере, мое имхо такое...

gudleifr писал(а):И да, Вы, как и положено настоящему ИТ-шнику (т.е. игфоцыгану) полностью проигнорировали вопрос о реальной применимости Вашей "системы" реальными людьми.

Вы хотите меня оскорбить? Флеймить не стану... :( Реальные люди, в моем понимании - это либо домашнее и офисное применение, либо профессиональные решения. Вы хотите немедленного внедрения программы на смартфонах? Или внедрения в спецчастях дивизий, где из соображения несовместимости до сих пор используются чуть ли не ДВК и Ямахи? Или широкой рекламной кампании в соцсетях, на YouTube и Яндексе? Это, вообще-то, не IT - это бизнес-схемы "эффективных менеджеров"... ;) Как лично Вы видите немедленную применимость нового IT-проекта "в быту и животноводстве", если речь не идет о "попиле отката"?
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение Prizrak » 10 окт 2024, 17:26

uav писал(а):Prizrak, не обращайте внимание на gudleifr - он всегда общается в таком странном стиле...

А поводу изначальной идеи... Ну, дерзайте. Могу что-то потестировать.
Я правильно понял, первый этап - новый вариант command.com с расширенными возможностями? Что-то вроде 4DOS?

Да, сейчас пытаюсь сформировать интерпретатор командного режима. Он уже звуки спикера умеет выдавать по команде SND X,Y (где X - частота в герцах, а Y - длительность в миллисекундах), цветами текст раскрашивать, что полезно для всяких справочных файлов, да и для оболочки неплохо (ошибки - красным, приглашение командной строки - зеленым и желтым, и т.п.) - ну и т.д.

Библиотечные модули Pascal'я позволяют достаточно просто и эффективно управлять псевдографическим режимом монитора, поэтому я выбрал этот язык. Со временем, можно будет и порт под Windows сделать на Delphi, чтобы пользы от проекта было больше... :)

Там был просто концепт построить новую операционную систему от существующих модулей DOS'а, которые уже легально опубликованы и никому вроде бы не мешают в более современных разработках. Раньше никто этого не делал, насколько я понимаю, из соображений авторских прав и совместимости с компьютерами 1980-х - но теперь-то они уже не актуальны, можно слегка расслабиться...
Последний раз редактировалось Prizrak 10 окт 2024, 17:31, всего редактировалось 1 раз.
Аватара пользователя
Prizrak
Мастер Даунгрейда
 
Сообщения: 288
Зарегистрирован: 09 окт 2024, 19:20
Откуда: Минск
Железо: Ноутбук HP, планшетник Android

Re: Проект Turbo DOS + System Mini

Сообщение uav » 10 окт 2024, 17:38

В принципе, для расцвечивания текста и некоторых других целей раньше использовали ANSI.SYS - он много чего умеет.
Последний раз редактировалось uav 10 окт 2024, 17:55, всего редактировалось 3 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 3247
Зарегистрирован: 22 дек 2008, 14:21

След.

Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16