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

POSE: эмулятор Palm

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

2001 год

16 марта
POSE 3.1. Реализована поддержка Visor Prism и Platimun. Изменены правила поиска картинок «корпуса», при отсутствии файла с картинками выдается предложение либо найти этот каталог либо скопировать изображения с Web-узла POSE. Реализована возможность задания контрольной точки в «системных функциях» PalmOS (в «прологе» функции). Редакция POSE для Macintosh компилируется в CodeWarrior Pro 6, адаптирована для GUSI 2.13 (нужно для CWP6), решены некоторые проблемы с диалогами POSE.

Изменен «тактовый генератор» POSE (для корректной работы на быстрых ПК), переработана подсистема отображения найденных POSE ошибок в программе PalmOS, для каждого диалога, связанного с программными сбоями, реализованы кнопки Continue, Debug и Reset, исправлены некоторые проблемы в профилировщике, подсистема эмуляции графического интерфейса, «Гремлинами». Реализована обработка тайм-аутов в функциях NetLibReceive и NetLibSend, решена проблема, которая иногда проявлялась при запуске отладчика (в адресном регистре было некорректное значение, при этом, удалось ускорить работу эмулятора на 6%).

«Вы поверите ли, что изменения цикла в подсистеме эмуляции ядра ЦП с:
uint16 opcode;
opcode= get_iword (0);
fCycleCount += (cpufunctbl[opcode]) (opcode);
на:
uint32 opcode;
opcode = get_iword (0);
fCycleCount += (cpufunctbl[opcode]) (opcode);
позволила ускорить работу на 4%»?

Переработаны исходные тексты с тем, чтобы избавиться от типов данных (uae_u8, uae_u16, и проч.) и функций (get_byte, get_word, put_byte и проч.), унаследованных из UAE с целью упростить в будущем адаптацию POSE для работы с другими ЦП, а не только DragonBall, например, ARM. Переработана подсистема эмуляции контроллера экрана или видеоОЗУ (предотвращается попытка записи в регистры контроллера при выключенном дисплее), реализована поддержка прерываний и перепрограммирования контроллера прерываний, связанных с периферийными устройствами в DragonBall VZ (UART2, TMR2, PWM2 и проч.), реализована функция «разделения буфера обмена» между POSE и Windows, решена проблема связанная с переполнением стека. Полностью переработана подсистема обработки ошибок, перехватываются и выдаются все возможные ошибки, как аппаратные, так и те, которые обнаруживает POSE (запись в системную память, в нераспределенные буферы, переполнение стека), переработаны тексты диалогов. Корректно обрабатываются ошибки, связанные с функцией DrawWindow (для PalmOS 3.5), попыткой записи в область памяти БД, переработан алгоритм отображения диалогов об аппаратных исключений (для всех ошибок, исключая TRAP 0 и TRAP, 8POSE сначала выдает диалог об ошибке, а оптом пытается запустить отладчик).

Реализована возможность «отобразить ошибки только при первом запуске» (для упрощения отладки программ, скажем, напрямую работающих с видеопамятью), исправлена ошибка, связанная с обработкой регистров ЦП при прерывании программы, продолжением сессии «Гремлина», обработкой функций, в которых имеются контрольные точки, когда эти функции вызывает POSE для своих целей. Переработан список названий функций и кодов ошибок (внесены информация для PalmOS 4.0).

В редакции для Windows исправлены ошибки, при сохранении файла предлагается расширение по умолчанию, реализована функция сохранения экрана в режиме 65 тыс. цветов (для Visor Prism). Новые параметры командной строки — -horde_quit_when_done и -horde_apps позволяют исключить некоторые программы из работы «орды Гремлинов», решена проблема с функцией Step Spy отладчика PalmDebugger. В POSE для Macintosh исправлена проблема при отображении диалога «Орды Гремлинов» при работе с японским ПЗУ на японских версиях MacOS, текст сообщений об ошибках записывается в виде символьных констант, символы верхней половины кодовой таблицы ASCII корректно передаются в буфер обмена между PalmOS и Macintosh, решены некоторые проблемы с преобразованием спецсимволов.

В диалогах исправлены грамматические ошибки («наконец-то я нашел время пройтись по ним программой проверки орфографии»), в редакции для UNIX и Macintosh — косметические доработки в диалогах POSE и меню. Реализована проверка доступа к формам, объектам формы и структурам данных окна из прикладных программ (общем случае, запрещены любое операции, исключая некоторые специальные случаи), к неиспользованной области стековой памяти.

В окне настройки параметров добавлено несколько флагов и удалены неиспользуемые, решена проблема с функцией DbgMessage (при отсутствии отладчика, могло произойти аварийное завершение работы POSE). Появилась возможность скопировать текст сообщения об ошибке (при работе в UNIX необходимо было также сделать окно активным). Переработан диалог настройки контрольных точек, Preferences/Properties и Tracer Opting реализованы как кросс-платформные (реализованы как кросс-платформные и перенесены на Macintosh и в UNIX) и экспорта БД, интерфейс работы с контрольными точками, подсистема контроля доступа к стеку (адрес стека проверяется с помощью SysTaskCreate).

Изменен алгоритм загрузки файла .psf (имя пользователя для HotSync сохраняется не в файле .psf, а в файле параметров POSE), исправлена проблема, связанная с тем, что при загрузке файла .psf не восстанавливалась дата, которая была задана при его создании. Переработана подсистема эмуляции кнопок (реализован более корректный прием обработки прерывания для «пробуждения» POSE). Реализована возможность перенаправления последовательного порта на конкретный сокет TCP (скажем, localhost:7777).

Реализована функция HostSessionSave, изменена функция HostTraceOutputB.

Переработана подсистема «Гремлинов» (реализована возможность включения и выключения, подсистема генерации псевдослучайных событий с вероятностью 1% выключает эмулируемый Palm). Реализован механизм для работы с «псевдонимами» Macintosh, «связями» UNIX и «ярлыками» Windows (кроме того, в Windows была переработан диалог создания «автономного эмулятора»).

В профилировщике реализована возможность отслеживания инструкций BSR, изменены принципы запуска и обработки команд пользователя, взаимодействие с ПК. Поддерживаются «расширения» ОС, которые размещаются в ОЗУ (предоставлены те же права на работу с системной памятью, что и функциям в ПЗУ).

Исправлены строки об авторских правах (проставлен 2001 г.), сообщения об ошибках в ROM Transfer. Кроме того, ROM Transfer переработана с тем, чтобы использовать не Serial Driver Library, в Serial Manager (при работе с PalmOS 3.5) и задействовать использовать функцию SrmExtOpen (при работе с PalmOS 4.0, кроме того, при высоких скоростях соединения ПЗУ корректно копируется из Palm (до этого могли быть искажения), решена проблема с загрузкой файла ПЗУ (при попытке определить тип устройства, POSE мог пытаться считывать информацию за концом файла), в версии ROM Transfer для UNIX по умолчанию задан порт /dev/ttyS0.

Корректно переключаются активные/неактивные пунктов меню Gremlins. В редакции для Windows переработана функция HostSaveScreen, реализованы средства работы с несколькими мониторами, для UNIX — исправлены некоторые проблемы при работе с X-Window, изменены параметры файла управления компиляцией.

При проверке корректности БД Palm перед инсталляцией, проверяется дата и время создания БД (POSE их не использует, но некоторые версии HotSync выдавали сообщения об ошибках, если дата создания была в будущем относительно системной даты или была задана в 0). Переработана подсистема перенаправления сети (в 3.0a8 был задан новый адрес прокси-сервера Palm, Inc., к которому обращается POSE, в 3.1 адрес изменился на content-dev.palm.net/content-dev2.palm.net).

Исправлены проблемы работы сетевой подсистемы, ошибка при работе с PalmOS 3.5 и 4.0 (в отрисовке элементов управления), взаимодействия с PalmOS при отладке.

5 июня
POSE 3.2. В редакции для UNIX появились многие аргументы командной строки, которые до этого работали только в POSE для Windows (-psf, -ram, -rom, -device, -load_apps, -run_app). Переработана подсистема эмуляции ЖК-дисплея, она стала кросс-платформной (видимый эффект наблюдался только на UNIX — белая рамка вокруг дисплея и ускорение работы), реализовано несколько функций семейства EmDevice, реализована возможность настройки объекта CPU и емкости памяти, подсистема отображения меню (тоже стала идентична для всех платформ). Ускорена подсистема проверки доступа к структурами данных GUI PalmOS, отключена эта же проверка для полей ControlType, ListType и FormLabelType, к некоторым объектам (считывание/запись в поле attr структуры FormBitmapType при работе с Palm OS 3.2 и ниже и проч.).

Исправлена подпрограмма отображения рамки окна, запрещена запись в поля структуры данных WindowType (displayWidthV20, displayHeightV20, , displayAddrV20, bitmapP), FieldType, корректно обрабатывается вложенные структуры, исправлены проблемы с кэшированием таблицы адресов функций PalmOS, обработкой ошибок функции DbgMessage, несколько потенциальных системных проблем. Добавлено еще 4 «слота» (в CardOptions), реализованы средства поддержки библиотеки HostFS, предотвращается попытка задать слишком длинное имя пользователя с параметрах HotSync.

Редакция для Macintosh была переработана для совместимости с подсистемой Carbon. В редакции для UNIX переработаны файловые диалоги, реализована возможность обмениваться информацией в буфере обмена, сообщения об ошибках можно скопировать в буфер обмена, несколько косметических доработок (отцентрированы диалоги). В диалоге Gremlins названия программ отображаются, даже если задан параметр dmHdrAttrHidden, исправлены проблемы с обработкой системных функций в профилировщике (при определенных событиях возникала ошибка переполнения стека), реализована возможность трассировки инструкций, вызывающих ошибки доступа к памяти, инструкция командной строки -horde_save_dir и решены проблемы с продолжением работы «Гремлинов» при перезагрузке и создании сеансов. Переработаны функции HostControl (стали более устойчивы), реализованы режимы перезагрузки (Soft, Hard, Debug и No Extension).

20 июля
Разработчик по имени Джордж Андре объявил о разработке эмулятора PalmOS для PocketPC (первая версия была недоступна пользователям). По утверждению создателя, обеспечивалась работа не только с PalmOS OS 2.0, но и более поздними редакциями.

27 июля
Стало известно, что компания Conduit Technologoes (она ранее перенесла CoPilot на Palm-Size PC) работает над переносом POSE на Windows CE.

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

РекламаRambler's

Allbest.ru

RB2 Network

RB2 Network
--

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