Сетевой аудиопроигрыватель из старого компа.

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Достался мне старый полуубитый комп с Интеловским процессором, а-ля 60...533 МГц.
Процессор какой-то нестандартный, по крайней мере первый раз такие вижу. Он запаян на плату, которая потом вставляется в материнку.
Имелась в нём старая 16-битная звуковуха под ISA слот, ОЗУ - SDRAM 32MB, примитивная видеокарта под PCI, HDD на 8 ГБ и Флопповод. Всё думал, что с ним делать. Думал на запчасти пустить... И наконец придумал. Попробовать поставить DOS и проиграть от туда аудиофайл.
Откопал в сети проигрыватель для ДОСа - MPXPLAYER и парочку файлов для его корректного запуска. Это dos4gw.exe и dos4fix.com. Форматнул HDD под FAT32 и поставил всё это добро туда. Ещё закинул пару аудиофайлов. Запустил и чудо: музыка заиграла. Дрова для звуковухи не потребовались. :)
Что удивило - это то, что качество воспроизведения на слух совсем не испортилось. :)
Заглянул в файл настроек проигрывателя и обнаружил там кучу фич: Вывод названия трека\исполнителя\альбома на внешний LCD дисплей, подключаемый к LPT или COM порту.
Управление с джойстика или с того-же COM порта, причём там можно задать байты команд.
Интерфейс для DOS тоже неплохой.
Ну ладно - это мелочи. Захотелось мне сетевой проигрыватель, который будет воспроизводить музыку с сетевого диска или с сервера с расшаренными папками. Начал с приобретения Ethernet сетевушки под PCI и поиска утилит для работы с сетями в DOSе. Утилита нашлась. Это универсальная загрузочная дискета NETBOOTDISK скачанная откуда-то (уже не помню)
Установил сетевуху, загрузился с этой дискеты, настроил там всё и получил IP от DHCP своего роутера. На рабочем компе расшарил 2 папки - одна с музыкой, другая с проигрывателем.
В ДОСе отметил имя компа, к которому надо было подключиться и подключил эти две папки как сетевые диски. На дискете переписал скрипт на автозагрузку проигрывателя из сетевого диска.
Всё заработало, но только вот не все аудиофайлы видны из сети. В принципе мне осталось справиться с этим из программной части. То есть какие кодировки символов нужны, чтобы нормально увидеть все файлы? Юникод? Или CP1251? Поддержку длинных имён в ДОСе я добавил. Поддержку NTFS тоже. Поддержку кириллицы тоже добавил. Начинаю грешить на сетевую утилиту. Какие есть у вас соображения по этому поводу?

ЗЫ: Скриншот проигрывателя запущенного в виртуальной машине:
Изображение
Вложения
SCREEN.png
(34.99 КБ) 1438 скачиваний
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Сообщение radteh »

Если вы про не коректное отображение имён файлов, то по скриншоту похоже на то что плеер отображает в KOI-8r, а загружает в CP1251.
Просто для справки: у процессора разъём называется Slot, были такие у Pentium 1 и 2. На таком железе даже винда 95 и 98 пойдёт. Сборку линукса не пробовали ставить на это железо?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 16545
Зарегистрирован: Вт сен 07, 2010 03:01:06
Откуда: Moscow-Izmaylovo

Сообщение m.ix »

Geexbox - загрузочный
И воспроизводи и смотри чё хошь.
юзал на втором пне.
даже винт не обязателен.
Лечу лечить WWWашу покалеченную технику.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Ну дело в том, что я хочу переселить всё это в компактный корпус. Материнка небольшая по размерам. Вместо монитора - небольшой LCD дисплей. В ini файле проигрывателя нашёл совместимости с дисплеем от нокии 3310. Хочу на МК собрать модуль клавиатуры, сопрягаемый с COM портом. Проигрыватель это тоже позволяет. С гипертерминала управлял им через нуль-модемный кабель. :)
На этом компе, после добавления ещё одной планки ОЗУ на 64 МБ и AGP видюхи на 32 МБ, даже Win2000 пошла, но немного с тормозами. :)
По поводу кодировок тоже разобрался. Я добавляю DOSLFN и keyrus.com, но они не дают никаких изменений. Покопавшись в дискете, я пришёл к выводу, что проблемы с утилитой. Она нестандартно загружает несовместимый командный интерпретатор command.com от WinMillenium.
Разберусь с ней и переделаю.
Ставил всё на HDD, прописывая все скрипты, но без поддержки сети. Кинул музыки на 2 гига в отдельную паку. Там всё корректно работает. И русские названия и длинные имена. А тут длинные имена вообще не видны. Тупо в списке не отображаются, как будто их нет на сетевом диске. А прикол в том, что надо DOSLFN и всё остальное загрузить ещё до загрузки сетевых утилит. А на дискете места нет. Вот думаю выкинуть лишнее от туда, а именно драйвера от сетевушек. От туда нужен только один драйвер, который совместим с моей сетевушкой. Надо выкинуть распаковщики и ещё пару файлов. Ну и заменить command.com на нормальный.
Линукс ставил - DELI LINUX, но не то что-то.
Пробовал старую UBUNTU - она вообще не пошла, выкидывая ошибку ядра.
Есть набор SYSLINUX с исходниками, но ничего не смог из него собрать, кроме PXE загрузчика по LAN, с красивым меню. С линуксом почти не имел дело, а вот DOS знаю. :)
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Итак.... Создал собственную сборку сетевого клиента, урезав по самое "не хочу" сетевого клиента для DOS - Microsoft Network Client 3.0. Заменил проигрыватель MPXPLAY на локализованный под кодировку CP1251. Так-же заменил DOS4GW.EXE на DOS32A.EXE (Экстендер для запуска проигрывателя) Keyrus.com заменил на display.sys, запущенный в режиме кодовой страницы 886.
Теперь названия файлов и содержимое тегов с русской кодировкой отображаются корректно. :)
Добавил DosLFN - Поддержка длинных имён файлов в DOS приложениях. Но почему-то оно не работает. :( Проблема сохранилась - не все аудиофайлы видны в общих папках сервера.
Вот например в корневой папке с музыкой есть 15 папок и 200 аудиофайлов, формата MP3. Из них видны только два. Практически все файлы и папки названы латинскими буквами. В некоторых папках есть ещё папки, некоторые из них тоже не видны вообще. Названия папок тоже короткие и с латиницей. Как с этим бороться? Кто имел дело с Microsoft Network Client 3.0 ?

ЗЫ: DosLFN загружается из сетевой папки, перед загрузкой проигрывателя, так как на дискете места нет, чтобы попробовать загрузить DosLFN в первую очередь, ещё до загрузки сетевого клиента.

ЗЫ2: Как справимся, так сразу выложу все инструкции по изготовлению сборки.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Реклама
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Пт ноя 20, 2009 20:38:12
Откуда: Калининград (Koenigsberg)

Сообщение FlySnake »

DELI LINUX, но не то что-то.
Чем оно не то?
Извращения с анахроническими виндами и досом - то, а нормальная ось - не то? :)
Если я правильно понял задачу, то это решается с помощью любого легковесного линускового дистра без иксов, плеера mpd http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki и любого клиента для него, коих тысячи под любую ОСь. Работает примерно так: на компе, подключенном к акустике работает mpd, к нему подключается клиент по сети с любого другого компа с любой осью и имеет полный доступ для управления музыкой. Требования минимальные, профит максимальный.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Спасибо за предложение, ещё раз попробую на линуксе.
Только хрен знает, где можно найти драйвера или модули ядра к этому старью. :)
На сетевуху есть драйверы в прилагаемом к ней диске с дровами. А вот на старую звуковуху вряд-ли. :( Неплохо бы и к видеокарте найти. :)
Хотелось бы управлять не только из сети, но и на месте, через COM порт и вместо монитора LCD к LPT порту. У ДОСовского MPXPLAY это есть, причём гибко настраивается. На сайте разработчика что-то писалось про запуск проигрывателя в линуксах. Надо бы почитать.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Пт ноя 20, 2009 20:38:12
Откуда: Калининград (Koenigsberg)

Сообщение FlySnake »

Скорее всего искаропки всё заработает, особенно если ядро по-страрее, а то из новых много старья могли выпилить. Дистрибутивы типо того же DeLi, DSL тыщи их специально для старых компов с большой вероятностью всё подхватят. Сеть 99%, звук 90% искаропки. Видео не нужно если использовать mpd хоть удалённо графический клиент на винде, хоть локально во фреймбуферной консоле, на крайняк с vesa драйвером иксы на любой заработают один хрен про 3D ускорение речи нет :)
Насчет LCD и LPT не совсем понял, но в любом случае можно хоть весь stdin и stdout перенаправить на другие устройства, хоть самопальная клава и LCD с атмегой.
Простейший пример: ncmpcpp --now-playing > /dev/ttyS0 отображает что сейчас играет в mpd на люминесцентном дисплее от кассового аппарата, подключеного в COM порт. Гибкость настройки ограничена только фантазией.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Часть багов устранена. Остались мелочи.... :)
Всё таки остановился я на DOSе, так как линукс для меня тёмный лес.
Переселил всё с дискеты на HDD, теперь почти всё прекрасно видно из сети. :)
Локальная поддержка длинных имён работает, но через сетевой клиент пока имена удалённых аудиофайлов короткие.
Осталось только это и можно приступать к аппаратной реализации идеи.
А именно переселить это всё в другой корпус, приделать кнопочную панель управления на МК и написать программу для микроконтроллера. Ещё подключить дисплей. :)
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Итак, с программной реализацией разобрался.
Осталось заказать микроконтроллеры у начальства на работе, мелкосхему MAX232,
найти компактный горизонтальный кейс от компа и начинать собирать. :)
Как будет всё готово, выложу всё тут. Начиная с DOSовских конфигов и заканчивая схемами, прошивками и фотками готового сабжа. :)

А пока есть только видео вывода текста на будущий LCD.
Пока вывод выведен в гипертерминал к другому компу, через нуль-модемный кабель.
Звук сцуки отключили из-за, йёоп-их, авторского права на аудиоконтент.
http://www.youtube.com/watch?v=fG3Ohjo6ud8
I am DX168B and this is my favourite forum on internet!
Контактная информация:
Ответить

Вернуться в «Умные мысли»