Вход в Зоопарк ручных компьютеров
Вход > Палеонтологический музей > Маленькие истории > POSE: эмулятор Palm
--

POSE: эмулятор Palm

Страница 1 2 3 4 5 6 >>

CoPilotВообще говоря, программа, сегодня известная под именем PalmOS Emulator (POSE) — явление в мире средств разработки для ручных ПК вполне оригинальное. Дело в том, что мало кто из создателей платформ для ручных ПК разрабатывал полноценный эмулятор, до тонкостей эмулирующий ту или иную машину, как правило, использовались или «симуляторы», которые имитировали API целевой платформы поверх какой-либо существующей или вообще, просто комплект специальных библиотек. Так было с современными платформами (Windows CE/PocketPC, EPOC32/Symbian) и с прошлыми, которые уже стали достоянием «Музея» — PenPoint, PenPad, GEOS... Последняя правда, была некоторым исключением, как и другие машины на базе ЦП x86 и DOS (GEOS представляла собой операционную среду, работавшую «поверх» DOS), однако, в любом случае, разработчик не мог проверить -- как его программа будет работать на реальном устройстве.

Изначально такой же принцип был реализован и в PalmOS, операционная система для Pilot создавались с помощью пакета Pilot Simulator (он и ныне входит в комплект разработчика для Macintosh). В качестве основного инструментального пакета при создании PalmOS применялся пакет CodeWarrior, разработка велась на Macintosh (в силу совместимости ЦП Palm с ЦП серии 68k, применявшимися в тогдашних Macintosh). По сути, Pilot Simulator представлял собой несколько библиотек, которые компоновались с программой для PalmOS, создавая программную «прослойку», имитирующую API PalmOS и позволяли запускать программу для PalmOS в среде MacOS, где с ней можно было работать (отлаживать, тестировать и проч. ) обычными для Macintosh средствами.

Такой подход предоставлял несколько преимуществ (возможность отладки на уровне исходных текстов на языке высокого уровня, скорость компиляции и проч.), но был сопряжен с некоторыми неудобствами (все-таки, симулятор — не копия целевой машины). Кроме того, между симулятором и эмулятором было несколько заметных отличий. Например, разработчик мог в программе для Simulator использовать функции ANSI C (malloc/free, strcpy/strcmp, rand и проч., которые были доступны в среде симулятора — но которых не было в PalmOS; мог создавать записи БД более 64 Кбайт, записывать информацию в память PalmOS без использования DMWrite и проч., полный список можно найти на http://oasis.palm.com/dev/kb/manuals/1552.cfm). Кроме того — и это была главная проблема — требовался Macintosh. Разработчики для Windows на первых порах не могли создавать программы для Palm, что некогда даже стимулировало появление независимого SDK, подготовленного Даррином Массеной (www.massena.com, персона в мире разработчиков для Palm вполне культовая). И в значительной мере как один из компонентов этого SDK, Грег Хьюджилл разработал эмулятор Palm, тогда называвшийся CoPilot. Позднее, CoPilot был перенесен на несколько других платформ, включая Windows CE, права на него перешли к компании 3Com/Palm Computing, превратился в PalmOS Emulator, появилось несколько версий для разных клонов Palm... У программы оказалась весьма занятная история. Подробности о первых днях жизни POSE можно найти в статье Грега «CoPilot: проект и разработка», некоторую историю после того, как эмулятор перешел в руки компании 3Com/Palm Computing — в статье ведущего разработчика отдела инструментальных средств Palm Computing, Кейта Роллина. В этом же материале объединена история версий всех разновидностей PalmOS Emulator и CoPilot для разных платформ. Итак, краткий курс истории PalmOS Emulator ;-)

1996 год

15 сентября
Грег Хьюджилл публикует первую версию эмулятора PalmOS 1.0 для Windows под названием CoPilot 1.0 beta 1. Copilot 1.0 beta 1 эмулировал Pilot 1000/5000 с PalmOS 1.0. У разработчика по его собственному признанию, не было никакой документации по PalmOS, все, что было — руководство про процессору DragonBall MC68328.

В первозданном виде у эмуляторе имеется достаточно много проблем, от несовместимости с некоторыми прикладными программами и до неработоспособности при запуске в некоторых версиях Windows 95. Однако, CoPilot сразу же вызывает восторженную реакцию у публики, даже скептики (и правда, разработка эмулятора без документации — задача нетривиальная) соглашаются, что задачу удалось решить на редкость гладко. Для работы эмулятора необходим файл с образом ПЗУ PalmOS, однако, CoPilot распространяется без него — с целью избежать коллизий, связанных с авторскими правами U. S. Robotics на ПЗУ Pilot. Пользователям предлагается скопировать файл ПЗУ из своего Pilot, для извлечения содержимого ПЗУ используется программа PilotHack Даррина Массены 1.01. Вообще говоря, проблема поиска файла с образом ПЗУ надолго стала одной из основных для пользователей, даже несмотря на то, что позднее (уже 3Com) опубликовала файлы с ПЗУ на Web-узле для разработчиков.

16 сентября
Появляется CoPilot 1.0 beta 2. В дистрибутивном пакете первой версии была забыта программа makerom.exe — PilotHack "сливал" ПЗУ фрагментами по 16 Кбайт (их было 32, файлы romdump.0--romdump.31), эта программа позволяла «склеить» кусочки ПЗУ в общий файл-образ. Появилась возможность задавать объем памяти, доступный эмулятору (она хранилась в файле pilot.ram, причем, если пользователь хотел работать с тем файлом, который уже создал с помощью предыдущей версии CoPilot, то его нужно было переименовать в pilot2048.ram, в противном случае, создавался новый файл). Для инсталляции программ в CoPilot необходимо было «синхронизировать» эмулятор, соединив последовательные порты ПК нуль-модемным кабелем. Для пользователей, у которых такого кабеля не было (или не было свободных портов) Грег выложил на W-узле файл cpsample.zip, в котором содержался образ памяти CoPilot, с инсталлированными прикладными программами.

17 сентября
Появляется CoPilot 1.0 beta 2. В этой версии была переработана только документация — в инструкции по копированию содержимого ПЗУ от предыдущей редакции содержалась ошибка — рекомендовалось отключить все пункты HotSync, из-за чего скопировать ПЗУ, естественно, было невозможно, в CoPilot 1.0 beta 2 все было корректно (не изменять значение по умолчанию в разделе System, оставив Pilot overwrites Desktop).

22 сентября
Copilot 1.0 beta 3. В основном, системные доработки (например, реализован отладчик, который запускался автоматически, при обнаружении контрольной точки — инструкция 0x4AFC). В дистрибутивный пакет CoPilot, несмотря на риск нарушить авторские права U. S. Robotics, включена программа GetRom, которая позволяла скопировать ПЗУ из Pilot без черной магии с PilotHack.

23 сентября
CoPilot 1.0 beta 4 уже позволял эмулировать нажатие кнопки HotSync на доке Pilot из меню CoPilot (либо после нажатия на правую кнопку мыши или по F10 — последнее позволяло работать с CoPilot пользователям, которым ради HotSync с эмулятором приходилось отключать от последовательного порта мышь). Разработчик занимается исследованием возможности создания функции «программного HotSync» (планировалась назвать ее QuickSync) — но увы, она так и не была сделана, ни сейчас, ни в будущем. Кроме того, в CoPilot 1.0 beta 4 был заметно переработан отладчик (разработкой отладчика занимался Даррин Массена).

29 сентября
В CoPilot 1.0 beta 5 были решены проблемы синхронизации при работе с Windows 95, запуска CoPilot в режиме 256 цветов, работы в режиме увеличенного экрана (при переключении в этот режим, вместо экрана отображался черный квадрат).

6 октября
Выпущена версия CoPilot 1.0 beta 6. Реализована возможность загрузки программ в CoPilot из меню (пункт Load App — вместо функции QuickSync, которую реализовать не удалось).

20 октября
С Copilot 1.0 beta 7 нормально заработали некоторые расширения программы HackMaster (например, запуск AlarmHack не заканчивается аварийным завершением CoPilot), эмулируется функция SndDoCmd (только с если параметр cmd задан в 1). У CoPilot появилась новая пиктограмма и главное — опубликованы исходные тексты. Всем желающим предлагается переносить CoPilot на другие платформы.

20 октября
«Упс, переделывая SndDoCmd, я полностью отключил всю звуковую подсистему CoPilot». В CoPilot 1.0 beta 7a проблема исправлена, кроме того, немного переработаны условия использования исходных текстов CoPilot.

27 октября
CoPilot 1.0 beta 8. Переделан метод загрузки программ (теперь корректно работает с программами, попытка загрузки которых в прошлой версии означал крах CoPilot), несколько косметических изменений («маска» файлов по умолчанию в диалоге Load App теперь содержит и *.pdb).

Страница 1 2 3 4 5 6 >>

РекламаRambler's

Allbest.ru

RB2 Network

RB2 Network
--

Просим при воспроизведении материалов этого сайта, делать ссылку на Зоопарк ручных компьютеров
Copyright © 1999-2000 Зоопарк ручных компьютеров