Между прочим: минивыпуск, отчет
Всем привет!
Вчера моей страничке исполнился ровно год. Юбилей. В преддверии этого знаменательного события я устроил себе выходной и почти ровно две недели ничего сюда не писал, ибо решил отдохнуть от своего хобби и углубится в основную работу.
Нельзя сказать, что я позволил себе бездействовать и ничего не делал
С момента приобретения Casio PV у меня чесались руки сделать
Для того, чтобы писать программы на C нужно учить API, а у меня на это нет ни времени, ни желания, серьезные программы на
Первое, что пришло мне в голову, это русифицировать PV Application Manager. Это основная программа, с которой довольно часто сталкивается любой пользователь PV — именно через нее происходит обновление программного обеспечение, удаление программ и их данных, изменение версии операционной системы.
Так уж традиционно повелось, что основной язык у нас в стране — русский и с английским у большей части населения возникают некоторые проблемы. Второй проблемой нашей страны является наличие многообразия стандартов русских кодировок KOI, ISO, MAC, WIN, DOS — далеко не полный перечень слов, которые можно услышать в сочетании со словом «кодировка». Естественно, что русскоязычная часть владельцев Casio не осталась в стороне от дел и выпустила в свет кодировку, которую я условно называю
Фирма Casio, соответственно, мало интересует та и другая проблема, поэтому их замечательный
По мере поступления обеих проблем я их попытался решить. Сразу скажу, что сделать это мне удалось, и новую версию PV Application Manager можно скачать вот отсюда. К архиву прилагается краткая инструкция по пользованию на русском языке и небольшой список изменений.
Добавление от 06.02.2002. Больше распространением патча к Минибуку я не занимаюсь. Из уважения к труду Пу Бо.
Как известно всем тем, кто приобрел PV (а если не известно, то срочно рекомендую об этом узнать) единственной приличной читалкой текстов для PV была, есть и остается программа MiniBook программиста Пу Бо.
К сожалению, последние версии MiniBook обладают кучей приятных возможностей и неприятным багом — через 30 дней они прекращают функционировать. Оригинальный патч от Пу Бо стоит всего 8$ и я бы уплатил эти деньги, если бы не отсутствие у меня, как и у многих россиян свободноковертируемого пластика.
SSC взяла на себя инициативу по упрощению процедуры регистрации для жителей России и, что немаловажно, по снижении цены продукта. Но, поскольку я устал ждать, когда это произойдет я решил справится с проблемой собственноручно и выпустил патч для версий 2.53 и русифицированной 2.54.
Технические аспекты. Данный патч, написан с использованием Windows Script Host на языке VBScript (поскольку JScript пытается любой бинарник прочитать в Unicode) и должен быть сохранен, как файл patch.vbs, запускается он в среде Windows 98, ME, 2000, XP и NT c Service Pack, может, после некоторых танцев, заработать и на Windows 95.
Правовые аспекты. Пояснение для особо бдительных товарищей. Как известно, по закону о свободе слова, я могу распространять программу в исходных кодах, даже, если эта программа является патчем, краком или вирусом. Именно поэтому в Интернете так много вредоносных программ, написанных на C, распространяется именно в исходниках. Тот факт, что сам исходник в данном случае является еще и программой никак не меняет дело.
Вообще, этот вопрос довольно интересен. Помню, во времена DOS текстовая информация о патче распространялась отдельно от программы, которая умела патчить что угодно, руководствуясь такой информацией. Таким образом соблюдалась законность, но это было жутко неудобно — кроме патча надо было отдельно искать программу, которая с ним работает или вносить изменения руками.
Сейчас все больше обретают популярность программы на Perl и других подобных языках — тенденция, на мой взгляд странная, так как в Windows уже давно существует так называемый Windows Script Host, некая замена морально устаревшему языку BAT-файлов, которых хотя и развивается Microsoft, но довольно вяло.
Поскольку я не видел патчей, написанных на WSH, то объявляю этот патч первой ласточкой. :) Делал я его так, чтобы сохранить возможность простой модификации, так что под многие задачи его даже не придется модифицировать.
' This is not patch. It's demo startup code only.
' Это не сам патч, а только демонстрационный стартовый код.
Sub Patch (name)
Dim fso, f, file
FileLength1 = 90020
FileLength2 = 96484
CannotPatchMsg = "Cannot patch file. Incorrect version."
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(name)
Set file = fso.OpenTextFile(name, 1, False)
lenf = f.size
If lenf = FileLength1 Then
Addrs = Array ( ... )
Sours = Array ( ... )
Dests = Array ( ... )
ElseIf lenf = FileLength2 Then
Addrs = Array ( ... )
Sours = Array ( ... )
Dests = Array ( ... )
Else
WScript.Echo CannotPatchMsg
file.Close
Exit Sub
End If
s = file.Read (lenf)
file.Close
K = 0
P = 0
For I = LBound(Addrs) To UBound(Addrs) Step 2
For J = Addrs(I) To Addrs(I+1)
ch = Asc(Mid(s, J+1, 1))
If Sours(K) = Hex(ch) Then
s = Left(s, J) & Chr(Dests(K)) & Right(s, Len(s)-J-1)
Else
If Dests(K) = ch Then
P = P + 1
Else
WScript.Echo CannotPatchMsg
Exit Sub
End If
End If
K = K + 1
Next
Next
If P=0 Then
Set file = fso.OpenTextFile(name, 2, False)
file.Write(s)
file.Close
WScript.Echo "File was successfully patched."
ElseIf P = UBound(Dests)-LBound(Dests)+1 Then
WScript.Echo "File is already patched."
Else
WScript.Echo CannotPatchMsg
End If
End Sub
If WScript.Arguments.Count = 0 Then
WScript.Echo "Written by Evgeny Stepanischev (https://bolknote.ru)" & _
Chr(13) & Chr(10) & _
" Patch for Pu Bo MiniBook v2.53 and 2.54R (PV)" & Chr(13) & Chr(10) & _
" Usage: patch.vbs <bin_file>"
Else
Patch(WScript.Arguments(0))
End IfДа, забыл сказать, я не несу никакой ответственности за возможную порчу данных PV или MiniBook при пользовании патчем, хотя у меня все работает нормально и нормально работало, когда я переводил год на 2010. Только Пу Бо знает какие сюрпризы он подготовил любителям халявы. :)
Хорошая новость для тех, кто использует мой JUnix. Так как неожиданно поднялась активность на этом сайте (обычно так бывает после публикации ссылки
На днях, если пройдет тестирование, выйдет новая версия этой программы. Будут исправлены некие застарелые баги, добавлены новые возможности, в частности поддержка прав на разделах cookies, не раздвигающий текст курсор и устройство /dev/random.
Следите за обновлениями! :)
На этом список Потрясающих Открытий и Бесконечно Полезных Деяний, Сделанных Мной Для Человечества на этот период заканчивается и мне пора прощаться, так как гору Накопившихся Дел и Срочной Работы необходимо
Пишите!
Читайте также
