8. Вопросы по разработке программ для Зауруса
Вопрос:
На чём можно писать программы для Зауруса?
Ответ:
Практически на всём - почти все распространённые языки портированы на заурус. Большинство GUI приложений написаны на С++ с использованием библиотек Qtopia от Sharp и Trolltech. Что именно для этого нужно и как все настроить хорошо написано вот тут (по-английски): http://www.zaurususergroup.com/modules. ... Developing
Также достсточно много приложений написаны на Java.
Вопрос:
Как воспользоваться недокументированными возможностями шарповской прошивки (диалоги открытия файлов, например)?
Ответ:
Для этого нужно использовать соответствующие include-файлы (http://www.zaurususergroup.com/UpDownlo ... -201.phtml). Так же не забудте добавить в проект указания на линковку с соответствующей библитекой (libsl.so), которую можно скопировать прямо с Зауруса.
Вопрос:
Как работать с форматом данных ПИМ-приложений?
Ответ:
Нужно использовать вот эти include-файлы (http://www.zaurususergroup.com/UpDownlo ... -198.phtml). Так же неоторая документация лежит вот тут: http://www.zaurususergroup.com/UpDownlo ... -197.phtml. К сожалений, API очень неудобный.
Вопрос:
В английской версии прошивки нет Java машины. Где её взять?
Ответ:
Java машины была убрана из пршивки из-за экономии места, но при необходимости её можно установить. Java машин для Зауруса несколько:
1. Jeode - довольная старая, шедшая в комплекте еще с 5500-им заврами. Реализует, если не ошибаюсь, Java 1.1.8. Есть, например, вот тут: http://www.zaurususergroup.com/UpDownlo ... d-38.phtml
2. Personal Profile от Sun - более свежая, идет в комплекте с последнимим заврами (6000, в частности), а так же есть на диске от японских завров. Реализует, Java 1.3. Подробности - тут: http://java.sun.com/developer/earlyAccess/pp4zaurus/
3. Kaffe (http://www.kaffe.org/) - open source реализация Java VM. Сборки её под Zaurus точно были о OpenZaurus, насчет шарповской прошивки точно не знаю.
4. Blackdown Java (http://www.blackdown.org) - для Завра последняя доступная версия - это 1.3.1 (ftp://ftp.tux.org/pub/java/JDK-1.3.1/arm/rc1/)
Рекомендуется использовать варианты 1 или 2.
Вопрос:
Можно ли писать и компилировать программы прямо за Заурусе?
Ответ:
Для сборки программ на Заурусе необходимо установить так называемый Developer Image. Поскольку он большой (около 30 Мб), то для установки понадобится SD или CF карточка. Скачать его можно вот тут: http://downloads.zaurususergroup.com/do ... mg-1.6.zip
Начиная с версии 1.6, данным пакетом можно собирать и Qtopia GUI приложения. Для компиляции C++ исходников рекомендуется (а часто и просто необходимо) создать swap файл размером как минимум 64, а лучше 128 Мб.
Ответы на часто задаваемые вопросы (FAQ)
Последний раз редактировалось maslovsky Чт янв 13, 2005 12:25, всего редактировалось 1 раз.
Вопросы по использованию VGA-карт на Заурусе. © Grim Reaper
9. Вопросы по использованию VGA-карт на Заурусе. © Grim Reaper (reaper3@yandex.ru) 2004
Вопрос:
Какие VGA-карты работают с Заурусом?
Ответ:
Практически любые из тех, что можно встретить в России. Помимо «официальной» карты CFXGA от I-O-Data Systems, выпускающейся в Японии и очень редкой у нас, к Заурусу подходят карты Prolink и Pretec CompactPresenter. Карты от Margi тоже должны подойти. Как и любая другая карта на разъем Compact Flash. Разъем SD в Заурусе не поддерживает SDIO.
Вопрос:
Какие возможности доступны при использовании VGA-карт на Заурусе?
Ответ:
Можно показывать презентацию. Или не очень быстро набирать текст вслепую. Или просто рассматривать рисунки. Смотреть кино не выйдет – у этих карт низкая пропускная способность вследствие того, что центральный процессор и видеоконтроллер Зауруса вынуждены выводить изображение уже не на один, а на целых два экрана. Это связано с тем, что устройство карт VGA CompactFlash достаточно примитивно. Доступные реально разрешения составляют 640x480 и 800x480. В последнем случае на экране VGA-устройства (проектора и т.д.) справа и слева от содержимого экрана Зауруса просто остаются черные полосы, поэтому этот режим посоветовать никак нельзя.
Вопрос:
Какие прошивки совместимы с VGA-картами?
Ответ:
Любые, основанные на ядре Sharp и графической оболочке Qtopia (родная, theKompany, Cacko и т.д.). Последняя уже почти настроена для работы с реально попадающимися картами. Как настроить ее до конца – читайте ниже. Прошивки серии X11 (pdaX, ARM Debian/Familiar и т.д.) тоже можно заставить работать, но для этого нужно переписать для работы с библиотеками X11 и пересобрать исходники программы CFXGAMIRROR, которая работает с экраном через кутопийные библиотеки. Теоретически под эти прошивки можно даже собрать программы, совместимые с PowerPoint (OpenOffice, KPresenter, MagicPoint), но для них нужно очень много модулей и библиотек, которые однозначно не поместятся во внутренний флэш.
Вопрос:
Какие карты реально купить в Москве и в целом по России?
Ответ:
До последнего времени была доступна карта Prolink. Сейчас ее поставки прекращены. Карты Margi и CFXGA официально в Россию не завозятся, но иногда дилеры закупают их на свой страх и риск. В европейской части России чаще можно встретить Margi, в азиатской – CFXGA. С последней Заурус работает лучше всего, т.к. все программы работы с VGA-картами рассчитаны именно на эту модель. Компания Pretec прекратила выпускать свою карту CompactPresenter, но купить ее в Москве и Петербурге более-менее не проблема.
Вопрос:
Для чего нужен файл memory_cs.o от I-O-Data Systems?
Ответ:
Так как VGA-карты прикидываются картами памяти, в которые осуществляет запись процессор, то для корректной работы с ними нужно заменить модуль memory_cs.o, который находится в каталоге /lib/modules/2.4.18-rmk7-pxa3/embedix/pcmcia, заменив модулем имеющуюся там ссылку. А в прошивке Cacko 1.21a и выше с этим файлом вообще ничего делать не надо – нужный файл уже включен в ROM.
Вопрос:
В прошивке Cacko 1.21a и выше заявлена поддержка VGA-карты, но Mirror и Presentation выводят на экран всякую ерунду. Что делать?
Ответ:
Это связано с тем, что встроенные в ОС программы рассчитаны на «родную» карту CFXGA, которая совсем не совместима с остальными «по регистрам». Конкретно – одинаковые номера обозначают в этих картах совсем разные видеорежимы. И в итоге все остальные карты при попытке запустить mirror или Presentation радостно засаживают на внешний экран аж 150 Гц и выше. Само собой разумеется, что если монитор не самый новый и навороченный, то его этак недолго и спалить. Поэтому лучше не экспериментировать, а сразу войти в систему как root, зайти в /home/QtPalmtop/bin и отредактировать файл mirror.sh, точнее, symlink на реальный /usr/QtPalmtop.rom/bin/mirror.sh, скопировав этот последний файл в /home/root, указав symlink на его новое размещение и заменив в нем «cfxgamirror 0» на «cfxgamirror 1» (так выставляется нужный видеорежим). Потом запускаете mirror (Пуск – Settings – mirror) или руками sudo cfxgamirror (она работает только из-под root’a) и наслаждаетесь результатами. До тех пор, пока не запустите программу Presentation
Вопрос:
Может ли Pretec CompactPresenter работать на Заурусе? В Макцентре мне сказали, что она рассчитана только на разные версии Windows CE и с Заурусом несовместима. А CFXGA купить очень сложно…
Ответ:
По-своему они, конечно, правы: воткнули, подключили, запустили – «не работает». Действительно так. Но на самом деле здесь нужен всего лишь твик, твик и еще раз твик
Вопрос:
Как именно запустить эту карту на Заурусе?
Ответ:
Вышеприведенная методика заставляет работать и эту карту. В режиме 640x480. А другие нам не нужны, правда?
Вопрос:
Хорошо, я ее поставил на отображение экрана. Но программа Presentation снова срывает изображение, едва начинает слайд-шоу. Как быть?
Ответ:
Эта программа очень умная и пытается выводить изображение на экран сама, в обход mirror’a, но в расчете на ту же CFXGA. Если запустить сначала mirror, а потом ненастроенную Presentation, то изображение сорвется и придется вытаскивать карту, а потом снова запускать mirror. Есть три варианта решения этой проблемы:
Вопрос:
Можно ли все-таки посмотреть с Зауруса кино на «большом экране»?
Ответ:
Программа CFXGA имеет фиксированный рефреш-рейт – чуть менее 1 Гц. Программа iomdvga позволяет выставлять рефреш в качестве параметра – 100000 соответствуют 0.1 секунды, 500000 – 0.5 секунды и т.д. Если Вас устраивает частота 10 кадров в секунду – смотрите на здоровье. Даже разгон процессора не даст той мощности, которая необходима для декомпрессии видео и вывода его на два дисплея сразу. Единственный относительно реальный вариант – пережать видео на минимальный битрейт и транслировать его с помощью Wi-Fi на проектор с соответствующим интерфейсом. Ресурсов понадобится поменьше (у современных карт Wi-Fi интеллектуальный интерфейс с шиной), но мощности PXA255, скорее всего, тоже не хватит
Вопрос:
Какие VGA-карты работают с Заурусом?
Ответ:
Практически любые из тех, что можно встретить в России. Помимо «официальной» карты CFXGA от I-O-Data Systems, выпускающейся в Японии и очень редкой у нас, к Заурусу подходят карты Prolink и Pretec CompactPresenter. Карты от Margi тоже должны подойти. Как и любая другая карта на разъем Compact Flash. Разъем SD в Заурусе не поддерживает SDIO.
Вопрос:
Какие возможности доступны при использовании VGA-карт на Заурусе?
Ответ:
Можно показывать презентацию. Или не очень быстро набирать текст вслепую. Или просто рассматривать рисунки. Смотреть кино не выйдет – у этих карт низкая пропускная способность вследствие того, что центральный процессор и видеоконтроллер Зауруса вынуждены выводить изображение уже не на один, а на целых два экрана. Это связано с тем, что устройство карт VGA CompactFlash достаточно примитивно. Доступные реально разрешения составляют 640x480 и 800x480. В последнем случае на экране VGA-устройства (проектора и т.д.) справа и слева от содержимого экрана Зауруса просто остаются черные полосы, поэтому этот режим посоветовать никак нельзя.
Вопрос:
Какие прошивки совместимы с VGA-картами?
Ответ:
Любые, основанные на ядре Sharp и графической оболочке Qtopia (родная, theKompany, Cacko и т.д.). Последняя уже почти настроена для работы с реально попадающимися картами. Как настроить ее до конца – читайте ниже. Прошивки серии X11 (pdaX, ARM Debian/Familiar и т.д.) тоже можно заставить работать, но для этого нужно переписать для работы с библиотеками X11 и пересобрать исходники программы CFXGAMIRROR, которая работает с экраном через кутопийные библиотеки. Теоретически под эти прошивки можно даже собрать программы, совместимые с PowerPoint (OpenOffice, KPresenter, MagicPoint), но для них нужно очень много модулей и библиотек, которые однозначно не поместятся во внутренний флэш.
Вопрос:
Какие карты реально купить в Москве и в целом по России?
Ответ:
До последнего времени была доступна карта Prolink. Сейчас ее поставки прекращены. Карты Margi и CFXGA официально в Россию не завозятся, но иногда дилеры закупают их на свой страх и риск. В европейской части России чаще можно встретить Margi, в азиатской – CFXGA. С последней Заурус работает лучше всего, т.к. все программы работы с VGA-картами рассчитаны именно на эту модель. Компания Pretec прекратила выпускать свою карту CompactPresenter, но купить ее в Москве и Петербурге более-менее не проблема.
Вопрос:
Для чего нужен файл memory_cs.o от I-O-Data Systems?
Ответ:
Так как VGA-карты прикидываются картами памяти, в которые осуществляет запись процессор, то для корректной работы с ними нужно заменить модуль memory_cs.o, который находится в каталоге /lib/modules/2.4.18-rmk7-pxa3/embedix/pcmcia, заменив модулем имеющуюся там ссылку. А в прошивке Cacko 1.21a и выше с этим файлом вообще ничего делать не надо – нужный файл уже включен в ROM.
Вопрос:
В прошивке Cacko 1.21a и выше заявлена поддержка VGA-карты, но Mirror и Presentation выводят на экран всякую ерунду. Что делать?
Ответ:
Это связано с тем, что встроенные в ОС программы рассчитаны на «родную» карту CFXGA, которая совсем не совместима с остальными «по регистрам». Конкретно – одинаковые номера обозначают в этих картах совсем разные видеорежимы. И в итоге все остальные карты при попытке запустить mirror или Presentation радостно засаживают на внешний экран аж 150 Гц и выше. Само собой разумеется, что если монитор не самый новый и навороченный, то его этак недолго и спалить. Поэтому лучше не экспериментировать, а сразу войти в систему как root, зайти в /home/QtPalmtop/bin и отредактировать файл mirror.sh, точнее, symlink на реальный /usr/QtPalmtop.rom/bin/mirror.sh, скопировав этот последний файл в /home/root, указав symlink на его новое размещение и заменив в нем «cfxgamirror 0» на «cfxgamirror 1» (так выставляется нужный видеорежим). Потом запускаете mirror (Пуск – Settings – mirror) или руками sudo cfxgamirror (она работает только из-под root’a) и наслаждаетесь результатами. До тех пор, пока не запустите программу Presentation
Вопрос:
Может ли Pretec CompactPresenter работать на Заурусе? В Макцентре мне сказали, что она рассчитана только на разные версии Windows CE и с Заурусом несовместима. А CFXGA купить очень сложно…
Ответ:
По-своему они, конечно, правы: воткнули, подключили, запустили – «не работает». Действительно так. Но на самом деле здесь нужен всего лишь твик, твик и еще раз твик
Вопрос:
Как именно запустить эту карту на Заурусе?
Ответ:
Вышеприведенная методика заставляет работать и эту карту. В режиме 640x480. А другие нам не нужны, правда?
Вопрос:
Хорошо, я ее поставил на отображение экрана. Но программа Presentation снова срывает изображение, едва начинает слайд-шоу. Как быть?
Ответ:
Эта программа очень умная и пытается выводить изображение на экран сама, в обход mirror’a, но в расчете на ту же CFXGA. Если запустить сначала mirror, а потом ненастроенную Presentation, то изображение сорвется и придется вытаскивать карту, а потом снова запускать mirror. Есть три варианта решения этой проблемы:
- 1. Пользоваться программой HancomPresenter, которая поддерживает кириллицу и понимает файлы PowerPoint. Правда, отбрасывает при показе все нефоновые рисунки, формулы, верхний/нижний регистр и т.д. Но зато работает и не умничает
2. ImagePad показывает слайд-шоу ничуть не хуже Presentation’a и при этом тоже не умничает. Правда, есть риск испортить картинку кликом на ней – это все-таки редактор, а не просмотровщик
3. Если позарез хочется именно Presentation, то нужно настроить его на разрешение 640x480 и вывод на видеоканал (композитный или S-Video). В этом случае он не будет радикально сбивать настройку. Слегка все-таки собьет, так что заставьте его показывать слайды (сигнал исчезнет), нажмите Cancel и запустите mirror еще разок-другой до восстановления изображения на внешнем экране. Проще было бы, конечно, установить в сырцах Presentation видеорежим 1 вместо 0 и пересобрать, но сие есть дело темное, а мы люди маленькие…
Вопрос:
Можно ли все-таки посмотреть с Зауруса кино на «большом экране»?
Ответ:
Программа CFXGA имеет фиксированный рефреш-рейт – чуть менее 1 Гц. Программа iomdvga позволяет выставлять рефреш в качестве параметра – 100000 соответствуют 0.1 секунды, 500000 – 0.5 секунды и т.д. Если Вас устраивает частота 10 кадров в секунду – смотрите на здоровье. Даже разгон процессора не даст той мощности, которая необходима для декомпрессии видео и вывода его на два дисплея сразу. Единственный относительно реальный вариант – пережать видео на минимальный битрейт и транслировать его с помощью Wi-Fi на проектор с соответствующим интерфейсом. Ресурсов понадобится поменьше (у современных карт Wi-Fi интеллектуальный интерфейс с шиной), но мощности PXA255, скорее всего, тоже не хватит
Эмуляторы приставок/компьютеров на Zaurus Cxx00. © kfetisov
10. Эмуляторы приставок/компьютеров на Zaurus Cxx00. © Константин Фетисов (kfetisov) 2005
Вопрос:
Что необходимо для запуска эмуляторов игрушек?
Ответ:
Прежде всего, необходимо установить библиотеку LibSDL (simple direct layer), которая является необходимым условием для любого эмулятора. Последняя версия на 01/11/05 – http://www.piro.hopto.org/~piro/zaurus/ ... -2_arm.ipk или в Cacko feed.
Вопрос:
Поддерживаются ли внешние манипуляторы (джойстики и т.п.)
Ответ:
Для полноценной игры необходимо также приобрести USB джойстик или геймпад, т.к. клавиатура Zaurus’а не позволяет полноценно играть в игры и, кроме того, при активном использовании аркад она быстро выйдет из строя. (От себя могу порекомендовать Genius MiniPad - http://www.genius.ru/Product.aspx?Produ ... &archive=0)
Поддержка джойстиков в Cacko 1.23 включена в прошивку, поэтому он должен определиться автоматически. Проверить легко, дав команду jstest /dev/js0 в консоли. В случае если джойстик (геймпад) автоматически не определился, она выдаст “no such device “.
Для предыдущих моделей Zaurus необходимо наличие CF карточки с USB Host, поскольку встроенного хоста нет.
Вопрос:
Где взять эмулятор конкретный приставки?
Ответ:
Или опять же установить из Cacko feed
Вопрос:
Как установить и запустить?
Ответ:
Скачанный архив разворачивается командой gzip –d <имя архива>, а затем эмулятор копируется в /home/QtPalmtop/bin
При установки из feed это делать не нужно.
Запускаются все эмуляторы также из консоли с параметром –j, если у вас подключен джойстик. Например, snes9x-sdljoy –j <имя ROM с игрой>
Вопрос:
А чтобы и джойстик тоже работал?
Ответ:
Перед запуском Snes необходимо задать раскладку клавиш на джойстике командой export S9XKEYS=27,100,99,115,120,97,122,13,32,103,106,117,110,121,98,105,109
Вопрос:
Замечания по поводу быстродействия
Ответ:
По поводу быстродействия сразу хочу заметить, что эмуляторам Dgen & UAE не хватает мощности процессора Zaurus даже с разгоном до 624 МГц, но для демонстрации возможностей Зауруса своим знакомым их достаточно
Вопрос:
Что необходимо для запуска эмуляторов игрушек?
Ответ:
Прежде всего, необходимо установить библиотеку LibSDL (simple direct layer), которая является необходимым условием для любого эмулятора. Последняя версия на 01/11/05 – http://www.piro.hopto.org/~piro/zaurus/ ... -2_arm.ipk или в Cacko feed.
Вопрос:
Поддерживаются ли внешние манипуляторы (джойстики и т.п.)
Ответ:
Для полноценной игры необходимо также приобрести USB джойстик или геймпад, т.к. клавиатура Zaurus’а не позволяет полноценно играть в игры и, кроме того, при активном использовании аркад она быстро выйдет из строя. (От себя могу порекомендовать Genius MiniPad - http://www.genius.ru/Product.aspx?Produ ... &archive=0)
Поддержка джойстиков в Cacko 1.23 включена в прошивку, поэтому он должен определиться автоматически. Проверить легко, дав команду jstest /dev/js0 в консоли. В случае если джойстик (геймпад) автоматически не определился, она выдаст “no such device “.
Для предыдущих моделей Zaurus необходимо наличие CF карточки с USB Host, поскольку встроенного хоста нет.
Вопрос:
Где взять эмулятор конкретный приставки?
Ответ:
Код: Выделить всё
Приставка Эмулятор Ссылка
SNES Snes9x http://www.piro.hopto.org/~piro/zaurus/emu/snes9x-sdljoy.gz
NES (Dandy) Znester http://www.piro.hopto.org/~piro/zaurus/emu/znester-sdljoy.gz
SEGA Genesis SMS http://www.piro.hopto.org/~piro/zaurus/emu/sms_sdl.gz
GameBoy,GB Color Visual Boy Advance http://www.piro.hopto.org/~piro/zaurus/emu/VisualBoyAdvance.gz
SEGA Mega Drive Dgen http://www.piro.hopto.org/~piro/zaurus/emu/dgen.gz
AMIGA E-UAE http://www.piro.hopto.org/~piro/zaurus/emu/uae.gz
Или опять же установить из Cacko feed
Вопрос:
Как установить и запустить?
Ответ:
Скачанный архив разворачивается командой gzip –d <имя архива>, а затем эмулятор копируется в /home/QtPalmtop/bin
При установки из feed это делать не нужно.
Запускаются все эмуляторы также из консоли с параметром –j, если у вас подключен джойстик. Например, snes9x-sdljoy –j <имя ROM с игрой>
Вопрос:
А чтобы и джойстик тоже работал?
Ответ:
Перед запуском Snes необходимо задать раскладку клавиш на джойстике командой export S9XKEYS=27,100,99,115,120,97,122,13,32,103,106,117,110,121,98,105,109
Вопрос:
Замечания по поводу быстродействия
Ответ:
По поводу быстродействия сразу хочу заметить, что эмуляторам Dgen & UAE не хватает мощности процессора Zaurus даже с разгоном до 624 МГц, но для демонстрации возможностей Зауруса своим знакомым их достаточно