243

Разработка оболочки-проводника для DOS в 2017 году

Как показывает практика, комфорт существования динозавра человека при работе/игре под DOS складывается из всевозможных драйверов и утилит. Но даже когда мы подгрузим лишь такие необходимые драйвера как драйвер мышки, драйвер CDROM, драйвера звука/midi для звуковухи, русификатор, зайдем в старый добрый Norton Commander, доберемся до EXE/COM/BAT-файла любимой игры и запустим ее, то вместо игры можем увидеть, например, вот такую картину:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Я часто сталкивался с подобным. Из доступных 640 килобайт драйверами может быть забито 100 или даже 150-200 килобайт. Оболочка (norton, volkov и т.д.) после запуска игры тоже остается висеть в памяти и занимать драгоценное место. Да и игра может требовать не 530 килобайт, как King's Bounty выше, а 550 или даже все 600 килобайт.


"Надо что-то делать!" - подумал я. Понятное дело, надо чистить autoexec.bat и config.sys! Но и после чистки и ужимания объема запускаемых драйверов и резидентных прог, бывает, что всё равно не хватает каких-то там 10 килобайт для запуска игры.


Тогда надо выкинуть оболочку из памяти. Тот же Norton Commander занимаете около 10 килобайт лишней оперативы. Но без оболочки неудобно запускать игры. Ведь придется комбинацией команд cd и dir переходить по папкам и смотреть имя нужного EXE/COM/BAT-файла, которое потом вводить в консоль чтобы запустить игру.


И тогда пришла мысль: "Надо сделать такую оболочку, которая не будет занимать память вообще". Но такого не может быть. Разве что если завершить работу оболочки перед запуском игры. Но, к сожалению, функция DOS "запуск проги из другой проги" не дает возможности закрыть оболочку, а потом запустить EXE/COM/BAT-файл игры. Отсюда вытекает:


Необходимая фича оболочки №1

Запуск программы "из чистого DOS" без нахождения оболочки в памяти


Тогда остается один вариант запуска проги "из чистого DOS":

- выбрать папку с EXE/COM/BAT-файлом игры текущей папкой,

- завершить оболочку, написав напоследок на экране "введи имяфайла.exe для запуска этой игры".


Пользователю останется только ввести с экрана это имя и нажать Enter - и получится, что он достаточно легко запустил прогу из чистого DOS.


Необходимая фича оболочки №2

Легкораспространяемый единственный EXE-файл малого размера и с коротким именем.


В идеале это должна быть прога в виде единственного EXE-шника без сопутствующих файлов. Ее путь пользователь добавляет в PATH в autoexec.bat. И затем, если вдруг надо быстро запустить любимые проги, то одним вводом короткого имени EXE-файла оболочки запускает ее и дергает из под нее нужную прогу.


Название было выбрано "BlackStrip Shell" (т.е. "Оболочка BlackStrip"), а имя EXE-файла "bss.exe". В любое время вводим в досе "bss" - и мы тут же внутри оболочки.


Вперед!


Языком программирования был выбран знакомый с детства (и заброшенный там же в детстве) Visual Basic 1.0 for DOS - у него оконная среда программирования в текстовом режиме, есть поддержка работы с прерываниями через библиотеку vbdos.qlb, т.е. можно организовать работу с мышиным драйвером по int 33h, работу со стандартными DOS-функциями из int 21h и прочими прерываниями.


Т.к. делаем оболочку для небыстрых старых компов, а заодно хотим охватить большую аудиторию, то не будем использовать SVGA-видеорежимы, а возьмем 640х480х16 цветов. А это режим экрана "SCREEN 12".

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Хотелось сделать прогу с русским и английским интерфейсами, при это не зависеть от загруженного/незагруженного русификатора. Поэтому добавляем графический растровый шрифт, предварительно слитый с DOS системы (самый мелкий, моноширинный 8х8 пикселей). А т.к. кроме EXE никаких файлов быть у оболочки не должно, то суем шрифт прямо внутрь проги с помощью команд DATA (конечно не вручную, а с помощью отдельной написанной приблуды, перекодирующей побайтово любой файл в набор DATA команд). И будем грузить шрифт оттуда с помощью RESTORE.

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Программировать на VBDOS можно как на компе, так и на телефоне из под DOSBOX. Поэтому бОльшая часть кода (99%) была написана на телефоне.


Первые пробы написания шрифтом разного размера и жирности на синем "рабочем столе" оболочки:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Затем надо было придумать оконный менеджер. Не мудрствуя лукаво была сделана система, подозрительно похожая на Windows 95 по объемности компонентов. Вот окошко:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Потом кнопки и текст а ля "label". В углу планировалось рисовать большой значок открытого окна. Но потом от этого пришлось отказаться, не выпендриваться и рисовать его рядом с текстом заголовка окна.

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Кстати, размеры значков были выбраны 8х8 точек. В совокупности с мелким шрифтом 8х8 пикселей это давало иллюзию "большого экрана" при разрешении 640х480 точек.


Потом был добавлен компонент "поле ввода":

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Для иллюзии большого экрана надо было уменьшить все. Поэтому наряду со шрифтом и значками нужно было уменьшить мышиный курсор. Дефолтный курсор от драйвера был спрятан и заменен на значок 8х8 пикселей с "горячей точкой". В систему были добавлены 5 курсоров на все случаи жизни (курсор-крест так и не был нигде использован пока что).

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Окна, висящие в пустоте, смущали. Поэтому надо было добавить панель задач. Раз уж "blackstrip" это "черная полоса мужского пола", то оболочка-чернополос должна была иметь черную полосу. И панель задач была окрашена в черный. А в углу были добавлены электрические часы из пяти 7-сегментных индикаторов, средний из который никогда не использовался (сначала предполагалось выводить там что нибудь еще, но потом там стало выводиться только время).

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Сама система изнутри была похожа на Windows-систему. Бесконечный цикл, в ходе которого опрашивается клавиатура и мышь, а на происходящие события установлены обработчики. Поэтому при запуске в эту систему надо было напихать окошек с дочерними компонентами, а в бесконечном цикле вставить обработчик "если (фокус на кнопке А и был нажат пробел) или (мышка кликнула по кнопке А) - то делай то-то". И надо было это все расписать для всех окон и всех компонентов на них. Вот старый скрин из исходников, где уже можно было напихать при старте два окошка, на каждом из которых лежит по одной кнопке.

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

И на экране все это отображалось при работе оболочки так:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Оконная система работала и надо было писать внутренности самой оболочки. Т.к. главной задачей стояла задача "запустить прогу, вырубив оболочку", то надо было сваять файловый менеджер, позволяющий лазить по папкам и файлам и имеющий кнопки "запустить выделенный EXE из оболочки" и "запустить выделенный EXE из под DOS".


Прототип файлового менеджера:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Ну а потом все завертелось, и были написаны:

- сам файловый менеджер "Файлы",

- окошко "Память" отображения количества DOS-памяти в самой BSS (чтобы можно было понять - рыпаться ли запускать игру из BSS, либо ей точно не хватит памяти и игру запускать только из под DOS),

- окошко "Клавиатура" показа кода клавиши (для отладки BSS, а заодно и для заезжих DOS-программистов, которые, сидя в досе, м.б. захотят узнать какая клавиша на клаве какой имеет код, простой 1-байтовый или расширенный 2-байтовый),

- и окошко "Экран" настройки экрана, позволяющее выбрать соотношение сторон экрана 4:3 или 16:9 (при этом в 16:9 весь экран отображался также на 640х480, но BSS "думала" что экран 853x480, это позволяет на широкоэкранных ноутах видеть оболочку не с растянутыми по горизонтали компонентами, а с нормальными), выбрать тему (выпуклая типа win95 или плоская типа win10), язык интерфейса, а также ускорение отрисовки окон при их перемещении (при включенном ускорении задняя часть экрана за окном не перерисовается при перемещении окна мышью).

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

На панели задач были добавлены кнопки "Выключение оболочки", "Сеанс DOS", окно "Файлы", окно "Клавиатура", окно "Память", окно "Экран", разделитель, кнопки "Свернуть все окна", "Развернуть окно на весь экран", "Свернуть полноэкранное окно обратно".


Основная часть оболочки - файловый менеджер "Файлы", эдакий common dialog, имела следующие органы управления:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

- наверху подобие командной строки и кнопку перехода (для тех, кто не любит жать Enter). В нее можно ввести как путь (по которому оболочка переходит), так и еще и имя файла в конце пути (на которое перескочит курсор в списке файлов),

- поле с отображением реальной текущей папке (если ввели наверху бред, то текущая папка не изменится),

- список файлов со значками и именами,

- маска-фильтр списка файлов, например, "*.exe" покажет только exe файлы в текущей папке, а также кнопка сброса фильтра в "*.*",

- кнопка "Обновить" позволяет обновить список файлов (если есть подозрения, что какой нибудь резидентный софт что нибудь меняет),

- кнопка "Папка выше" (как и кнопка Влево на клаве) позволяет выйти из текущей папки на один уровень вверх,

- кнопки "Запуск из BSS" (с возвратом обратно в BSS по окончании запущенной проги) и "Запуск из DOS" (та самая фича закрытия оболочки и оставления пользователя в чистом досе с подсказкой "что ввести чтобы запустить"),

- поле ввода аргументов командной строки "Аргументы КС", которые будут переданы программе при запуске из BSS/из DOS, а также кнопка очистки этого поля,

- опции сортировки и отображения списка файлов. Сортировка по имени, дате, размеру, типу файла, группировка файлов отдельно и папок отдельно, инверсия списка и отображения информации в соответствии с типом сортировки (т.е. отображение даты, размера, типа файла),

- показ количества файлов/папок в списке.


Потом была добавлена возможность смены диска (кнопка правее командной строки или на клавиатуре кнопка "Влево" из корневого каталога диска).

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

И вот оболочка уже могла запускать игры хоть из самой себя (занимая при этом место в оперативе), хоть из чистого доса. Но этого было мало.


Меню запуска: ярлыки на DOS программы


Чтобы каждый раз не лезть к EXE хорошо бы было создать на него некоторое подобие ярлыка. Выбирать этот ярлык в меню и запускать по нему прогу (из оболочки или из доса). Так в оболочке родилось "меню запуска".


Для начала лезем в файловом менеджере к нужному EXE/COM/BAT-файлу, ставим на него курсор в списке файлов и жмем волшебную кнопку с ракетой, которая расположилась справа от командной строки в файловом менеджере рядом с кнопками перехода и смены диска.

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

После этого открывается окно меню запуска, где уже будут введены:

- название проги (по имени исполняемого файла),

- путь и имя исполняемого файла,

- номер значка для ярлыка,

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Можно поменять имя на любое (включая русскоязычное), добавить аргументы для командной строки, изменить значок на любой значок оболочки, а потом либо добавить ярлык в список, либо заменить выбранный в списке ярлык на ярлык с введенными параметрами.


По списку можно лазить кнопками "Вверх"-"Вниз" на клавиатуре или в окне справа. При нажатии на пункт списка он загружается в верхние поля. Таким образом, можно нажать на пункт списка, загрузить его параметры в верхние поля, исправить их, нажать кнопку "Заменить" и сохранить измененный ярлык поверх первоначального загруженного.


Также можно:

- удалить выделенный ярлык кнопкой "Удалить",

- сортировать ярлыки по имени в алфавитном порядке,

- сдвинуть текущий ярлык в списке вверх или вниз на одну позицию,

- запустить программу/игру по ярлыку из BSS или из DOS.


Но и этого было мало. Иногда хочется посмотреть на файлы, окружающие программу или игру. Почитать "ридми" там или посмотреть текстовые ресурсы проги.


Hex-редактор


Было добавлено еще одно окошко, позволяющее побайтово просматривать и редактировать файлы. Ставим в файловом менеджере курсор на файл и жмем справа от командной строки волшебную кнопку с колбой или просто пытаемся открыть по Enter неисполняемый файл. Открывается окно редактора:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

В этом окне можно:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

- изменить имя файла и загрузить его (например, если имя файла известно и без файлового менеджера или имена нескольких файлов отличаются номером типа file1.txt, file2.txt),

- включить "режим правки" (редактирования файла вместо только чтения) и режим "Далее по ENTER" перехода к следующему байту по нажатию Enter в поле кода/символа текущего байта,

- выбрать кодировку файла для просмотра и редактирования (DOS 866 или кириллическую Windows 1251),

- выбрать символ переноса для просмотра файла в текстовом виде (0D(13) или 0A(10)),

- посмотреть на "таблице из трех двойных кнопок" файл побайтово, изменяя текущее смещение на 1 по кнопкам "Вверх" и "Вниз" с клавиатуры или кликом по "таблице из кнопок",

- изменить смещение вручную или обнулить/увеличить/уменьшить текущее смещение на определенное количество байт в области "Переход",

- посмотреть и изменить код текущего байта или символ текущего байта (в соответствии с выбранной кодировкой),

- посмотреть кнопками "Текст" и "Коды" в поле предпросмотра файл с текущего смещения в виде текста или hex-кодов,

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

- посмотреть таблицу символов в соответствии с выбранной кодировкой и ввести символ в "Код:"/"Символ:" по клику на ячейку этой таблицы,

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост
Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

- перейти кнопкой "Ниже" к следующей странице при просмотре файла в виде текста или hex-кодов.

Конец


Получилась вот такая DOS-оболочка:

Разработка оболочки-проводника для DOS в 2017 году DOS, Оболочка, Shell, Visual basic, Qbasic, Длиннопост

Кнопки на панели задач аналогичны клавишам F1-F12. Поэтому, добавив в переменные среды path оболочку bss, и добавив единожды ярлыки на проги/игры в меню запуска, вызов любимой проги/игры из любой папки в DOS-е выглядит так:

1) bss [enter]

2) [F5] (вызов окна "Меню запуска")

3) Выбор проги в "Меню запуска" по [вверх][вниз]

4) [enter] для запуска из BSS либо [shift+enter] для запуска из под DOS (аналогичные сочетания работают и в окне файлового менеджера).


Скачать оболочку можно по адресу: http://blackstrip.ru/bss.exe (118 килобайт).


Запакована UPX-ом, при запуске разворачивается в память и занимает 270 килобайт.


Под досбоксом на андроиде работает хорошо, под досбоксом под виндой работает не очень (по Ctrl+F12 повысьте циклы до 20-30 тысяч), на настоящем досовском ноутбуке "Bliss 3070" 2000 года выпуска работает отлично.


Всем веселых игр под DOS.

Найдены дубликаты

102 комментария

по актуальности
+32

В 2017 прогать на qbasic из эмулятора запущенного в java машине на смартфоне.
Этот сударь знает толк в извращениях.

раскрыть ветку 6
+10

Это старкон2, запущенный в DosBox, под иксами в Дебиане, который запущен в VMWare, которая в WinXP

Ну и куда мне вопрос о неработающем звуке задавать?

раскрыть ветку 5
+4

Санитарам.

0
Если у вас реально все так работает то вам должно быть известно как это дебажить.
И да, winxp в 2017, такое себе.

Пс.
Досбокс и под винду есть, зачем там переход в linux вообще не ясно.
раскрыть ветку 3
+21
Ретрофутуризм какой-то.
Это круто.
Только зачем?
раскрыть ветку 2
-2

За этим: #comment_101015897

раскрыть ветку 1
0
Здорово!
Как вспомню запах 5ти дюймовых дискет, шуршание дисковода и черно-белый монитор.
Эх...

И да. Комп изучал по книге Фигурнова
+20
Ты заново изобрел виндовс 3.1?
раскрыть ветку 5
+6
PikaOS
раскрыть ветку 4
+12

PikabOS v. 49.5

раскрыть ветку 3
+30

некрофилией попахивает...

раскрыть ветку 1
+2
просто пикабушник из прошлого
+16

Достаточно все дрова забить в верхнюю память и всё потянет (по моему прописывал так)

config.sys:

DEVICE=C:\WINDOWS\HIMEM.SYS /shadow:on

DEVICE=C:\WINDOWS\EMM386.EXE

DEVICEHIGH=C:\DN\ANSI.SYS

DOS=HIGH,UMB

DEVICEHIGH /L:1=\CPQDOS\CPQIDECD.SYS /D:IDECD001 {сидюк}

FILESHIGH=80

BUFFERSHIGH=40,4

FCBSHIGH=10

SWITCHES=/F


autoexec.bat:

SET BLASTER=A220 I5 D1 T4 {- звук}

LH C:\DOS\MSCDEX.EXE /D:IDECD001 /L:E {- драйвер сидюка}

LH C:\WINDOWS\COMMAND\DOSKEY {- драйвер руссификатор}

LH C:\DOS\MOUSE.COM /L=GB {- драйвер мыши}

C:\DN\DN.COM {файловый менеджер Дос-Навигатор}

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

QEMM и сидишь, подбираешь паззлик, в каком порядке и кого заслать наверх. Да еще мультиконфиг: это для игрушек, это для работы..

раскрыть ветку 2
0
Как раз хотел упомянуть старый добрый QEMM
0

Ну да, выбор был. Но один раз скомпоновал и для большинства задач хватало, по крайней мере ни одна игра не требовала больше. У меня с дровами kmouse, kbr, sscd (самсунг) в оболочке ДосНавигатор свободной EMS было больше 600кБайт. Даже 3dStudio 4R запускал без проблем. Ближе к 95-96 году проги начали ругаться на нехватку RAM но не EMS :)

+1
Как в анекдоте: "ну или так"
+17
Линукс линукс... Человек на досе сидит! И серьезно так сидит. Офигеть блин.
раскрыть ветку 6
+7

У нас половина предприятий ЖКХ сидит на FoxPro.

раскрыть ветку 2
0

Ага, причем не на VFP, а на старом до 2.7 FP

раскрыть ветку 1
+3

ждем, когда какой-нибудь пикабушник откопает на чердаке Спектрум

раскрыть ветку 1
0

LOAD "" - и пиииии...

0

И грузится быстрее любой ОС, хоть на HDD, хоть на SSD.

+6

Что за привычка не читать мануалы-то?

Loadhigh чем не устроила? ))

Лови_некрофила.jpg


А так молодца, да

Лови, автор, плюсцов за написание windows 1.0.... ну и за kingsbounty

Иллюстрация к комментарию
Иллюстрация к комментарию
+4

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

Делаем вот такой "рабочий" батник:


c:\tool\nc\nc

c:\tool\launcher\launch.bat


а в нортоне для ф2шного меню делаем команду (хоть внешнюю программу запускаем), которая пишет в c:\tool\launcher\launch.bat текст по шаблону (идентификаторы пишу от балды, ибо не помню уже ничего)


cd %%currentfolder%%

%%currentfile%%


и всё. Запустили батник - запустился нортон - навели на нужный файл (например c:\games\tyrian\tyr.exe) - F2 - обновить launch.bat - F10 - выгрузился нортон, запустился файл, система перешла в папку где был файл, который мы выбрали(cd \games\tyrian), система запустила этот файл (tyr.exe). Никакого изврата.

раскрыть ветку 6
+1
Мне кажется кто под досом сидит тот и с помощью cd и dir быстро дойдет до файла
0

Можно перед завершением сунуть коды клавиш в клавиатурный буфер, запуск файла будет выполнен. По сути DOS "наберет" команду за Вас.

раскрыть ветку 3
0

для этого по-моему уже придется резиденту в память вешать, чтобы из-под оболочки это дело вызвать. Мне помнится, что если это будет делать отдельная обычная программа, клавиатурный буфер будет пуст к моменту возвращения в оболочку.

раскрыть ветку 1
-1
интересная идея)
-1

Плюсую неистово, так как при постановке задачи сразу же пришло в голову решение просто через BAT-файл и никак иначе, дальше пост и читать не стал про баян козе.

+5
Демоны! Демоны! ХЕ 10 Берлин наше всё)
+2

Тогда надо выкинуть оболочку из памяти. Тот же Norton Commander занимаете около 10 килобайт лишней оперативы. Но без оболочки неудобно запускать игры.

Пишешь в батнике

c:\nc\ncexit.exe

c:\games\game\game.exe

c:\nc\nc.exe


И все дела. NCexit именно для этого в каталог с Нортоном и была положена.

раскрыть ветку 3
-1

Да можно просто из нортона выйти на крайняк. Но в BSS тебе еще подсказку напишут что вводить. Вот про это уже писал: #comment_101003750

Иллюстрация к комментарию
раскрыть ветку 2
+1

Ты не понял. Задача была какая? Пральна, выйти из нортона так, чтобы не выходить из нортона. Вот для этого ncexit и был придуман. Это по сути такая команда, которая выгружает NC.


Соответственно, один раз пишешь для игры батник, в котором сперва запускается ncexit, он выгружает NC из памяти, затем запускается сама игра, а после выхода из игры обратно стартует nc. Все! Выглядит это так, как будто ты из нортона и не выходил. И не надо ничего печатать в командной строке.


ПС: Но сама идея написать свой виндовс только для того, чтобы поиграть в Kings Bounty, конечно, конечно, не может не нравиться. :)


ППС: Если не путаю, в автоэкзеке при удаче срабатывало даже LH nc.exe. Но это не точно.

раскрыть ветку 1
+2
Нихуя не понял, но плюсик поставил)
+2

Сразу видно ламака. Накой мелкие создавали утилиту MEMMAKER.EXE или хороший набор QEMM не знаешь? После них будет более 620 кБ оперативы. Надо высвободить Нортон - пожалуйста — "ncexit.com f-19.com"

раскрыть ветку 13
+1
Ну тут уже много путей по растаскиванию прог в памяти в ее верхнюю часть (до 1 мбайта) написали. В основном это все утилиты из доса. А моей 100 кбайтовой оболочке не нужны никакие утилиты, голая форматированная загрузочная системная дискета с коммандкомомом и оболочкой на ней - и вперед, в графическом оконном режиме можно лазить по фс, читать файлы, запускать проги из оболочки/из чистого доса и создавать на них ярлыки. А дополнительно уже использовать свободно любые пути, включая меммейкеры и пр. проги. Одно другого не исключает, они дополняют друг друга.
раскрыть ветку 12
0
-> из чистого доса и создавать на них ярлыки.


Говорю же — ты ламак.


autoexec.bat:

@Echo off

:Menu

Echo **************************

Echo *  1 - King's Bounty                *

Echo *  2 - F29 Retaliator              *

Echo *  3 - Test Drive 2: The Duel  *

Echo  *************************

Choice /C 123

if errorlevel 3 goto TD

if errorlevel 2 goto F29

if errorlevel 1 goto KB

goto Menu


:TD

cd c:\games\td2

duel.com

goto menu


:F29

cd c:\retal

retal.exe

goto menu


:kb

cd c:\games\kb

kb.com

goto menu

раскрыть ветку 11
+2
Сука, прочитал все это вслух и вызвал Сатану >:D
+1

Из доступных 640 килобайт драйверами может быть забито 100 или даже 150-200 килобайт. Оболочка (norton, volkov и т.д.) после запуска игры тоже остается висеть в памяти и занимать драгоценное место.

при запуске разворачивается в память и занимает 270 килобайт.

Это успех.

раскрыть ветку 3
-2
ну все что в 300 кбайт оставшихся влезет - можно запускать из оболочки (я в transport tycoon deluxe так играю), а все остальное только по кнопке "запуск из dos"
раскрыть ветку 2
0

а выходить из оболочки перед запуском игры не вариант?

раскрыть ветку 1
+1
Эээ... любое действие должно иметь смысл. Сложно понять, зачем это 20 лет спустя.
раскрыть ветку 4
0
Многие сегодня (и я не исключение) предпочитают живой DOS-комп эмулятору типа DosBox. В таком компе все настоящее, не эмулируемое, а реальное, поэтому у него наибольшая совместимость со всеми старыми играми. На таком компе можно поиграть от души, а эта оболочка делает на таком компе графический интерфейс с возможностью быстрого запуска программ из чистого доса, это удобно, запустил, нажал пару кнопок и тут же играй.
раскрыть ветку 1
+1
А по мне так круто. Я вот давеча ноут древний купил за 300 рублев, уже практически восстановил и даже ide hdd 2.5 на 80 гигов неюзаный нашел. Все думал что туда установить для старых дос игр. Решил уже голый дос. А тут прям оболочку подогнали. Спасибо. Попробую. )
0
Это как трахнуть одноклассницу.
раскрыть ветку 1
0

в 70 лет

+1
И написано без мата
+1

270k? Чувак, выкинь говнобейсик и прочитай про DOS функции для TSR, там всё просто и 1к хватит, этим всё сказано.

раскрыть ветку 3
-2

Ну там 1к, а у меня 0к (при запуске прог/игр из чистого доса) =) Все равно что-то висящее в памяти оставлять придется. А если еще окошки хочется и легкий обзор файлов в досе - то вообще никуда не денешься.

раскрыть ветку 2
+1

Я про то, что можно иметь 1к и не выходить до конца никогда. Ну а 270 уже размер большой игры, не то что...

раскрыть ветку 1
+1

круто


у меня тут вопрос, не по теме - вот есть виртуалка, которую было бы неплохо подключить к интернету. но в ethernet внутренняя система не может, зато может в serial

соотв. вопрос, можно ли на хостовой Linux-системе сделать что-то вроде сервера, что раздавал бы интернет на виртуальный ком-порт, или как-то ещё перенаправить трафик?...

раскрыть ветку 5
+2

"можно ли на хостовой Linux-системе сделать что-то вроде сервера" - можно

-1

"но в ethernet внутренняя система не может" что за внутренняя  система? "зато может в serial" а это что?

раскрыть ветку 3
0

UNIX древний. может в SLIP. slipattach команда присутствует. как поднять на линуксе SLIP сервер, пока выяснить не удалось (подходящих пакетов в репозиториях не наблюдается)

раскрыть ветку 2
0

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


что за шаманьи пляски? Ради чего?

раскрыть ветку 2
0

у меня память херовая, видимо, я бывает имя файла в формате 8+3 забываю как из нортона выйду =)

раскрыть ветку 1
0

Да скажи, что сделал потому, что могу или захотел) Память у него плохая...Оболочку написать хватило) Я бы просто карандаш с бумагой рядом держал в случае плохой памяти, но никак не ЭТО)

0

Была же тулза там которая память освобождала как-то...

Об извращениях.

Помню собирал я себе свой первый комп из говна и палок, на новый денег не было у школьника.

Купил все и собрал на коленке, кроме винта, но уже хотелось что-то делать, играть. Грузился в дос с дискеты, создавал рамдрайв, туда с пачки дискет грузил дум2 и шпилил в него. Радовала молниеносная загрузка уровней. Круто было.

0
Просто как идея: поверх уже имеющейся оконной системы запилить браузер с css, html4 и вкладками - тогда тебе будет почетное звание "автор первого многовкладочного браузера под DOS". А по 640кб на все - можно использовать костыль в виде swap-файла.
Заодно срубишь плюсов ещё и на Хабре)
0
Но ведь есть досбокс
раскрыть ветку 1
-1
0

досбокс поддерживает командные файлы на запуск...

раскрыть ветку 6
0
раскрыть ветку 5
0

не видел никаких проблем с использованием досбокса

С чем у него несовместимость?

раскрыть ветку 4
0
А чем дос навигатор не устраивает?
раскрыть ветку 2
-2

Любая оболочка занимает память если ее не выгрузить. В этой оболочке процесс ее выгружения из памяти, переноса юзера в папку с игрой и последующей подсказки "что вводить чтобы запустить" облегчает процесс запуска игр из чистого доса.

раскрыть ветку 1
0
Да, всё так. Но изначально речь шла о том, что Нортон занимает много памяти. Же, если память не изменяет кушал всего 1 КБ и не верещал
0

Я даже поробую запустить на 486, там оно лагать не сможет по определению. (486DX4/512bk video/32MB RAM)

0

Один вопрос. Зачем?

раскрыть ветку 2
+3
Затем
0

Чтобы запускать игры из чистого доса, при этом легко добираясь до exe-файла игры и даже запуская ее по созданному ярлыку. Подробнее: #comment_101015897

0

некрохобби?

-1

крутизна!

Похожие посты
Похожие посты не найдены. Возможно, вас заинтересуют другие посты по тегам: