home *** CD-ROM | disk | FTP | other *** search
- ========================================================================
- News (latest changes) for the Palm OS Emulator
- Copyright (c) 1998-2000 Palm, Inc. or its subsidiaries.
- All rights reserved.
-
- Please send bug reports, comments, suggestions, etc. to devsupp@palm.com
- ========================================================================
-
- ========================================================================
- REVISION HISTORY
-
- Starting in 2.1d25 (and backdated to 2.1d24) I'm giving credit
- to the person or people responsible for convincing me to fix a
- bug or add a feature, in some cases even providing the source code
- for the bug or feature. These people's names appear in []'s.
-
- See the file Credits.txt for a list of people who have submitted
- actual changes to the project.
- ========================================================================
-
-
- Changes for 3.0a7 (8/7/00)
- --------------------------
- * Added m100 support.
-
- * Added Palm VIIx support.
-
- * Implemented the following previously defined but unimplemenated
- HostControl functions: HostMalloc, HostRealloc, HostFree,
- HostRename, HostRemove, and HostTmpNam.
-
- * Added the following HostControl functions: HostStat, HostTruncate,
- HostMkDir, HostRmDir, HostOpenDir, HostReadDir, HostCloseDir,
- HostAscTime, HostClock, HostCTime, HostGMTime, HostLocalTime,
- HostStrFPrint, HostTime, and HostUTime.
-
- * Renamed a bunch of HostControl types to follow Palm's naming
- convention of having types end in "Type". Added typedefs for
- backward compatibility with applications using the old type names.
-
- * When a session is reset, all HostControl resources are reclaimed.
- That is, any blocks allocated with HostMalloc are freed, any files
- opened with HostFOpen are closed, any directories opened with
- HostOpenDir are closed, and any pointers to returned string buffers
- (as with HostGetEnv) are now invalid and the buffers are
- inaccessible.
-
- * After creating a handle with MemHandleNew, locking it, remembering
- the pointer, and then freeing the handle with MemHandleFree, the
- application could write to the freed block using the now-stale
- pointer. Fixed. [Neil Rhodes]
-
- * Support TsmGlueGetFepGlobals accessing system globals.
-
- * Updated URLs to point to www.palmos.com.
-
- * Fixed double-dispose bug when handing the getting or setting of a
- linger-related socket option. The symptom of this bug is that Poser
- would crash when calling NetLibSocketOptionGet(...netSocketOptSock-
- Linger...). [Peter Burka]
-
- * Fixed problem in NetLibSendPB when NetLib redirection is turned on;
- the various parameters weren't converted correctly into something
- the host TCP stack could use. [Rob Leslie]
-
- * (Unix) Added dynamic check for socklen_t in configure.in. [Radu
- Cornea]
-
- * Internal change: added new support classes: EmPoint, EmRect,
- EmRegion, EmRefCounted, EmRefCounter, and EmPixMap.
-
- * Used the preceding classes in rewriting the pipeline that converts
- the LCD framebuffer into something that can be displayed on the host
- screen. These changes (a) better insulate much of Poser from the
- specifics of the LCD framebuffer format, (b) reduce the amount of
- platform-specific code needed to create a bitmap that can be blitted
- to the host screen, and (c) result in slightly faster emulation.
-
- * Poser makes use of the following as a compile-time assert:
-
- char _dummy[expr ? 1 : 0];
-
- If (expr) is true, then the compiler evaluates the stuff inside the
- brackets as 1. Otherwise, the compiler evaluates it to zero,
- resulting in the invalid definition of a zero-sized array. However,
- unbeknownst to this poor programmer, gcc allows the definition of
- zero-sized arrays as an extension. Therefore, all instances of the
- above technique have been changed to COMPILE_TIME_ASSERT(expr),
- where COMPILE_TIME_ASSERT is a macro that expands to something like:
-
- char _dummy[expr ? 1 : -1];
-
- Even gcc complains about that one. [Frank Yellin]
-
- * Now that we have a working compile-time assert, a number of errors
- popped up. Part of the NetLib redirection facility involves
- translating between NetLib data structures and host TCP (sockets)
- data structures. The process of translating back and forth assumed
- that various structs and constants between the two systems were the
- same and could be copied back and forth without any interpretation.
- This assumption was backed up by compile-time asserts. But those
- asserts were broken. Now that they're working, it was found that
- many assumptions were bad and/or wrong. Therefore, much of the
- translation code was rewritten to remove those assumptions. [Frank
- Yellin]
-
- * (Unix) Turn on -fexceptions unconditionally. While this is on by
- default for C++, we now turn it on for C, too. Poser seems to need
- this on Solaris/Sparc systems. [Frank Yellin]
-
- * (Unix) Implemented Save Screen... menu item. Files are saved to
- .ppm format.
-
- * (Internal) Implemented EmDlg::DoGetFile, DoGetFileList, DoPutFile,
- and DoGetDirectory on all platforms, and use them universally.
-
- * Added HostGetFile, HostPutFile, and HostGetDirectory.
-
- * (Unix) Use new "FileChooser" widget from Easy Software. This one
- will probably get incorporated into FLTK 2.0, and it just plain
- looks and works nicer anyway. [Easy Software]
-
- * Patched TblHandleEvent to fix a Palm OS 3.5 bug where the drawing
- state would eventually become invalid, resulting in incorrect
- drawing and possible ErrDisplays from the OS. [Tom Bulatewicz]
-
- * Inhibit error checking in NetLibBitMove. This function sometimes
- accesses bytes past the end of an allocate block of memory,
- resulting in a Poser error message, usually while using PQAs. As it
- turns out, it does this in a fairly safe fashion, so prevent the
- error message from appearing.
-
- * (Internal) Use new method to access low-memory Palm OS System
- globals -- one based on the EmPalmStructs mechanism.
-
- * The progress dialog that's displayed when installing files has
- changed. The progress indicator is now modelled after the Macintosh
- file copy progress dialog; instead of having two indicators -- one
- for files and one for the current file -- the single progress
- indicator now indicates overall progress for all files being
- installed. Also, the Stop button now works. Finally, the progress
- dialog is now also implemented on Unix.
-
- * Enabled logging of Exchange Manager actions (just calls to ExgSend
- and ExgReceive).
-
- * (Internal) New Session dialog is now implemented using cross-
- platform techniques that Poser is slowly moving towards. This
- change results in consistant behavior of the dialog across
- platforms.
-
- * (Unix) "configure" script now supports "--with-fltk=DIR" command
- line option. [Arturo Tena]
-
- * Poser contains facilities for extracting the "Macsbug" symbols that
- can be appended to compiled functions for debugging purposes. It
- finds these symbols using heuristic methods that don't always
- succeed. If they fail, fail gracefully. [Adam Dingle]
-
- * Fixed problem where turning off the "power" to a Palm IIIc would
- blank the LCD, but turning the "power" back on would not redraw the
- LCD. [Bob Petersen]
-
- * Fixed implementation of Perl wrapper for HostImportFile and
- HostExportFile. [Derek Johnson, Andy Ihlenfeldt, John Ludwig]
-
- * Poser would crash if you passed a full path to HostProfileDump
- instead of just the name of a file.
-
- * Ensure that the binary file produced by profiling an application
- ends with .mwp.
-
- * Include keyboard modifiers when posting key events from the host
- computer's keyboard. [Ken Krugler]
-
- * Changed "New Session" dialog to use MRU list for ROM Files, and not
- present devices for selection that cannot possibly run the chosen
- ROM File.
-
- * Updated CodeWarrior projects to CodeWarrior 5.3 (IDE 4.0.4).
-
- * Fixed problem with lack of responsiveness in mouse-click handling.
- The problem was that there was only a 1-element queue, as it were,
- for handling mouse-clicks. It was too easy for the user to click
- the mouse and let up on the button before the emulated Palm OS had a
- chance to even recognize that the mouse button was down. Now there
- is an n-element queue to handle mouse ups/downs. I had originally
- stayed away from that because I thought that it would be too easy
- for the user to overrun the event queue, zooming the mouse around
- faster than the Palm OS could keep up. But we'll see how this works
- out. Note that the hard buttons across the bottom of the the
- emulated device can still be unresponsive. That's because there's
- no queuing involved; the mechanism for handling them is different
- from that used to handle events in the LCD area, and can't easily be
- converted to do so.
-
- * (Unix) Fixed problem with specifying desktop serial port to use for
- ROM Transfer. [Rick Richardson]
-
- * Catch a whole class of problems where Poser didn't detect when the
- emulated program counter went bad. [Eugene Chin]
-
- * Fixed byteswapping problems with creating the binary output file
- for profiling. Such a file created on Windows couldn't be read into
- MW Profiler on a Mac. [Greg Simon]
-
- * (Internal) Rewrote all of the emulation code that deals with
- hardware registers (such as the Dragonball registers). There were
- many subsystems that had to deal with memory in this way (the
- Dragonball (328, EZ) register handlers, the SED register handlers,
- the Visor USB register handlers, the Palm VII EZ PLD register
- handlers, the Sybol ASIC register handlers, etc.). All of these
- subsystems originally were just cloned from each other and tweaked.
- This lead to a lot of duplicated code. All that's now been changed
- so that the common code is in EmBankRegs, and the hardware-specific
- code is in subclasses of EmRegs.
-
- * (Mac) Fixed crash that would happen when clicking on the mailto URL
- in the Palm section of the About box.
-
- * The Field Manager in Palm OS 1.0 - 3.2 has a bug that causes the
- message "Invalid insertion point location" to be erroneously
- displayed. Added a patch to ErrDisplayFileLineMsg to squelch this
- message if it looks incorrect. [Stephen P. Hill, David Kendall]
-
- * (Mac) Updated to GUSI 2.1.1, fixing a bug in HostFOpen, where
- creating the file ":x:y" would create a file called "x" if the
- directory didn't exist.
-
- * (Unix) Re-arranged checks at bottom of EmulatorTypes.h to allow
- for definition of INADDR_LOOPBACK. [Jon Fo]
-
- * (Unix) Specify -fpermissive to gcc to support broken X11 headers.
- [Jon Fo]
-