POSE: эмулятор Palm
Страница 1 2 3
4 5 6
1997 год
Февраль
Компания Illume Software разрабатывает CoPilot для Macintosh.
26 февраля
13:52 ;-) Иван Куртис (Ivan Curtis) публикует первую версию X-CoPilot
для UNIX. Программа разрабатывалась в среде Linux (i386) и SunOS
4.1.1, однако, как могла работать в среде практически любой версии
UNIX с X-Window, хотя и оставались некоторые сложности при компиляции
X-CoPilot в некоторых версиях UNIX. В первой версии были реализованы
лишь рудиментарный отладчик и базовые средства эмуляции.
5 марта
Появляется вторая версия CoPilot для X-Window (0.2). С этой версии
к работе над X-Copilot приступила команда разработчиков, в основном
коллег Ивана Куртиса. К тому моменту они создали компанию Cuspy
Solutions, первые версии X-Copilot обитали на xcopilot.cuspy.com
(сегодня уже несуществующем).
Во второй версии X-CoPilot ОЗУ отображалось в файл, заработали
«кнопки», появился интерфейс командной строки для отладчика,
были переработаны подсистема эмуляции ЦП и реализованы функции семейства
fakecall(), которые в CoPilot использовались для организации взаимодействия
программ для PalmOS с ОС настольного ПК.
18 марта
Джефф Дион (кстати, он же занимался «обучением» gcc
компиляции для PalmOS) выпустил промежуточную версию X-CoPilot 0.3.
18 марта
Майкл Поллет портировал CoPilot, создав программу Zilot, второй
эмулятор Palm для Macintosh. В версии 1.0d1, кроме функций «основного»
CoPilot, были реализованы возможность сохранения содержимого ОЗУ
при перезапусках программы, инсталляции программ Palm, возможность
работы в режиме увеличенного экрана, подсветка и проч. Одним из
преимуществ программы была, по словам автора, скорость.
19 марта
Zilot появился в Интернет. В версии 1.0b1 были реализованы средства
работы со звуком, исправлены ошибки при загрузке программ и переключении
эмулятора в режим «сна» (функция была просто отключена).
2 апреля
Появляется Zilot 1.0, в котором реализованы функции синхронизации
буфера обмена между Zilot и Macintosh (только текст, максимум 1
тыс. символов), переделана картинка «корпуса» (правда,
автору не нравилась, он просил кого-нибудь сделать трехмерную картинку)
и пиктограмма файла ПЗУ, исправлены некоторые ошибки (при переключении
программ, при отрисовке текстового курсора). Программа могла работать
в в режиме Mixed Mode (когда подпрограммы для PowerPC могли вызываться
из подпрограмм эмулируемого ЦП серии 68k, довольно естественная
возможность для Macintosh, платформы, незадолго до этого перешедшей
с 68k на PowerPC), предусматривались функции загрузки разных файлов
ПЗУ, сохранить копию экрана в буфер обмена Macintosh (как картинку),
синхронизации даты и времени с системными значениями этих параметров.
Корректно обрабатывалась попытка загрузить программу в эмулятор
до загрузки PalmOS, переработана подсистема эмуляции последовательного
порта, клавиши F1-F4 назначены на кнопки виртуального Palm, отключена
функция перезагрузки ОС при первом запуске Zilot.
9 апреля
Ян Гольдберг и Джефф Дион выпустили X-CoPilot 0.4. В ней появились
средства для работы с цветными терминалами X-Window, возможность
загрузки программ средствами CoPilot (до того, это можно было сделать
только из отладчика), переделана подсистема управления клавиатурным
вводом, реализован работоспособный последовательный порт, возможность
отладки с помощью сокетов TCP/IP (когда отладчик мог подключаться
к эмулятору, скажем, по Telnet).
10 апреля
Ян Гольдберг выпустил версию X-CoPilot 0.4-iang, в которой реализовал
возможность работы с 1-Мбайт ПЗУ PalmPilot Professional (PalmOS
2.0), средства трассировки вызовов функций, воспроизведения звука,
изменились параметры по умолчанию (объем ОЗУ, например, увеличился
до 1 Мбайт).
18 апреля
В редакции X-CoPilot 0.4-iang2 были реализованы средства работы
с отладчиком gdb, работы с несколькими файлами ОЗУ (причем, при
переключении можно было задать и размер «памяти»), сделаны
некоторые доработки в TCP-интерфейсе предыдущего отладчика.
20 апреля
Появилась версия Zilot 1.0.1. Решены некоторые проблемы звуковой
подсистемы (и «я все еще не знаю, почему Palm пищит примерно
каждые 10 с»), оптимизирована работа с дисплеем, эмуляция
подсистемы памяти («здесь ничего не осталось от CoPilot»),
переделана пиктограмма, исправлены ошибки работы с последовательным
портом (программа не запускалась при отсутствии системных библиотек
MacOS для работы с ним).
25 мая
Зигфрид Хейнич опубликовал первую версию Copilot/2 CoPilot
для OS/2. В первой версии не было возможности работы с последовательным
портом (и естественно, не работал HotSync), отладчик, было несколько
документированных ошибок (по выходу из программы, например, эмулятор
«замораживал» систему примерно на 1 мин, не сохранялись
параметры настройки, сбивалась палитра). Эмулировались только PalmOS
1.0 (Pilot 1000 и Pilot 5000). Программа использовала библиотеку
Open32.
10 июня
После длительного перерыва, Грег Хьюджилл вернулся к работе над CoPilot
(поскольку U. S. Robotics выпустила новые модели Palm PalmPilot
Personal и PalmPilot Professional). Опубликована версия CoPilot
1.0 beta 9. Эмулятор работает с 1-Мбайт ПЗУ от PalmPilot Personal
и Professional. С проблемами паузы при обработке кликов пером,
отладчик неработоспособен при использовании неанглийских ПЗУ PalmOS
1.0 (поскольку изменились адреса функций; пункт меню Debugger был
отключен). Некоторые программы, содержащие отладочную информацию,
вызывали крах CoPilot, эмулятор предотвращал загрузку программ,
когда машина была «выключена», была реализована возможность
включения/выключения звука в диалоге параметров CoPilot (в Windows
95 она была отключена в этой версии Windows была некорректно
реализована функция Win32 Beep(), которую использовал CoPilot для
выдачи звука).
Реализована возможность обработки некоторых ошибок (попытка записи
по некорректным адресам, некорректный доступ к области «памяти
хранения», попытка записи в область памяти ПЗУ (0x10c00000-0x10cfffff),
попытка записи или считывания информации в системной памяти (0x00000000-0x0000ffff,
0x10000000), 0x10c00000-0x10cfffff), кроме области 0x10000000-0x10ffffff
(PalmOS обращалась по этим адресам, когда определяла количество
памяти), пользователь мог проигнорировать предупреждения).
В этот момент Palm Computing начала разработку версии CoPilot для
PalmOS 3.0, в рамках проекта создания Palm III. И начинаются переговоры
о передаче исходных текстов CoPilot компании 3Com, которая к тому
же моменту купила U. S. Robotics.
30 июня
В редакции X-CoPilot 0.4-iang3 появились средства работы с видеорежимом
2 бита на пиксел и ускорена процедура пересылки растровых блоков.
6 июля
Появляется X-CoPilot 0.4-iang4, в котором появилась возможность
«увеличения» экрана, переработаны исходные тексты (дало
возможность упростить перенос в среду Solaris и AIX), реализована
эмуляция подсветки, появилась возможность загружать отдельно программы
и БД (пункты меню Load App и Load DataBase заменили Load file),
средства перенаправления вызовов сетевой подсистемы PalmOS в стек
TCP/IP, причем, можно было «перенаправлять» трафик с
последовательного порта, одновременно с использованием отладчика,
что радикально упрощало разработку сетевого ПО.
10 июля
Новая версия X-CoPilot 0.4-iang5. Несколько косметических
изменений (цветовая гамма, возможность задавать цвет фона и подсветки)
и решение нескольких системных проблем (в основном, работа с памятью
X-Window), реализованы средства для работы с отладчиком gdb по протоколу
TCP/IP.
15 июля
В редакции X-CoPilot 0.4-iang6 переработана подсистема памяти (возможность
задавать в переменной окружения XCOPILOTRAM не только размер памяти,
но и имя файла с ОЗУ), исправление ошибки с отображением подсветки,
более продвинутая версия подпрограммы обновления экрана, новая пиктограмма
и проч. Реализована возможность работы отладчика gdb с ПЗУ PalmPilot
Personal и Professional.
18 июля
В редакции X-CoPilot 0.4-iang6a были исправлены ошибки с прорисовкой
экрана после «включения/выключения» эмулятора, размещением
меню и проч.
19 августа
Компания Illume Software выпускает CoPilot 1.3 для Macintosh. Программа
была свободно распространяемой, работала с PalmOS 1.0 и 2.0, содержала
пакет ROM Transfer. Пользователь мог менять емкость памяти CoPilot
(0,5-4 Мбайт), работать с несколькими файлами ОЗУ. На тот момент
не реализованы средства работы со звуком и последовательным портом,
но с этой версии опубликованы исходные тексты.
11 сентября
В 0.4-iang7 появились возможности обработки ошибок работы с памятью,
которые оставались неперехваченными в эмуляторе (и которые при этом
обрабатывал Palm), например, попытка записи в память базы данных
или «ПЗУ», некорректное распределение памяти и проч.
25 сентября
Появилась версия X-Copilot 0.4-iang8. Переработана подсистема эмуляции
последовательного порта и интерфейс с gdb они стали быстрее,
появилась возможность эмулировать последовательные соединения Palm
(например, для коммуникационной утилиты pilot-xfer) на базе виртуального
последовательного порта. Виртуальный порт также позволил решить
проблему загрузки больших файлов в эмулятор (обычная функция загрузки
БД была ограничена 64-Кбайт), причем, с достаточно высокой скоростью
(тогда как для загрузки с помощью нуль-модемного кабеля на эмулятор
удавалось добиться скорости в среднем 10 байт, обеспечивалась возможность
задавать параметры последовательного порта (скорость, количество
значащих битов, битов четности, E/N/O и проч.). Решено несколько
малозаметных проблем (с отображением файлов *.PRC/*.PDB в верхнем
регистре, загрузка файлов с пробелами в имени).
Рафаэль Молл начал проект по переносу CoPilot на BeOS, однако,
так его и не завершил.
Надо заметить, что после того, как PalmOS Emulator перешел к 3Com,
активная разработка версий CoPilot под разные платформы приостановилась.
Кстати, «мы не покупали исходных текстов разработчики
дали нам разрешение продолжать работу при условии, что программы
останется свободно распространяемой», Кейт Роллин.
Страница 1
2 3 4 5
6
|