Pocket-Viewer.ru for users and developers
Google
 
Web pocket-viewer.ru
Главная · Программы · Пользователям · Разработчикам · Форум   
  Пользователям
Куплю
Продам
Где отремонтировать
П-Документация
Характеристики
П-БРАВО
ЧАВО (FAQ)
Публикации
Рисунки
PV-шники



заправка картриджей в Москве

Память программ и использование AddInManager

КПК Casio PocketViewer оставался бы только органайзером, если бы его возможности были ограничены только Операционной Системой - PVOS. Но с тех пор, как PocketViewer оснащаются перепрограммируемой FLASH-памятью для PVOS, у них есть аналогичная память для установки дополнительных программ. Установка программ возможна для моделей PV-450X/250X (см. ниже), PV-750/750P, PV-S450/S250, PV-S400/S600, PV-S460/S660.
Здесь я попробую описать некоторые моменты, касаемые памяти программ, и использования такой замечательной программы, как PVAddIn-Manager.

1. Устанавливаемые программы в PV

Для размещения дополнительных программ в PV имеется 1 мегабайт памяти. Часто его еще называют "вторым" мегабайтом, подразумевая, что "первый" - это тот, в котором записана PVOS. Второй мегабайт появился в моделях PV-250X/450X, но установленная в них версия ОС этого никак не учитывала. Можно предположить, что это было сделано на фирме Casio для проверки, но довести до логического конца идею не сумели. Вместо этого была выпущена модель PV-S250/S450, несколько несовместимая по ОС с предыдущей, с другим дизайном и возможностью использования второго Мб памяти. Стараниями отечественных умельцев путем перестановки PVOS для 250X/450X можно получить аналогичные возможности.
В дальнейшем этот "второй мегабайт" я буду называть "область программ" или "память программ".
Итак, несколько позиций.
1) Программы для Casio PV выглядят на ПК как файлы с расширением BIN. Имя файла может не соответствовать имени программы, которое отобразится после инсталляции ее на Casio PV.
2) Программы для Casio PV по документации Casio называются Add-In модулями.
3) Программы на Casio PV устанавливаются с помощью Windows-программы PVM (PV Application Manager). Инструкция по работе с данной программой имеется в разделе "Пользователю". Также имеется русифицированная версия этой программы - PVMr от Евгения Степанищева, и всем нашим ребятам рекомендуется пользоваться именно ею.
4) PVOS позволяет установить в память программ не более 16 модулей.
Вот на п.4 остановимся поподробнее.

2. Ограничения PVOS на количество Add-In программ

Многие пользователи сначала не обращают снимание на ограничение в 16 программ. Но потом оказывается, что 16 - это довольно мало. А иногда невозможно установить даже такое количество, причем общий размер модулей бывает гораздо меньше 1 Мб. То-есть, имеет место неоправданный расход пространства области памяти.
А дело вот в чем.
Каждый устанавливаемый Add-In записывается в область программ по границе 64 Кб. Поэтому, если размер его до 65536 байт (пусть даже 1 Кб), он займет ровно 64 К. Если его размер - от 64 до 128 К (пусть даже 65537 байт), он займет 128 К. Во втором случае говорят, что он занял 2 слота по 64 К (возможные термины - 2 сегмента, 2 блока - к вопросу терминологии мы еще вернемся). Соответственно, общее количество "посадочных мест" будет уже меньше 16, и неиспользуемое место пропадает зря.
Подозреваю, что и в главном меню PVOS дополнительных позиций тоже всего 16 (кстати, число 16 фигурирует много раз и в другом месте - при разговоре о памяти данных). Встроенных приложений в ОС - 8 иконок, ровно 1 экран. Плюс еще 16 дополнительных - ровно 3 экрана.
Модели PV-S450/S250 имеют предустановленный модуль "Таблицы". Он имеет размер 128 Кб и занимает, таким образом, 2 сегмента. Итого, остается всего 14. Удалить таблицы просто так, как другие устанавливаемые программы, не получится - ОС этому препятствует.
Но это ограничение можно обойти. Немецкий программист J. Steingraeber исследовал возможности ОС по организации памяти программ. Выяснилось, что нет принципиальной разницы при обращении к 1-му мегабайту (где хранится ОС) и 2-му, где записаны установленные пользовательские модули. Но ОС допускает расположение своих модулей по границам 16 Кб - значит, можно попытаться проделать тот же трюк с памятью программ.
В окончательном виде имеем следующий механизм:
1) Несколько маленьких BIN-программ склеиваются так, чтобы их суммарный размер приблизился к 64 К или 128 К. (Возможно также 192 К и 256 К, но по моему, это уже излишне - выполнимый BIN-файл больше 128К создать невозможно - это ограничение SDK, да и PVOS).
2) Полученный BIN-файл, называемый "коллекцией", устанавливается, как обычная Add-In программа. В процессе установки и после, в главном меню на PV, он виден как первая из собранных в нем программ-модулей.
3) Чтобы запустить на выполнение остальные программы из коллекции, используют дополнительно установленную на PV программу. Она, конечно, займет 1 сегмент 64 К. Но это - не сильно большая плата, тем более что для эффективности к ней можно приклеить еще что-нибудь. Нужно только, чтобы она была первой в коллекции.
Первая версия такой программы называлась PackMenu (я с такой не встречался). Теперь это - PVAddInManager, существует уже версия 4.33. Он обладает многими дополнительными возможностями, помимо работы с коллекциями. Для создания коллекций существует AddInPack (для Windows-98), версия 1.2 тоже от Steingraeber-а.

3. Создание коллекций

Обычно программы AddInPac и PVAddInMan содержаться в одном архиве, там же имеется описание. Но поскольку не многим хочется читать инструкцию на английском, а тем более на немецком языке.
На данный момент имеются такие программы (для проверки привожу размер):
PVAddInMan v.4.30 - 36228 байт,
PVAddInMan v.4.33 - 39524 байт - более новая,
AddInPack v.1.2 - 21504 байт, (найти версию 1.3 мне не удалось - даже в комплекте с AddInMan 4.33 идет AddInPack 1.2),
AddInExtract v.1 - 243712 байт - от [email protected] - позволяет переименовывать и извлекать модули из коллекций.
Создание коллекций следующее:
1) Подберите необходимые Add-In програмы - BIN-файлы. Мысленно дополняйте их размер до кратности 16 Кб (Отсюда у PV-программистов есть фраза "16,1 Кб в два раза больше, чем 15,9 Кб");
2) Запустите на ПК программу AddInPack. Кнопкой "Add..." можно добавить в список новые Add-In модули из BIN-файлов. Если файл окажется коллекцией, то в списке отобразятся вс модули из коллекции. Кнопкой "Remove" ненужные модули можно убрать. Кнопки "Up" и "Down" позволяют отсортировать список по вашему желанию - для удобства самую "желательную" программу расположите первой - ведь ее можно запускать из главного меню на PV без всяких ухищрений.
3) Проконтролируйте размер получаемой коллекции в нижнем поле сообщений. Там показан размер коллекции и количество занимаемых сегментов по 64 Кб и блоков по 16 Кб. Кнопкой "Create File" создайте коллекцию - дайте ей уникальное имя.
4) Установите коллекцию в PV с помощью PVM (или PVMr). Не забудьте установить PVAddInManager - он достаточен в 1-м экземпляре. Поскольку он несколько меньше 48 Кб, к нему можно приклеить что-нибудь на 16 Кб, у меня к нему приклеен VoltMeter от ReallyAlexPro.
Вопрос о переименовании Add-In программ.
BIN-файл с модулем или коллекцией может иметь любое имя, которое вам захочется. Можете переименовать его сами, оставьте только расширение. Но имя программы, которое отобразится под ее иконкой в меню на PV, зашито в тело модуля. Его тоже можно изменить, причем не затрагивая имя файла. К сожалению, ни AddInPack, ни PVM этого не позволяют.
Сделать это можно так.
1) Использовать двоичный (шестнадцатеричный) редактор. Имя Add-In хранится в начале файла: 16 байт по смещению 0014H. Заканчиваться должно байтом 00h, так что максимальная длина имени - 15 знаков. Запомните, что для русских названий нужно вписывать вслепую, в кодировке PV-Rus, не обращая внимания на символьный столбец, коли таковой имеется в вашем редакторе. Для программы QView имеется подключаемая таблица PV-Rus кодировки.
2) Использовать программу AddInExtract. К сожалению, русские имена она пишет в Win(ANSI)-кодировке, из-за чего непригодна. Но она позволяет разрезать коллекцию обратно на отдельные файлы. Было бы хорошо, если бы автор ее доработал.
Вот порядок действия с ней:
1 - запустите программу AddInExtract;
2 - кнопкой "Open packed" загрузите BIN-файл. Это может быть как коллекция, так и одиночный модуль;
3 - кнопкой "Program name" можно переименовать любой из модулей в списке, в исходном файле коллекции при этом ничего не измениться;
4 - по кнопке "Extract files" для каждого модуля из списка будет создан отдельный BIN-файл. Имя файла совпадает с именем Add-In модуля (Существующие в каталоге файлы с такими именами перезаписываются поверх без предупреждения!).

4. Работа с PVAddInManager

Запустите на PV программу PVAddInMan. Его иконка - лупа с буквой "i" на фоне Casio-PV. Основной экран занимает список установленных модулей, похожий на меню-список (появляется при включении PV колесиком). Толко в этом списке отсутствуют встроенные приложения, зато отображены все обнаруженные модули из установленных коллекций. Иконка слева от имени программы обозначает:
- отдельная Add-In программа,
- первая Add-In программа в коллекции,
- "внутренняя" программа в коллекции.
Нажатием на строку нужной программы (стилусом или колесиком) ее можно запустить в работу также, как будто из главного меню.
Сверху над списком - строка из 16 квадратиков. Каждый квадратик - это сегмент 64 Кб. Черный - занят, белый - свободен. По нажатию на ней предлагается провести дефрагментацию памяти программ. Средствами ОС сделать это нельзя, но иногда бывает нужно (в случае, если требуется установить Add-In модуль размером 128 Кб или больше, а в области программ - только несмежные дырки по 64 Кб).
Справа вверху - значок "+". Он предназначен для установки Add-In модулей из области данных. Подробнее - смотрите ниже.
В нижней строке экрана - название программы и индикатор батарейки. При нажатии на название окошка About не появляется (но никто и не обещал). Индикатор показывает проценты и значение в вольтах - работает вполне точно.
Но самое интересное - если в списке модулей нажать не на имя программы, а на иконку. Открывается самый (на мой взгляд) интересный экран PVAddInMan.
Здесь имеются:
- схема области программ по блокам 16 Кб, на которой выделены блоки, занимаемые выбранным модулем или коллекцией,
- большая и малая иконки выбранного модуля, его название,
- размер коллекции, размер отдельного модуля, его дата и версия,
- номера занимаемых блоков по 16 Кб (тут почему-то они называются сегментами),
- дата библиотеки компляции,
- комментарий к модулю, указанный при инсталляции через PVM - к сожалению, только в одну строку - первые 18-20 символов (а допускается до 63-х).
Переходить от модуля к модулю удобнее всего колесиком - "вверх/вниз".
Внизу имеются кнопочки:
- Run - запустить на выполнение,
- вверх, вниз - переход по области программ к другим модулям,
- Back - на основной экран PVAddInMan,
- End - выход в Главне Меню ОС,
- Del - удалить модуль из памяти программ.
Самое интересное - кнопка "DEL" не отображается, если модуль удалять нельзя.
А нельзя удалять модули из середины коллекций - только коллекцию целиком, коллекцию с PVAddInMan ... и модуль "Таблицы"!
Как видите, данный экран значительно функциональнее, чем MenuBar->Опции->Версия.

5. Коллекции в виде ADT-файлов

Начиная с 4.хх версий, PVAddInMan умеет работать с файлами архивов в области данных. Автор постарался применить модуль от TextViewer-а. В версии 4.33 многие ошибки устранены (хотя, на мой взгляд, шероховатости остались). Теперь имеется возможность хранить коллекции в области данных.
Действия следующие:
1) Делаем LZH-архив из BIN-файлов любого (осмысленного) размера.
2) Делаем из него ADT-файл. Программа ADT.exe идет в комплекте с PVAddInMan.
3) Загружаем ADT-файл в PV (естественно - в область данных).
4) Запускаем PVAddInMan и давим "+" в првом верхнем углу.
5) Выбираем LZH-архив, затем файл.
Таким образом, имея большой архив программ, можно уже не беспокоиться об ограничении на 16 программ и стыковке по 64 Кб. В архиве модули идут без потерь, да еще со сжатием. Можно установить любой, попользоваться, а потом - удалить из памяти программ.
Если выбранный в архиве файл не имеет Add-In заголовка, то на экране будет отображено: имя файла, его размер, количество свободной памяти данных, количество свободных слотов для файлов данных. Тоже очень интересная информация.

С уважением Рямов Сергей / RSS, г. Хабаровск.
Все права связанные с торговыми марками, упоминаемыми на страницах этого ресурса, принадлежат их владельцам.
Полное или частичное воспроизведение любых материалов, содержащихся на этом сайте, допускается только с условием размещения ссылки на этот сайт.
Пишите нам: [email protected] © Алексей Ананьев-Миляр, 2001
www.melar.ru
Hosted by valueHOST: Лидер Вэб-Хостинга



Rambler's Top100 Rambler's Top100 Информационная Деловая Сеть