RS-232 Disk Mounter GUI Edition

Сабжи короче

Postby Alex Rider » Tue, 27.10.2015 03:13:02

Крайняя весть: Теперь маунтер умеет:
1. Принимать URL'ы при натягивании их на DropForm.
2. Монтировать скопированное в буфер обмена (Mount from Clipboard в меню и по даблклику на диск в DropForm).
3. Натаскивать на примонтированную "дискету" проды (картинки и музыку) с zxart.ee при открытии URL "API-ссылка для результатов поиска" со страницы поиска по базе.


Собсна, надоело мне монтировать trd консольным тулом, и написал я GUIовый. Хочет венду и .NET 2.0 (не стреляйте в пианиста, он играет как умеет). Тул живет в трее, монтирует всякие разные файлы и папки для чтения Эвой по COM-порту как TR-DOS-диски, показывает лог, выбирает COM-порт. Есть панелька для натаскивания файлов. Очень надеюсь, что интерфейс получился примитивный, понятный даже ААА и не требующий help'а.

Что поддерживает на входе: trd, scl, hobeta, архивы (zip, rar, 7z), бинарные файлы и каталоги.

Как поддерживает:
  • trd - не кеширует в памяти, работает прямо с образом в файловой системе Windows. Можно подменять образ без перезапуска тула и перемонтирования.
  • scl, hobeta - ну поддерживает и поддерживает. Как и все остальные форматы, пихает контент на образ trd в памяти, подменять "на лету" бесполезно и бессмысленно.
  • zip, rar, 7z - распаковывает и пытается осмыслить. Если во всем архиве есть единственный trd/scl, монтирует его как образ. Если их нету или много, монтирует распакованную папку, собственно, как папку. Поскольку тул поддерживает всякие разные типы файлов и пытается "на ходу" понять тип монтируемого файла (разумеется, не по расширению), пришлось сделать жестокий естественный отбор архивов - выжили только zip, rar и 7z (узнаются по сигнатурам). Тул пытается распаковать их либо собственной библиотекой zip, либо установленными в венде WinRAR и 7-Zip, так что можно поддержать всю толпу форматов архивов, которые потрошат эти архиваторы. Делайте заказы на поддержку, лень детектить все возможные форматы. Зачетно так монтировать свежескачанный упакованный софт.
  • Файлы и папки - пытается набить в trd-образ в памяти все переданные файлы во всех переданных каталогах (рекурсивно). Набивает последовательно, больше 128 набить не пытается, невпихуемое тоже пропускает. Если файл больше 255 секторов, разбивает на несколько TR-DOS-файлов. Если что-то пропустил, скажет warning. Прикольно монтировать всякие укачанные из Инета коллекции.

Чего маунтер не умеет:
  • Писать в примонтированные образы. Фича меганужна, но не поддерживается VDOS'ом Эвы. В самом маунтере запись реализована, но не протестирована. Олсо было бы неплохо поддержать защиту от записи в образы.
  • Читать с треков с номером, большим 159. Аналогично не поддерживается VDOS'ом. Для поддержки в маунтере надо поправить одну константу.
  • Монтировать spg. Для разработки было бы архиполезно, хотя скорось загрузки по COM, безусловно не ахти. Не поддерживается WC совсем, протокол не изобретен, в маунтере нет ни намека на spg, но можно запилить.
  • Другие форматы zx-образов. Можно легко запилить по желанию все, что легко раскладывается на TR-DOS-файлы - всякие тапы, sna и так далее, тока смысла в этом не увидел и не стал реализовывать.

Настоятельно ищутся желающие и умеющие поддержать запись, чтение треков 160-255 и формат spg в VDOS и WC! У меня до конца года запар по работе, не осилю правки в VDOS.

Добродушные и поднимающие ЧСВ отзывы, конструктивная критика, разумные пожелания и описания найденных багов весма приветствуются.

Very thanks авторам оригинального маунтера на стороне PC (протокол честно содрал оттуда), VDOS, WC за возможность монтирования образов по COM без передергивания флешки!!!
Attachments
RS232Mounter.zip
(408.07 KiB) Downloaded 241 times
Last edited by Alex Rider on Fri, 22.01.2016 14:38:03, edited 1 time in total.
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby TS-Labs » Tue, 27.10.2015 04:29:48

Алекс, ты крут! :beer:
User avatar
TS-Labs
 
Posts: 5306
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Tue, 27.10.2015 10:22:27

Очень интересно!
User avatar
VBI
 
Posts: 1934
Joined: Mon, 03.06.2013 09:20:29

Postby Alex Rider » Tue, 27.10.2015 10:42:24

TS-Labs wrote:Алекс, ты крут!

Перед релизом сорцы были тщательно отрефакторены, посему показать не стыдно, а протерять жалко. Может, впихнуть их в репу как-то?
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby TS-Labs » Tue, 27.10.2015 12:08:56

Конечно.
Добавил тебя в комиттеры. Забрось в папку \pentevo\tools\
User avatar
TS-Labs
 
Posts: 5306
Joined: Thu, 26.07.2012 01:29:56

Postby LessNick » Tue, 27.10.2015 14:12:04

Офигительно! Спасибо за труды! :vodka:
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 942
Joined: Thu, 26.07.2012 15:00:53

Postby psb » Tue, 27.10.2015 17:28:50

хоть бы скриншот показали...
User avatar
psb
 
Posts: 715
Joined: Tue, 30.12.2014 23:22:32

Postby g0blinish » Tue, 27.10.2015 17:31:12

psb wrote:хоть бы скриншот показали...


лучше на девок позырь :smoke:

авки там...
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3582
Joined: Tue, 18.06.2013 10:59:01

Postby TS-Labs » Tue, 27.10.2015 18:14:39

psb wrote:хоть бы скриншот показали...

А ты поставь виртуалку (на отдельной машине) и в ней запусти. Тока перед этим модем вытащи из розетки.
User avatar
TS-Labs
 
Posts: 5306
Joined: Thu, 26.07.2012 01:29:56

Postby Alex Rider » Tue, 27.10.2015 18:16:26

psb wrote:хоть бы скриншот показали...

Alex Rider wrote:Тул живет в трее

Тебе скриншот чего надо? Виндовского OpenDialog?
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby psb » Tue, 27.10.2015 23:55:00

TS-Labs wrote:А ты поставь виртуалку (на отдельной машине) и в ней запусти.

а она сама скачает, распакует?
Alex Rider wrote:Тебе скриншот чего надо? Виндовского OpenDialog?

или так, или прочитать за меня 1й псто.
User avatar
psb
 
Posts: 715
Joined: Tue, 30.12.2014 23:22:32

Postby Alex Rider » Tue, 22.12.2015 00:03:02

Внезпано обнаружилось, что тул вполне себе понимает url'ы, если их вставлять в диалог монтирования файла. Вот вам и прокси для Спека чтобы ходить по онлайн-коллекциям. Собсна, как руки дойдут, попробую сделать такие улучшайзеры:
1. Натаскивание url'ов из браузера на панель монтирования (попробую сделать парсинг с возможностью натягивать несколько урлов за раз).
2. Натаскивание чего угодно на иконку в трее (если венда такое позволяет)
3. (онли есть будет интерес) просмотр онлайн-коллекций прямо из тула. Мона будет во-первых, лазить по коллекциям образов типа vtrdos или сайта AAA, во-вторых, набивать виртуальные дискеты трекерными музонами или нативными картинками с сайта Мороза, например. Хотя, если будет натаскивание url'ов, просмотр коллекций в туле малополезен...
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby TS-Labs » Wed, 23.12.2015 01:48:42

:agree:
User avatar
TS-Labs
 
Posts: 5306
Joined: Thu, 26.07.2012 01:29:56

Postby Den1982 » Fri, 25.12.2015 21:38:29

А я уж хотел окончательно венду убивать (сижу на убунте), придеться повременить.
Но спасибо все равно!
Den1982
 
Posts: 101
Joined: Sat, 23.11.2013 20:57:07

Postby Alex Rider » Sat, 26.12.2015 03:57:59

.NET 2.0 соответствует вашм всяким вашим mono. Подскажите, плиз, как с WinForms слезть безболезненно...
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby Alex Rider » Sat, 26.12.2015 04:15:45

Den1982 wrote: я уж хотел окончательно венду убивать (сижу на убунте),

Э... Как оно достичь гармонии с вот вашей вот концессией?.. Надо, чтобы я девелопил в VS 2013 на C# с магическими специями, а потом ап: и для WinUser'ов exe, и для UNIXоидов сотни ваших открытых фоматов пакетов на раз сбилдить?!
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby TS-Labs » Sat, 26.12.2015 06:19:30

Может какой-нибудь там Qt попробуешь? Samstyle на нем написал целый эмулятор.
User avatar
TS-Labs
 
Posts: 5306
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Sat, 26.12.2015 08:09:20

Alex Rider wrote:Подскажите, плиз, как с WinForms слезть безболезненно...


Если оно касается окон с кнопками, то простое диалоговое окно в руки. LCCWin32 например.
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3582
Joined: Tue, 18.06.2013 10:59:01

Postby Alex Rider » Sat, 26.12.2015 23:04:39

TS-Labs wrote:Может какой-нибудь там Qt попробуешь?

Задумаюсь. Надо исчо как-то научиться как-то готовить и тестить готовое блюдо на unix'ах.
g0blinish wrote:Если оно касается окон с кнопками, то простое диалоговое окно в руки. LCCWin32 например.

В том-то и дело, что там нет ни одного "окна с кнопками". В Linux есть system tray с кастомным контекстным меню? Qt позаолит писать нискоуровневые хаки для кастомо отрисованного окна? Каюсь, что использовал эти win-фичи...
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby g0blinish » Sun, 27.12.2015 04:05:50

Alex Rider wrote:В Linux есть system tray с кастомным контекстным меню?

хз. красногдлазие от лукавого.

Alex Rider wrote:В том-то и дело, что там нет ни одного "окна с кнопками".

а, ну тогда все просто с тз win32api: создаешь невидимое окно+значок в systray и цикл обработки сообщений вертится на проверке событий - клик на значок и тд.
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3582
Joined: Tue, 18.06.2013 10:59:01

Postby nyuk » Sun, 27.12.2015 10:31:20

Можно два вопроса от нуба и не совсем в тему?

1. Образы монтируются как виртуальные дискеты, да? А есть возможность скидывать их на флешку без бубна?

2. А кабель нужен прямой COM<->COM?
не отрастил
User avatar
nyuk
 
Posts: 556
Joined: Thu, 26.07.2012 09:08:24

Postby creator » Sun, 27.12.2015 12:38:29

nyuk wrote:1. Образы монтируются как виртуальные дискеты, да? А есть возможность скидывать их на флешку без бубна?

Ага, но read only. Если бы было можно, то и spg можно было кидать на флешку, но увы, можно только скопировать с этой смонтированной дискеты на свою другую через коммандер (с бубном короче).
nyuk wrote:2. А кабель нужен прямой COM<->COM?

Nullmodem. Но удобнее через USB (если rev C).
А, влип, очкарик!
User avatar
creator
 
Posts: 236
Joined: Wed, 11.02.2015 11:22:49
Location: nsk

Postby Alex Rider » Mon, 28.12.2015 14:49:40

g0blinish wrote:а, ну тогда все просто с тз win32api: создаешь невидимое окно+значок в systray и цикл обработки сообщений вертится на проверке событий - клик на значок и тд.

Ну как бы я ниасилятор C, C++, а на мерзком Delphi это писать не хотелось ни разу. Так что C#. Вообще, надо было бы заюзать не WinForms, а Qt, тогда это, возможно, собралось бы под mono. Но я, повторюсь, даже не в курсе, есть ли в гуях для Linux аналог трея.
nyuk wrote:Образы монтируются как виртуальные дискеты, да? А есть возможность скидывать их на флешку без бубна?

Да, trd монтируется как есть (прямо файл на диске напрямую читается), остальное набивается в образ в памяти. Увы, с копированием на флешку ровно те же проблемы, что и с реальной дискетой (даже +1 - маунтер работает сильно медленнее, чем флопик). Будет в WC отображение каталога дискеты в панели, гемора поубавится. А так - WDC в помощь.
nyuk wrote:2. А кабель нужен прямой COM<->COM?

Я пользую USB <-> miniUSB, найти такой еще можно.
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Postby g0blinish » Mon, 28.12.2015 15:23:56

Alex Rider wrote:Ну как бы я ниасилятор C, C++, а на мерзком Delphi это писать не хотелось ни разу.

да возьми и погугли пример systray
сигавно компиляторы поможно найти - TinyC(ресурсы не поддерживает), MiniGW Studio, LCC-win32
пердачок защеканца лвд после чтения моих постов..

[14:29:28] <Alone> На пентагоне картинки на бордюре рисуют. Это вообще нечестно

Теперь поезд ваш в депо, а мой локомотив мчится на укрепление демосцены спектрума.(с)Пиздунков
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3582
Joined: Tue, 18.06.2013 10:59:01

Postby Alex Rider » Tue, 29.12.2015 23:18:37

g0blinish wrote:сигавно компиляторы поможно найти - TinyC(ресурсы не поддерживает), MiniGW Studio, LCC-win32

Я не умею C/C++ как язык. Ну то есть как, умею как сцобако - read only. Нужные для Саботера фиксы SjASM лезли из меня с большим трудом. Да и просьб особых маунтера под Linux не поступало. Есличо - ядро маунтера переводится на C/C++ "на ура", а GUI под WinForms никому не сгодятся. Так что версия под Linux от меня - это нечто нереальное.
User avatar
Alex Rider
 
Posts: 338
Joined: Tue, 03.06.2014 15:35:47
Location: Ryazan, Russia

Next

Return to Utilities

Who is online

Users browsing this forum: No registered users and 1 guest

x