Palm m505: три составляющих для успешного запуска приложений с карт памяти MMC/SD
Автор: Andr, 30 Май 2001 Кол-во прочтений/просмотров: 22143 Кол-во слов в этом тексте: 1482 Версия для печати:
Вступление
Проработав около полугода с Sony Clie PEG-S300 и оценив всё удобство работы на Палме с дополнительными картами памяти (Memory Stick), я с нетерпением ждал появления новой модели Palm m505, поддерживающей карточки MultiMedia Card/Secure Digital. Я искренне считал, что все шишки, которые мы набили, тестируя всевозможный софт для работы с Memory Stick "от третьих фирм", будут учтены в новом m505 в виде прошитых в ROM программ для работы с карточками MMC/SD.
Увы, этого не произошло. Для работы с карточками MMC/SD в m505 "прошита" только одна программа: Card Info. Выполняет она всего несколько простеньких функций (выдает информацию о наличии свободного места на карте памяти, позволяет ее отформатировать и переименовать). Копирование программ из основной памяти машинки на MMC/SD card (и обратно) осуществляется через меню стандартной оболочки. Запуск программ реализован следующим образом: из ниспадающего списка категорий стандартной оболочки (в правом верхнем углу) нужно выбрать категорию Card. Откроется "окно", в котором появятся иконки программ, расположенных на карточке MMC/SD. Если на карточке записано много программ, то процесс "открытия окна Card" может занять довольно много времени, т.к. машинка, выполняя этот запрос, должна будет просканировать всю карточку. Есть и еще одно неудобство: выбрать категорию Card можно только из стандартного оболочки Palm. В других оболочках она может быть "не видна" (в частности, в LaunchEM).
"Удобной" такую систему назвать можно только с большой натяжкой. Пришлось снова искать ответы у разработчиков из "третьих фирм". И ответ не заставил себя долго ждать. Как выяснилось, большинство программ, написанных для Sony Clie, прекрасно работают и на Palm m505!
Из всего многообразия софта для работы с картами памяти наибольший интерес представляют три: McFile, PowerRun и MSMount.
Программа McFile
Начать нужно с программы McFile, т.к. она представляет собой не что иное, как многофункциональный файл-менеджер для RAM/MMC/SD.
Интерфейс программы - до боли знакомое и "интуитивно понятное" дерево каталогов, подкаталогов и файлов. Естественно, есть опции new/copy/move/rename/delete. Есть встроенный Text Viewer для txt файлов. Есть возможность отправлять файлы, записанные на картах MMC/SD в качестве аттачментов к сообщениям электронной почты. Есть возможность сделать BackUp всех данных из основной памяти на MMC/SD.
Программа имеет довольно много настроек, позволяющих оптимизировать ее под надобности конкретного пользователя: она может показывать всё, что есть в открытом каталоге или отдельно показать только запускаемые приложения, только установленные хаки, только приложения DA, только тексты в формате DOC и т.д.
Эта программа просто необходима для быстрого перемещения файлов из основной памяти машинки на карту памяти (и обратно) и пригодится для создания на карте памяти специальных директорий, которые понадобятся для программ, имеющих доступ к карточкам MMC/SD.
(Текущая версия программы 1.12, размер - 93 Kb)
Программа PowerRun
Наверное, для начала нужно сказать несколько слов о базовой системе запуска программ, расположенных на карточках памяти MMC/SD. Программа, записанная на карту MMC/SD, не запускается напрямую. Оболочка сначала переписывает такую программу в основную память и только потом ее запускает. Этот процесс скрыт от глаз пользователя и занимает всего секунду. После окончания работы с программой, она автоматически переносится обратно на карточку и стирается из основной памяти. Тут есть масса тонкостей, но, в целом, система выглядит именно так.
Power Run полностью автоматизирует процесс запуска программ, расположенных на MMC/SD. Делает PowerRun это значительно быстрее, чем встроенный софт для этих целей и, главное, - делает это "адресно". То есть, при работе с PowerRun, нет необходимости ждать пока загрузится полный список программ на карточке памяти для запуска всего одной из них (как это делает "прошитый" лончер)!
Для того чтобы использовать PowerRun для запуска приложений с карточек MMC/SD, нужно сначала его настроить. Непосредственно в главном окне PowerRUN - выбрать опцию "Internal". Появится список всех приложений из основной памяти машинки. Далее, нужно просто выбрать ту программу, которую вы хотите перенести на карту MMC/SD и нажать кнопку "Move". Выбранная программа будет автоматически перенесена в директорию .../PowerRUN на карточке (если такой директории на карточке нет - она будет автоматически создана). Эту процедуру нужно проделывать непосредственно при переносе новой программы на карту памяти. В дальнейшем, запускать PowerRun не понадобится.
Для всех программ, перенесенных из основной памяти на карточку MMC/SD, программа PowerRun создает полноценные "ярлыки", которые можно "увидеть" и "запустить" из любого оболочки. Выглядит ярлык как обычная программная иконка, но с "квадратиком" в левом нижнем углу иконки и "звездочкой" - в правом. "Ярлыки" можно переносить в любую категорию оболочки и, наравне с любой программой, находящейся в основной памяти машинки, "ярлыку" может быть присвоена хардверная кнопка. Словом, по функциональности, "ярлыки" ничем не отличаются от иконок "обычных" программ. Для запуска программы достаточно просто "ткнуть" стилусом в иконку-ярлык и всё… Программа запустилась.
Есть в PowerRun и еще одна полезная "мулька" - опция контроля за автоматическим удалением программ из основной памяти после их использования. При запуске программы-ярлыка PowerRUN пишет "Loading ...". При выходе из программы - PowerRUN пишет "Cleaning...". И если PowerRUN по тем или иным причинам не может удалить приложение из основной памяти - он обязательно об этом скажет.
Интересно ещё и то, что PowerRUN работает не только с программами, как таковыми, но и с их базами. То есть, при первом переносе той или иной программы из основной памяти на карточку MMC/SD, PowerRUN забирает и программу, и все ассоциированные с ней базы. В дальнейшем, при запуске "ярлыка", программа и базы переносятся в основную память. После окончания работы с ней, программа возвращается на MMC/SD card уже с обновленными (в результате работы) базами. И т.д.
Таким образом, используя PowerRun, вы не только получаете возможность запускать программы с карточек MMC/SD "одним нажатием", не только максимально освобождаете основную память машинки, но и, во многом, решаете проблему сохранения данных, т.к. даже при потере питания - и программы, и базы на MMC/SD остаются в целости и сохранности...
(Текущая версия программы 0.48, размер - 29 Kb)
Программа MSMount
PowerRun значительно облегчает жизнь пользователя, но работает "по законам", установленным разработчиками m505 (запускает приложения по системе MMC/SD -> RAM -> MMC/SD). В программе MSMount реализован принципиально другой подход к использованию данных, расположенных на картах памяти. Программа позволяет работать с большими неизменяемыми базами, расположенными на карточках MMC/SD, БЕЗ ПЕРЕНОСА ИХ В ОСНОВНУЮ ПАМЯТЬ.
Под "неизменяемыми базами" подразумеваются базы, ассоциированные с той или иной программой, но не изменяемые в процессе работы с ними. Это, к примеру, словарные базы (словари-переводчики, энциклопедические словари, книги) или базы, содержащие фотографии, картинки и т.д. В последней версии программы добавлена возможность работы с небольшими изменяемыми базами (но эта функция пока еще - в стадии тестирования).
Интересным представляется принцип работы программы.
После инсталляции программы MSMount (которая происходит обычным образом), нет смысла искать ее в стандартных директориях оболочки. Программа "прописывается" в Preferences и искать ее следует именно там. Для работы с программой, её нужно активировать. Но делать это нужно не сразу.
Дальнейшие действия рассмотрим на примере программы Tome Raider (приложение для работы с большими словарными базами) и ее базы - "Словарь Брокгауза и Ефрона" (буква "А" - encA.pdb, размер файла - 1,15 Mb).
Итак, сначала при помощи файл менеджера McFile, создаем на MMC/SD новую директорию (допустим Test). Затем, переносим файл encA.pdb из основной памяти машинки в директорию Test на MMC/SD card. Программу Tome Raider сохраняем в основной памяти машинки.
Теперь настало время активировать MSMount. Для этого нужно войти в меню Palm Preferences и выбрать из списка MS Mount. Программа предложит указать ей директорию на карточке MMC/SD, с которой она будет работать, - в нашем случае, указываем директорию Test. После этого, нажимаем кнопку Enable.
Запускаем Tome Raider и... в списке доступных баз появляется "Словарь А", несмотря на то, что он находится не в основной памяти машинки, а на MMC/SD. На функциональности словарной базы это никак не сказывается - всё работает без проблем. И, заметьте, даже открытая база в основную память машинки не копируется - она продолжает постоянно оставаться на карте памяти! Единственное, что записывается в основную память - это некий служебный файл открытой словарной базы. Для рассматриваемой базы размером 1,15 Mb, служебный файл был размером 23 Kb. Но что такое 23 Kb по сравнению с 1,15 Mb?!! Пустяк…
Забавная подробность: если запустить MCFile, то он "видит" файл encA.pdb как файл, расположенный в основной памяти машинки (и даже указывает его размер 1157 Kb). Несмотря на это, физически, этот файл основную память не использует и не занимает! Его там нет. На этом и построен принцип работы MSMount: TomeRaider "думает", что словарная база, как и положено, находится в основной памяти. А в действительности - это всего лишь линк на данные, расположенные на MMC/SD-карте.
Уникальность программы MSMount заключается не только в том, что она позволяет работать с данными, расположенными на карте MMC/SD без переноса их в основную память, но и в том, что очень многие программы, изначально не рассчитанные на работу с картами памяти, теперь прекрасно с этой задачей справляются.
MS Mount успешно тестировалась со следующими программами: iSilo, Tome Raider, KDIC, Dictionary, Liberty, словарями "Толмач" и "СловоЕд".
(Текущая версия программы 0.74, размер - 26 Kb)
Заключение
Итак, установив на свой Palm m505 программы McFile, PowerRun и MSMount (которые в совокупности занимают всего 151 Kb), можно довольно существенно расширить функциональность карточек памяти MMC/SD, получив возможность запуска программ с карт памяти "одним нажатием", возможность работать с большими базами данных без переноса их в основную память машинки и возможность использовать с MMC/SD программы, которые такой опции ранее не имели…