системы и их версии
PalmOS 1.0 - первоначальная версия
OS для Palm 1000/5000
PalmOS 2.0 - изменен GUI (к примеру,
появилось меню в приложениях)
PalmOS 2.0 Pro - появилась поддержка
TCP/IP, программа Mail
PalmOS 3.0 - поддержка IR, устранены
проблемы с фрагментацией памяти, API
позволяет узнать серийный номер.
PalmOS 3.1 - поддержка 4-х
PalmOS 3.1.1 - патч устраняющий
некоторые проблемы с обновлением
экрана, звук от кнопок
PalmOS 3.2 - поддержка Wireless модема,
для Palm VII
3.3 - Ускорен HotSync (115200), добавлен IR
HotSync, символ Euro, поддержка IrCOMM, улучшен
login script, поддержка 16 градаций серого.
3.5 - Поддержка до 256 цветов.
Изменения в DateBook, Alarm, Address Book, функции
MenuHack, частично CaseToggle (и года не
прошло :-/ )
Размер heap'a зависит от памяти в
устройстве (< 2mb - 64k, >=2mb - 128k, >=4mb - 256k)
Некоторые старые приложения не
работают под PalmOS 3.5
По утверждениям людей, наблюдается значительное снижение
скорости работы в ряде приложений
3.5.1 - Кое-что исправлено (не
скорость). Неебольшой текст
от Дмитрия Михеева (владельца TRGPro)
PalmOS 3.5.2H - Дополнены приложения:
Date Book, Calculator, World Clock
PalmOS 4.0 - По утверждениям
разработчиков, написан с нуля.
Поддержка мультимедиа, улучшенная
многозадачность, поддержка внешних
модулей расширения. Возможна установка
этой ОС на старые модели с Flash памятью;
Поддержка 16 бит экранов (65
VFS (виртуальная файловая система для
работы с Flash карточками).
PalmOS 4.1 - Bug Fixes List:
When Sony released the N760C, it ran Palm OS 4.1, the first model to do
so. Many people wondered what were the differences between OS 4.0 and
4.1. A Sony spokesperson said the only changes were to fix some bugs and
there were no new features. Recently, a list of bug fixes was posted on
the Palm Developer's Forum. For the most part, these are quite technical
and none of the bugs fixed appear to be major problems with the OS.
The OS 4.1 update can't be applied as a patch; the entire ROM needs to
be overwritten. Palm gave the updated code to the licensees but it is up
to them to distribute it.
Below is a list of the most important bug fixes:
* WinPaintPixel did not draw properly with custom pattern. If the custom
pattern was active, calling WinPaintPixel caused the pixel to always
draw using the background color.
* 3rd party Alarm sound databases using a different database name than
the standard but with a lower version number displayed as options in the
datebook's alarm picker, but would not actually play. Changed to not
display in such a case.
* Leading spaces of URL in OpenURL menu crashed the device.
* CtlNewSliderControl did not set the graphical attribute on the slider
controls it created.
* If you have a slider control with a non-exact background bitmap (i.e.,
the bitmap is not exactly the same width as your slider), you almost
always got "Background must be at least half as wide as
slider" whenever the OS attempts to draw the slider.
* Sliders with non-zero minValues did not work properly.
* Graphics filling rectangles using solid patterns with some transfer
modes did the wrong thing.
* Resizing a file on a peripheral card for the first time by an amount
that is larger than the space available on the peripheral card resulted
in the rest of the space on the card being "lost."
* If two files are created on a peripheral card with filenames longer
than 27 characters, and all characters after the first 13 are the same,
the second file could not be accessed
* Strings that contain a Hiragana/Katakana vowel followed by a Cho-on (a
bar that extends the sound of the previous vowel) don't sort correctly.
* TsmSetFepMode did not work if a numeric field has the focus in the
form. It also did not work if there is no form being displayed.
* Calling ATSmsGetMessageCount with a message type "MA" caused
* RxEnable, RxDisable op codes for SrmControl did not work for virtual
* Could only dismount 1 file system.
* Could only mount 4 FAT file systems.
* INetLib filled in DeviceID in the CTP Header extension by calling the
network interface directly.
* The stdFont for Japanese had incorrect glyphs for the Box drawing
characters (and the kg and mg glyphs).
* A "bad window" error popped up on debug ROMs if the window
bit depth was greater than that of the screen.
* The character height for Symbol7 font was incorrect.
* From Clipper,m a button labeled with Japanese text in an anchor tag
with 'button' attribute was not displayed.
* Long volume name support was not compatible with peripheral card
implementation (/palm/volinfo.txt vs. /Volume.nam)
* With some devices, 255 character volume names did not work.
* When opening a file for exclusive read access, a "File
permissions denied" error was returned. When opening a directory,
permissions were not ignored.
* When FSFileCreate was called to set the filename which has
"space" character after 8th letter, the extension of alias
name (DOS or legacy name) was wrong.
* VFSFileRead did not return vfsErrFileEOF when reading past the end of
* sysNotifyEvtGotEvent notification was a significant performance drain
for games because it went out for every event. This was fixed to limit
the notification to a subset of events.
* LmGetLocaleSetting returned invalid characters for currencies in
* Using the dynamic UI creation routines did work properly when there
was a list on the form with static entries created in Constructor.
* Using dynamic UI on a form with graphical or slider controls would
corrupt which bitmaps are drawn unpredictably.
* Invalid pointer sent to TelPhbGetSelectedPhonebook resulted in crash
* Tapping on links that invoke a "palmcall" results in the
title bar being temporarily frozen to reading,
"Connecting...", with the hypnotic circle/meatball displayed.
* Shortcut .. 6 always displays the Palm OS 4.0 ROM compile date versus
the device-specific ROM compile date.
* TCP window size is not updated when the window size drops below the
maximum segment size, but is greater than zero.
* Netlib settings were improperly updated on disconnect.
* If web clipping isn't installed, viewing the contents of a card that
includes a .pqa that uses the default icon, resulted in a fatal alert.
* Intermittent secure transaction error 1428 "The server has
updated the security sequence number" when loading pqas
* "Hidden" peripheral card with no start.prc still caused
switch to Launcher.
* Repeatedly inserting unformatted peripheral cards resulted in stacked
* HotSycing after adding a FAT file system to a device results in a
Список рекомендован к послеобеденному
чтению. Вот реакция одного из читателей
Only minor bug-fixes?
Posted by: Christian @ 10/21/2001 4:11:26 PM
So, Dear Ed, how come, that you think all of these are minor bug-fixes?
"VFSFileRead did not return vfsErrFileEOF when reading past the end
of a file."
Did you ever try to write a correct-working programm on an
operating-system which is not delivering you eof-information while
processing a file?
There are so many problems (even msmount, mcfile and power-run) with
files on the expansion-memory (sd-card) that the only solution to repair
them (which I found) was to buy a desktoppc-sd/mmc-cardreader-writer.
Greetings from Switzerland
Palm OS 4.1.2
Palm OS 4.1.2 is Palm OS 4.1 with the addition of the
Graffiti 2 handwriting recognition engine.
Предназначена для устройств
на базе ARM процессора. Включает в себя
эмулятор старых Palm (на 68000). Довольно
previewed the Palm OS 5 beta and announced that final delivery of the
new operating system to Palm OS licensees is scheduled for early summer. Palm OS 5 will be the
foundation to build a new class of devices that will help make mobile computing
Palm OS 5 will bring the flexibility, innovation and ease of use of the Palm OS
to powerful ARM-compliant processors. Licensees can choose from a full range of
processors, starting with the ARM 7 CPU and scaling to the highest-performance
ARM chips from Intel, Motorola and Texas Instruments. In addition, the operating system will deliver enhanced performance, data security, multimedia
and wireless networking, as well as compatibility with existing Palm OS software programs.
With eight times more software programs than any other handheld platform, the
Palm OS subsidiary is working closely with developers to ensure that current
software programs will run on Palm OS 5. Software programs supporting application programming interfaces (APIs) based on Palm OS 4.0 and above
should be compatible and run faster on Palm OS 5. The Palm OS 5 Compatibility CD with
a preliminary version of Palm OS 5, tools, and 20 compatible software programs
is being distributed to developers at the PalmSourcer conference. Developers
attending the conference can test their applications on pre-release hardware
from Intel, Motorola and Texas Instruments.
Even with the enhancements to Palm OS 5, the operating system continues to have
a small footprint. The benefits of the efficiency of the operating system
translate to the same long battery life and modest hardware requirements that
the Palm OS is known for.
Enhanced security -- To keep sensitive data private, Palm OS 5 offers strong
128-bit systemwide data-encryption services based on the de facto standard
RC4 encryption algorithm from RSA Security. In addition, end-to-end security is
provided through Secure Socket Layer (SSL) services for email, web browsing and
Multimedia -- The ability to record sound and play CD-quality digital audio
brings higher fidelity sound to mobile devices. Support for high-density
screens (up to 320 x 320 pixels) doubles screen resolution, and new selectable
color themes will let users customize devices.
Wireless -- In addition to current support for WAN and Bluetooth, Palm OS 5
supports 802.11b for connections to wireless Local Area Networks.
багов, Graffiti 2
Palm OS 5.2 is mainly a bug fix release. In addition, it
contains a small set of new features and modifications, most notably a
new handwriting recognition engine called Graffiti 2. The Graffiti 2
engine is based on the well-known Jot product from Communications
Intelligence Corporation (CIC). Furthermore, as part of this release to
licensees, we have defined a platform collapsible input area API for all
licensees to use.
The following list summarizes the bugs that were fixed in Palm OS
5.2 that may affect your application:
- Formatting some 128MB and larger SD cards may freeze the device
- Memory leak occurs if sound played asynchronously does not
terminate before exit of application
- Algorithm which computes the interval between two repeat events is
- An emulated 68K "Exchange Library in Application" (ELIA)
will not get called
- Attempting to use a 68K FEPs on Palm OS 5.0/Palm OS 5.1 results in
a Fatal Alert
- Unable to check multiple SMS using a TCP connection with
VirtualPhone test application
- Netlib: NetLibSocketAccept returns garbage in address buffer.
- Netlib: NetLibReceivePB with iovlen > 1 causes Fatal Exception
- Netlib: The pointer of servNameP and protoNameP returned by
NetLibGetServByName is wrong
- The array of pointer aliasList and addressList in
NetHostInfoBufType and NetLibGetHostByName is not terminated by NULL
- Netlib: The value of port in NetSocketAddrINType returned by
NetLibReceive, NetLibReceivePB, NetLibSocketAccept, NetLibSocketAddr
- The value of ifInstance and ifCreator in NetSocketAddrRawType is
- The value of family in NetSocketAddrINType returned by
NetLibReceivePB is endian swapped
- The direction argument of NetLibSocketShutdown() is ignored and
always handled as if the value is netSocketDirInput
- NetLibTracePrintF with argments doesn't work
- A zero-length packet cannot be received in UDP
- NetLibReceivePB for UDP socket ignores iov array > 1
- If using NetLibSocketConnect or NetLibSend for UDP without calling
NetLibSocketBind in advance, the outgoing datagram has source port
- TCP socket cannot send any data after receiving FIN from peer
- NetLibSocketBind doesn't fail if the port is already used and busy
- NetLibSend with zero length data fails with timeout error
- Once NetIFAttach fails by specifying non-existing creator the
system may crash with Fatal Exception.
- If a background task is in the middle of GetHostByName and you
attempt to shut down an interface (PPP or SLIP) from a foreground
task (by turning off the device for example), the device crashes
with a divide-by-zero exception in NetLib's udp_retransmit function
- Noise is heard (for Unsampled Data) if a blank sound is inserted
on one channel while the opposite channel has sound.
- Crash in low-memory situations in the square-wave emulator
- Values returned by SysBatteryInfo() function are wrong
- Synchronizing to the memory card using VFSExportDatabaseToFile
results in a PalmOS error message: "MemoryMgr.c Line:2571.
Non-word aligned handle." on Palm OS 5.0/Palm OS 5.1
- Calling SndPlaySmf () with the sndSmfCmdDuration SndSmfCmdEnum
command value as the 2nd param returns a max UInt32 value (-1 as an
Int32) instead of the actual MIDI sound duration in milliseconds.
- LstSetListChoices fails if itemsText passed in is the same as the
existing itemsText in the list
- Transparent color cannot be set on version 2 bitmaps with16 bit
color by calling BmpSetTransparentValue() and
BmpGetTransparentValue() from 68K application
- VCard data encoded by Base64 is decoded by vCard, 0x1b will not
- MS-CHAP authentication over PPP fails ('normal' CHAP works)
- When the Attention manager close its dialog, no update event was
posted to update the form behind
- Problem in TCP retransmission code cause unnecessary
retransmission on slow link
- If PPP environment allowed 8bit clean communication path, received
packet is just passed from PPP to TCP/IP stack. But PPP data is
non-aligned because the length of the PPP header can vary such as
one octet. This causes Fatal Exception in TCP/IP stack.
- TCP checksum error observed in packets sent from Palm OS 5.0.
- NetLibSocketSend() returns 0 instead of netErrTimeout when it
- If compressed bitmap size is greater than threshold, BmpCompress()
returns an uncompressed bitmap but still sets the compression flag
- Popup list closed when vchrAttnStateChanged is posted even if the
attention manager is not opening a dialog. Example: such as with
AlmEnableNotification(true) is called
- a mistake in kCopyStructForDictParamsCmdBlk definition
- DmOpenDatabaseInfo crashes the system when trying to obtain a
- Every time a task is created and deleted (such as with sound
playback) 8 bytes of memory is leaked.
- SslDemo app fails to run on 32bit Roms
- PACE crash calling AccFldGetLineInfo68K()
- PACE does not properly copy over the selector field in the
- A fatal alert occurs when decoding specific vObjects
- Fatal alert could occur when one shared library's install function
calls SysLibLoad to load another shared library
- Fatal error could occur when 68K callback (serial manager window
handler, procedure alarm, attention manager, notification) is
launched while native ARM application is being run. The fix in OS
5.2 does mean that the callback code can not "cache"
things like form IDs to be used later.
- Serial manager wakeup handler callback's pointer freed once active
- Only 1 procedure alarm among all applications can be set in the
system at any one time.
- 68K Shift/Rotate instructions don't work correctly on PACE in
- VFSFileRead communication fails if bytesToRead is bigger than file
Graffiti 2 Handwriting
Graffiti 2 is a new character recognition engine that replaces the
Graffiti engine that had been used in the past. The engine is based on
the popular JOT product from CIC that you may be familiar with. The
primary difference between Graffiti and Graffiti 2 is the addition of
more natural character recognition by allowing users to use multi-stroke
characters in the input area.
In Graffiti 2, the first stroke of a multi-byte character might match
the stroke for another character. In this case, the Graffiti 2 engine
first enqueues the interim single-stroke character followed by a
backspace and then finally the multi-stroke character. For example, The
first stroke of a "k" character matches the stroke for the
"l" character. When the user draws the first stroke of the
"k," the Graffiti 2 engine processes that stroke and sends the
"l" character to the key queue. When the user draws the second
stroke of the "k," the Graffiti 2 engine sends a backspace to
erase the "l" and then sends the "k" character. If
your application has processed the "l" in the meantime, it has
done so in error.
If your application processes characters as they are received, you
should be aware that the following characters could be the interim first
stroke characters of a multi-stroke character:
- The letter l
- The space character
- The single quote
- The minus sign
In most cases applications do not process character keyDownEvents one
by one and will need to change very little if at all. The twomost common
compatibility scenarios that we have come upon in third party testing
- Applications that use the "l" character and multi-stroke
characters as menu shortcuts or application-defined command
- Applications with field autofill functionality
See the Graffiti
2 Compatibility Tips FAQ in the developer Knowledge Base for more
detailed information about when you need to and how you can work around
compatibility issue with Graffiti 2. See the updated Palm
OS Programmer's API Reference for a description of the Graffiti 2
Other New Features and Modifications
1) Flag added for Internal Cellular Phone modules
Added the following line to SerialVdrv.h:
#define portCellularPort 0x00000400 // Set if the port is a direct
connection to an internal cellular phone module
#define serDevCellularCapable 0x00000080 // Connects to a cellular phone
to SerialMgr.h and modified SerialMgr.c to report the new flag.
2) Dropped automatic request for telephony RSSI value from phone in
response to a Bluetooth PPP connection. This improves both
interoperability with Bluetooth phones as well as performance when
3) Increased netMaxNumSockets from 4 to 11.
4) Increased number of network packet buffers in the system.
5) Increase compatibility with SMS networks.
6) Added extended sound stream APIs that are built on top of the
existing sound stream architecture. A developer can specify a format
type when creating a stream and then feed compressed data into that
stream, provided the device has the proper codec. Palm OS contains only
the raw PCM codec; licensees can add others, such as MP3 or Vorbis.
Collapsible Input Area API
For Palm OS 5.2 we worked with our licensees to define a platform API
for collapsible input areas, and licensees have agreed to conform to
this API. Although we have yet to add support for a collapsible input
area into the OS, this will match the API that we will use in the
future. As a third party developer, this means that moving forward you
will be able to target a single API, and at least the majority of your
interactions with the input area will work on multiple devices and on
Because we have not yet officially implemented this feature as part
of the OS, there is no reference implementation via a Palm OS Simulator
or emulator ROM for developers to test against. As licensees release
devices that do implement support for collapsible input areas we will
work with them to make a Simulator and/or Emulator ROMs available to
- Другие ОС
Существует ucLinux for Pilot. Однако, он тpебует
pасшиpения памяти до 8MB (trg). Кроме того это
не настоящий Linux.
Есть еще один "Linux" - Linux DA: http://www.linuxda.com
..это контроллерный вариант. Там на сайте подробно
указано оборудование. А если под palmtop вы понимаете палм (собственно
uClinux это вариант линукса для ЦПУ без ММУ по до что подходит только
старый палм и его аналоги), то вам нужен порт линукса с GUI. Hапример:
Под старые палмы есть ядро uClinux которое может
грузиться, паример путем синхронизации (если хотите так хоть через
JPilot). Hо на более-менее современных устройствах запуск этого реликта
приводит к краху. Проверено на соньках.