Board.KolibriOS.org
http://board.kolibrios.org/

cd burner
http://board.kolibrios.org/viewtopic.php?f=39&t=1690
Page 1 of 3

Author:  SoUrcerer [ Thu Mar 31, 2011 4:56 pm ]
Post subject:  cd burner

Где-то на форуме читал, что добавить возможность записи на диск iso-образа не сложно, сложно сделать iso-образ.
Если у меня получится портировать mkisofs или нечто подобное, могу ли я надеяться на помощь в части ядра?;)

Author:  Serge [ Thu Mar 31, 2011 5:43 pm ]
Post subject:  Re: cd burner

Хочешь сделать прожигалку под Колибри ?

Author:  SoUrcerer [ Thu Mar 31, 2011 5:48 pm ]
Post subject:  Re: cd burner

Именно. Думаю, что это будет по крайней мере полезно.

Author:  Serge [ Thu Mar 31, 2011 6:25 pm ]
Post subject:  Re: cd burner

Наверное придётся сильно править код работы с CD. Если не ошибся там сейчас обмен данными идёт через PIO, по одному сектору. А для прожига желательно DMA и буфирование данных.

Author:  SoUrcerer [ Thu Mar 31, 2011 6:31 pm ]
Post subject:  Re: cd burner

Вот оно как... Действительно, через PIO будет медленно записывать.
Однако, Mario писал когда-то, что вроде бы не очень сложно сделать запись: viewtopic.php?f=8&t=677&p=12518

Author:  Serge [ Thu Mar 31, 2011 8:46 pm ]
Post subject:  Re: cd burner

Но кто будет этим заниматься ?

Author:  SoUrcerer [ Thu Mar 31, 2011 9:00 pm ]
Post subject:  Re: cd burner

Смотрел на код mkisofs, вроде ничего необычного. Как только руки до него доберутся, и получится делать iso-образы в Колибри, тогда можно будет подумать обо всем остальном. Увы, сам я с ядром вряд ли что-то смогу сделать. Собственно, поэтому тема в форуме "Идеи".
Ковыряю mkisofs. Ругается на dirent.h (разве не могли сделать код полностью posix-совместимым :(), а когда будет реализована эта штука - не берусь предположить. Даже не знаю, сколько работы это потребует.
Попробую еще genisoimage посмотреть, вдруг (?) там получше...

Author:  SoUrcerer [ Thu Mar 31, 2011 11:10 pm ]
Post subject:  Re: cd burner

Программа isoinfo (автор - Eric Youngdale, лицензия - GPL2).
Выводит на доску отладки информацию об iso-образе, в том числе и список файлов.
Еще немного попилить, и с ее помощью можно будет извлекать файлы из образов iso9660.

Использовать так: isoinfo <файл.iso>

:? Есть проблема: первые несколько запусков программа падает, и лишь с третьей или четвертой попытки выдает то, что нужно. Не исключаю, что проблемы у меня на жестком диске (qemu любит портить fat32), поэтому прошу протестировать. Как только с этим все ОК будет, попробую впилить распаковку файлов из iso.

Вопрос к Serge: потрошение argv еще не включено в код? :) Все же без него тяжко.

Attachments:
isoinfo.7z [28.32 KiB]
Downloaded 150 times

Author:  Serge [ Thu Mar 31, 2011 11:33 pm ]
Post subject:  Re: cd burner

Sorcerer

Нет. Пока нет времени этим заняться.

Author:  Mario [ Fri Apr 01, 2011 7:39 am ]
Post subject:  Re: cd burner

1. Среди команд действительно есть команда записи, но вроде как работает она только для CD приводов, т.е. DVD нет - старая команда, которая уже не факт что поддерживается новыми приводами.
2. Да и еще действительно есть проблема с тем, что код для ATAPI работает лишь в PIO режиме. Написать поддержку DMA в режиме работы с очередями не так просто, как обычный DMA.
3. Современные резаки либо тащат с собой весь код работы с приводом (например старые версии Nero не видят новые приводы в режиме записи), либо пользуются услугами драйвера ОС. Не знаю как реализован k3b для Linux, поскольку не разбирался с кодом, но программа мне лично нравится.

Author:  SoUrcerer [ Fri Apr 01, 2011 8:46 am ]
Post subject:  Re: cd burner

1. Странно, стандарт должен быть стандартом...
2. Но все же лучше если возможность записи будет, чем если ее не будет, мне кажется. С какой скоростью можно писать в PIO-режиме? 2 мегабайта в секунду? Мегабайт? Это всё равно терпимо, у меня 4x диски вряд ли пишутся быстрее.
3. cdrkit и wodim. K3b это front-end. У cdrkit заявлена переносимость (linux/windows/*bsd/sunos/aix), зависимости: sane libc, gnu make, c99. Смотрю сейчас на код, его много, но он качественный. Чувствую, что в конечном счете все будет сводиться к
Code:
int
write_data_track (int fd, int *reply_len, struct sg_reply *rep) {
   *reply_len = sizeof(struct sg_reply);
   return send_request (fd, "write_data_track", reply_len, rep, 10,
         WRITE_TRACK,   /* 0 */
         0,      /* 1 */
         0,0,0,      /* 2..4 */
         0,           /* 5: track number (0=new) */
         1,      /* 6: data track, mode 1 */
         0,0,0      /* 7..9 */);
}

Хотя могу и ошибаться.

Это насколько старой должна быть nero и насколько новым привод? У меня не было версий младше 6й, но она везде работала.

4. Еще недельку повозиться (а может, и меньше), и скорее всего в Колибри можно будет создавать/распаковывать iso-образы и рипать audio cd. Конечно, не каждый день с этим возиться приходится, но без этого часто как без рук.

Author:  DmitrySokolowsky [ Fri Apr 01, 2011 9:24 am ]
Post subject:  Re: cd burner

Меня тревожит, что всё чаще в Колибри портируются чужие программы и всё чаще на ЯВУ. Конечно, образы ISO — это здорово, запись дисков была в том числе и моей хотелкой, но лучше бы это было своим и на ассемблере, лучшие традиции Колибри надо сохранять...

Author:  Mario [ Fri Apr 01, 2011 9:27 am ]
Post subject:  Re: cd burner

Sorcerer
1. У стандартов есть основные функции и дополнительные, так что производители трактуют стандарт так как им нравится.
2. Возможно на низких скоростях и можно что-либо вытянуть, но ведь это опять таки ущербный костыльный подход, в чем Колибри обвиняют постоянно.
3. Nero версии 5.9.x.x не видел у меня новый привод, с 6-й да проблем не было, но это не значит что их не бывает совсем.

Атауальпа
Сколько программ ты написал? Самый умный, да? :lol:

Author:  SoUrcerer [ Fri Apr 01, 2011 12:06 pm ]
Post subject:  Re: cd burner

С большим удовольствием я бы портировал программу создания образов на асме,или библиотеки ttf,но их просто нет.Сколько недель,месяцев,лет работы гуру потребовалось бы для их создания?Я не знаю.Я ориентируюсь на то,что есть.И что лучше Программа на яву,чем никакой.Если кто-то может лучше и на асм-я только рад (например,job)

Author:  CleverMouse [ Fri Apr 01, 2011 1:34 pm ]
Post subject:  Re: cd burner

"И что лучше Программа на яву,чем никакой" - в результате этого подхода мы уже наблюдаем, что потерян текущий хостинг, возможно, что это одна из причин ухода diamond'а, и, вероятно, ещё приведёт к появлению СтраусОС © вместо КолибриОС со всеми вытекающими последствиями для имиджа и притока новых/ухода старых людей. Так что иногда определённо лучше "никакой".

Page 1 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/