LINUX.ORG.RU

DOS Navigator портирован на Linux

 , , , turbo vision,


1

2

Разработчик @unxed, неоднократно предпринимавший попытки запустить двухпанельный файловый менеджер DOS Navigator под Linux, добился, наконец, успеха. Для решения проблемы лицензионной чистоты встроенная модифицированная библиотека Turbo Vision для Паскаля, никогда не публиковавшаяся под открытой лицензией, была заменена на рерайт современного форка доступной легально C++-версии, с переходом на UTF-8 и современную классовую архитектуру взамен характерной для TV, но практически не применяющейся сегодня, объектной.

Заявлена работоспособность базовых функций, таких как навигация по панелям и копирование файлов.

Для поддержки UTF-8 в DOS-сборках применяется специально разработанный для этого DOS UTF8 API, уже добавленный в DOSBox-X.

Отдельно стоит отметить порт на Linux Volkov Commander, предпринятый этим же разработчиком. Используется простой эмулятор 8088. Вывод рисуется в консоль за счёт скрейпинга видеопамяти текстового режима по аналогии с тем, как WinPTY скрейпил консоль Windows.

>>> DOS Navigator 1.20



Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 3)
Ответ на: комментарий от anc

Это в каком году

Вторая половина 70-х, если не ошибаюсь. Тогда паровозы уже не ходили, но кое на каких участках иногда могли использоваться, как видно.

alash ★
()
Ответ на: комментарий от alash

Да, тогда ещё можно было и на паровозе покататься при случае.

anc ★★★★★
()

собрал, запустил - ощущения неописуемы!

дорабатывать есть куда (еще не разбирался, вопросы/предложения по ходу)
- сделать настройку кол-ва столбцов (в мс привык к 2м строкам да и по делу/удобству надобно 2 строки)
- реакцию аналогично мс (например, битая ссылка в мс показыватся красным цветом с префиксом !)
- показ каталогов/файлов, начинающихся с точки
- не нашел иконки (для desktop-файла)
- ну, понятно дело, убрать название диска из пути

C:\dev\shm\...

- падает menu/Options/Configuration/Interface

Fatal Error
-----------
Exception 000h at address 00554A24
Access violation
Please report to https://github.com/unxed/dn
( file \home\xxx\bin\dn-2026.10.07\dn.err )

cat dn.err 
-->
DN/2 2.20 alpha/Linux x86_64 build nightly compiled 2026-10-07 01:37:18 UTC
Access violation
Exception at addr 00554A24

(если руки доберуться до поковырять, добавлю мымсли)

p.s. спасибо!!! прям с тремя восклицательными :о)

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 8)
Ответ на: комментарий от wandrien

IDE на асме:
https://habr.com/ru/companies/agima/posts/1091218/

Rhun — open-source редактор кода, написанный на ассемблере. Уже этого достаточно, чтобы посмотреть на проект не как на ещё одну замену привычной IDE

anc ★★★★★
()
Ответ на: комментарий от alash

это наверное сильно давно было

и на каком участке? уже на Бамовском после Тайшета? до Чуны поди было?
большое паровозное депо было именно в Тайшете

mumpster ★★★★★
()
Последнее исправление: mumpster (всего исправлений: 1)
Ответ на: комментарий от Shadow

если не вообще в построчном ed ))))
ибо K52 не везде возможен был, терминал должен был поддерживать позиционирование, т.е. vt52/100 как минимум

mumpster ★★★★★
()
Ответ на: комментарий от wandrien

На PDP-11 скорее программируемые макро-редакторы были, это у которых надо команды вводить, похожие на то, как если бы кот погулял по клавиатуре.

рукалицо! сам-то работал на ей? «меры ты не знаешь» явно )))))

я-то - да. нормально там было с экранными редакторами если у тя нормальный терминал был

mumpster ★★★★★
()
Ответ на: комментарий от sunjob

сделать настройку кол-ва столбцов
(в мс привык к 2м строкам да и по делу/удобству надобно 2 строки)

речь, конечно-же, о 2х столбцах на каждое окно ... запечатался весь...

sunjob ★★★★★
()
Ответ на: комментарий от Shadow

за 20 лет - т.е. когда уже были microPDP11 успели много на ваят

в начале 80ых в целом была мода на структурные редакторы - т.е. нечно жясткое меню ориентированное -по месту курсора опции ибо правильная программа по определению регулярна

qulinxao3 ★☆
()
Ответ на: комментарий от wandrien

F9 -> Edit -> Copy.
Переместил курсор.
F9 -> Edit -> Paste.
Результат: ничего не вставилось, пусто.

Вот об этом и речь. Такое впечатление, что программисты, которые пишут ПО, не пользуются этим ПО.

Xintrea ★★★★★
()
Ответ на: комментарий от sunjob

можно подробнее

Да вот, пожалуйста:

https://github.com/elfmz/far2l/issues/2781

Ничего не решили, и забили. По ссылкам там другие похожие проблемы.

Я периодически пробую разные far, везде в редакторе феерические глюки.

$ ls -la | grep far2l
drwxr-xr-x 17 xi xi 4096 окт 7 09:58 far2l
drwxr-xr-x 29 xi xi 4096 окт 31 2022 far2l-20221031-1
drwxr-xr-x 33 xi xi 4096 дек 18 2024 far2l-20240118-1
drwxr-xr-x 2 xi xi 4096 июн 18 2025 far2l-2.5.3-beta
drwxr-xr-x 3 xi xi 4096 июн 18 2025 far2l-2.6.5-beta

Пятый раз раз ставить far2l и в очередной раз убедиться что что-то доделали при этом что-то разломали, нет никакого желания. Под Windows far - прекрасная программа, к ней вообще никаких вопросов нет. Но под Linux - это какой-то цирк шапито.

Xintrea ★★★★★
()
Ответ на: комментарий от sunjob

Сейчас попытался собрать последнюю актуальную версию 2.9.0 beta для far2l, но сборка не идет. Разбираться что там опять разломали, нет ни времени, ни желания:

$ cmake -DUSEWX=yes -DUSEUCD=no -DCMAKE_BUILD_TYPE=Release ..
...
-- Generating done

$ cmake --build . -j$(nproc --all)
gmake[2]: *** Нет правила для сборки цели «/home/xi/work/develop/cpp/far2l_build/far2l/changelog.md», требуемой для «DE/io.github.elfmz.far2l.metainfo.xml».  Останов.
gmake[1]: *** [CMakeFiles/Makefile2:128: CMakeFiles/Far2lMetainfo.dir/all] Ошибка 2
gmake[1]: *** Ожидание завершения заданий…
[  2%] generating help Ukr
[  2%] generating language template
[  2%] generating help Eng
[  3%] generating help Hun
[  3%] generating help Rus
Use of uninitialized value $minor in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $minor in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $patch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $patch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $arch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $arch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $minor in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $patch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $arch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $minor in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $patch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $arch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $minor in substitution (s///) at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 27, <STDIN> line 63.
Use of uninitialized value $patch in substitution (s///) at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 28, <STDIN> line 63.
Use of uninitialized value $minor in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $patch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
Use of uninitialized value $arch in concatenation (.) or string at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/far2l_m4.pl line 11.
[  3%] generating languages
Updating lang.inc
generating version information
Bad args at /home/xi/work/develop/cpp/far2l_build/far2l/bootstrap/scripts/farver.pl line 11.
gmake[2]: *** [bootstrap/CMakeFiles/bootstrap.dir/build.make:110: bootstrap] Ошибка 255
gmake[1]: *** [CMakeFiles/Makefile2:154: bootstrap/CMakeFiles/bootstrap.dir/all] Ошибка 2
gmake: *** [Makefile:136: all] Ошибка 2


Так что сами, сами, без меня.

Xintrea ★★★★★
()
Последнее исправление: Xintrea (всего исправлений: 2)
Ответ на: комментарий от anc

Консольный клиент дельтачата потребовал при сборке 8 гигов памяти, недоделанный графический состоящий из списка сообщений и одной кнопки «отправить» уже 12. Так что можно и не с 95й виндой сравнивать

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от unxed

Получится ли запустить Dos Navigator на платформах ARM и RISC-V? Если написано на паскале, как там сейчас с возможностями компилятора, куда он может собирать код? Несколько лет назад писали что они теперь поддерживают таргеты от более продвинутых в этом плане компиляторов

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от sunjob

Exception at addr 00554A24

Так адреса на 64 битных машинах выглядят, когда печатаются, как unsigned int. Или у вас 32битный хост?

Боюсь, DN приболеет на 64 битной архитектуре.

vvb333007
()

Btw, уже давно есть свободный рерайт turbo vision на одном языке, название которого начинается на R. Странно, что автор не пошел этим путем.

Minoru ★★★
()
Ответ на: комментарий от Xintrea

Я вчера поставил распиаренный mcommander, влетел в кучу багов, написал в ветку: Форк Midnight Commander c поддержкой панельных плагинов (комментарий)

Ответ: «а предложение какое?»

Ну хз… баги исправить например? Не годится?

С такой обратной связью - брать самому в руки редактор и компилятор, да и вообще следить дальше за судьбой проекта, желания никакого нет.

wandrien ★★★★
()
Ответ на: комментарий от Xintrea

Под Windows far - прекрасная программа, к ней вообще никаких вопросов нет.
Но под Linux - это какой-то цирк шапито.

1. портирована (а не написана с нуля)
2. времени прошло еще очень мало
будем надеяться что со временем починят. так-то реально хороший инстрУмент!

sunjob ★★★★★
()

Господа, а как называлась оболочка под DOS от IBM? Она была не совсем двухпанельник, но тоже состояла из псевдографики. Помню в названии было что-то PC..? Давно уже вертится на языке, никак не вспомню.

VIT ★★★
()
Ответ на: комментарий от Xintrea

попытался собрать последнюю актуальную версию 2.9.0 beta для far2l

Пробуй из мастера, смысл для тестов собирать номерную ветку? У меня собралось из мастера. Правда проверять что-либо пока нет времени, работа.

wandrien ★★★★
()
Ответ на: комментарий от Xintrea

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

- Slackware 15.0
- TDE/Trinity 14.0.13
- far2l-2025.05.29-x86_64-sl15.0 (дата-закачки "текущего-мастера" с гит-хаба)
- python2-2.7.18-x86_64-4
- python3-3.9.18-x86_64-1

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 3)
Ответ на: комментарий от vvb333007
Linux book.home 5.15.161 #1 SMP PREEMPT Sun Jun 16 15:55:06 CDT 2024 x86_64 Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz GenuineIntel GNU/Linux
sunjob ★★★★★
()
Ответ на: комментарий от VIT

ии молчит человечим голосом:

PC Shell.
Это была оболочка (файловый менеджер) для DOS, входившая в состав пакета утилит PC Tools, который разрабатывала компания Central Point Software

ну или «я не знаю» :о)

sunjob ★★★★★
()
Ответ на: комментарий от sunjob

Меня уже здесь заподозрили в чрезмерном использовании ИИ, поэтому оставим. PCTools что то отдалено rings the bell, но может быть, вот не помню. Интересная была штуковина.

VIT ★★★
()
Ответ на: комментарий от mittorn

Да, «чутка» побольше :) во времена выхода 95-ой память как-то всё больше в мегабайтах измеряли.

anc ★★★★★
()
Ответ на: комментарий от wandrien

DOS Shell - это микрософт-приблуда. Я уже не помню почему, но ей мало кто пользовался. Я именно про IBM shell, но не их версию DOS.

VIT ★★★
()
Ответ на: комментарий от VIT

ну тогда IBM PC DOS Shell :o) ... или я чур не знаю!

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от Xintrea

последний релиз собрался (но с небольшими особенностями)
пришлось после «ошибки» добить сборку до 100%

cmake --build . -j1

sunjob ★★★★★
()
Ответ на: комментарий от sunjob

IBM PC DOS Shell

Чё за хрень, почему не знаю?

Да бог с ним, надо флопаки достать да загрузить. У меня в подвале до сих пор и MS-DOS 3.3, и DR DOS 6.0 и PC DOS 5.0 валяются нежно и заботливо хранятся. Там точно есть.

VIT ★★★
()
Последнее исправление: VIT (всего исправлений: 1)
Ответ на: комментарий от VIT

у вас в детстве были игрушки!!!

квн, уральские пельмени

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от sunjob

Мы просто двигали ковши от бульдозера, и так играли. Ну ладно прикалываться, там всё таки Свердловск, столица Урала. А вы не были на Гаити? Я был, Челябинск плакал.

VIT ★★★
()
Ответ на: комментарий от VIT

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

sunjob ★★★★★
()
Ответ на: комментарий от sunjob

Я очень жалею, что не слежу. Расстояния. Повестка всё таки есть, несмотря на возгласы некоторых местных. Но стараюсь быть в курсе жизни Перми, Свердловска, Тюмени, Новосибирска, Томска, и Красноярска, тому, что дорого.

VIT ★★★
()
Ответ на: комментарий от alash

Вторая половина 70-х, если не ошибаюсь.

Даже в начале 90-х на станции Дивово под Рязанью с противоположной от вокзала стороны было несколько запасных путей, на которых стояли (на беглый взгляд, во вполне ухоженном состоянии) несколько десятков паровозов. Видимо, на случай войны или глобального катаклизма. По самой же линии к тому моменту давно уже бегали электровозы и электрички.

Потом исчезли и сами паровозы, и пути. Бесследно. Станцию красиво отделали, поставили памятник Есенину (поэт, приезжая на родину в Константиново, выходил именно здесь). А паровозов больше нет.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Очень может быть. Может в мысли засело имя исполняемого файла, а детали стёрлись, PC Tools похоже на правду. Необычная была вещь по сегодняшним меркам.

VIT ★★★
()
Ответ на: комментарий от I-Love-Microsoft

Это недовычищенное. Будет платформенным, конечно. Я в процессе.

unxed
() автор топика
Ответ на: комментарий от Hiddenman

На опеннете очень токсично нынче. Если я чего не заметил, кидайте тикет!

unxed
() автор топика
Ответ на: комментарий от GPFault

Исходники думаю они не показывают, потому что там код борландовский. Если нужен двухпанельник под Haiku, посмотрите ридми ф4, я портировал недавно

unxed
() автор топика
Ответ на: комментарий от alash

Специально для такого в каждом вагоне свой генератор от колес.

unxed
() автор топика
Ответ на: комментарий от wandrien

Я уже сделал на 40, и собираюсь ужать сильнее.

Треть этих 102 это всякие либы для облаков вроде aws.

Потом может в плагины вытащу

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