Re: checking for a microphone

2005-07-15 Thread Rob Larson
The description of the MultiConnector used on the T5 includes
a microphone connection.  It may be that all MultiConnector Palms
support an external microphone.  I don't know one way or the other
about external microphone support, but it seems like it's worth an
experiment.



-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/


Re: T5 Serial Port drops data?

2005-06-09 Thread Rob Larson

Martin Saxon [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 Hi everyone.

 I'm using the serial port on a T5 to talk to a data capture device, but it
 appears that if I try to send a data packet at the same time that data is
 arriving on the receive line, some of the received data gets dropped. ...

What size receive buffer are you using?  The default is 512 bytes.  Since there
is no hardware flow control on the T5, you need to allocate a large enough
buffer to handle whatever amount could come in before you issue a SrmReceive.

You can allocate a larger buffer with SrmSetReceiveBuffer.



-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/


Re: Strange error when trying to intercept sysNotifyVolumeMountedEvent

2005-05-04 Thread Rob Larson
One undocumented feature that you should probably be interested in is the entry 
point for Arm native applications.  Arm
native applications have resources with names like ARMC, and do not have any 
CODE resources.  In any case, it's the
first instruction of the ARMC resource.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/


Re: Strange error when trying to intercept sysNotifyVolumeMountedEvent

2005-05-02 Thread Rob Larson
Despite the public documentation, Palm OS is a multi-tasking OS.  The
following undocumented calls are identified in some of the
information that I gathered about YAHM:  KALTaskCreate, KALTaskDelay,
KALTaskDelete, KALTaskGetCurrentID, KALTaskGetInfo, KALTaskResume,
KALTaskSuspend, KALTaskStart, KALTaskSwitching, KALTaskWait,
KALTaskWaitClr, KALTaskWake, KALTaskExit, SysTaskCreate, SysTaskDelay,
SysTaskDelayV40, SysTaskDelete.

There is very little documentation from Microsoft about how to write a
MSDOS TSR.  Certainly not enough to write one.  TSRs were developed by
the developer community, not by Microsoft.  The Microsoft attitude
toward TSRs was primarily silence, with occasional warnings and
disclaimers.  Not unlike what we're seeing now with Palm.

Not using undocumented facilities to detect viruses assumes that all
viruses follow the same rules.  Virus writers are not among the most
pristine in their approach to rules.  The idea that using only
documented facilities will protect you from changes in future OS
versions is naive.  Witness the current problems with NVFS.
Documented does not equate to stable, unchanging or even
functional.  Undocumented likewise does not equate to changeable
or non-functional.  It's like a log rolling contest, and only the
alert and constantly involved have a chance at staying upright.

The reason that SetTrapAddress is not available in OS/5 is that it
doesn't make sense with an Arm device that is emulating a 68K.  TRAP
is a 68K instruction that transfers control from a 68K program to a
68K handler.  In OS/5, the 68K TRAP instruction transfers control to
an Arm handler.  If you want to provide an alternate handler, then you
need to intercept the call to the Arm handler and provide your own Arm
handler.  This is exactly what YAHM does.  Palm is not going to tell
you how to do this without some legal leverage on how you use the
information.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/


Re: Converting UTC time into local time in pre-OS 4.0

2005-03-23 Thread Rob Larson
On systems where you can't get the time zone or daylight savings, the
only time that exists is current local.  The GPS data is still useful for
correcting a time setting that is several minutes off.

My approach would be to adjust the PDA time by up to 29 minutes
to match the GPS minutes.  It should be a mode setting, but I'd set
the mode to automatic correction of several minutes.  Anything more
than 29 minutes should require a dialog with the user.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/


Re: ..2 running?

2004-12-26 Thread Rob Larson

Steven Fisher [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 Is there any way to check if the console is running?

 It doesn't have to be well supported -- this is just a little debugging
 utility I'm writing because DotDotTwo isn't doing what I want. :)

You might try issuing a SrmOpen for the console.  If it returns
0x0307 (already open), then either the console is running or
something else left it open.  If the SrmOpen succeeds, the
console is not running (and a SrmClose would be appropriate).



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/


Re: Software Copy Protection - One More Time!

2004-11-22 Thread Rob Larson
There is a unique serial number on each SD card.  That could be used as part of 
the installation verification for high
value software.  If you're really involved with high budget software, join the 
SD association and learn about how to
utilize the SD security facilities.

All of the system identifiers can be spoofed by a hack.  System calls that ask 
for security information highlight the
code involved in security.

If you want to turn crackers into customers, how about the following game.  
Offer a prize for the first contestant to
crack your security.  In order to participate, a contestant has to either 
purchase a legitimate copy, or wait for
someone else to win the prize.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/


Re: How to treat interruptions in Palm OS

2004-10-19 Thread Rob Larson
You can set up the performance registers in a PNO.

The fun starts with handling the interrupts produced by
monitoring.  There are no Palm documented ways of processing
the interrupts.  The interrupts come in on, I think, the
same vector as the one for invalid opcode.  You could take
over the hardware interrupt vector (in the PNO), and provide
your own handling.  Or you could use PODS and write your own
nub protocol handler.  You're deep into undocumented
territory here.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: pda for voice/language software

2004-08-29 Thread Rob Larson

Roger Stringer [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]

 From: Rob Larson [EMAIL PROTECTED]
 Date: Fri, 27 Aug 2004 23:05:21 -0700
 
SNIP
 
 Be aware that OS/6 devices will be arriving in a month or two.

 For example 

Christmas electronics season requires product introduction in the
September - October date range.  Any later than that is a disaster.
If they miss October, the next introduction is after the new year,
in the February - March range.


 The T3 can potentially be upgraded to OS/6,

 But will PalmOne provide an OS upgrade for it ?

They will if they want to push OS/6 to developers as fast as possible.

The interesting question is what is going to happen to OS5.4.  There
aren't any current devices with it, which says that there will be new
OS 5 devices.  Otherwise, why even announce it?

The tea leaves indicate that OS/5 will continue in the low end, Zire
class machines.  OS/6 will be introduced as the high end offering.
It will be available on the T3 replacement machine, and probably
offered as an upgrade for the T3.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: pda for voice/language software

2004-08-28 Thread Rob Larson
You can use the POD debugger with the T3, but not with the 72.
So, if you want to do some Arm debugging with breakpoints and
such, the 72 doesn't qualify.  Otherwise, they seem about the
same to me.

Be aware that OS/6 devices will be arriving in a month or two.
If you're in this for the long haul, OS/6 seems more appropriate
for such an application.  Sorry to confuse the situation, but
this is a major change.  You need to evaluate whether you want a
mature obsolete environment, or an early version of a richer new
environment.  The T3 can potentially be upgraded to OS/6, while
the 72 is OS/5 for ever.

Jennifer Fell [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 Hello,

 This might not be an appropriate question for this forum. I am developing
a
 language trasnlation software (with voice recognition and voice synthesis
 features in mind). I am going to order a palm device by a day or two.
Based
 on a quick online research, I have decided to go for a Zire 72/Tungsten
T3.
 From a developer's viewpoint, is there any suggestion/advice with that? Or
 any compatibility/feature related of issue that I should know?

 Thanks a lot.

 Regards,
 Jenni




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Tungsten T3 Serial port problem

2004-07-19 Thread Rob Larson
This problem is addressed by the SerialFix system extension.

Go to www.handango.com and search for SerialFix.

If a program works on other Palm devices, but output to the serial port
fails on the T3, then it is worth trying SerialFix.  The CTS required
problem is definitely addressed by SerialFix.  There are a few other
problems that SerialFix corrects, and a few more that it can't solve.  One
problem that I'm working on right now is that RTS seems to get stuck on,
despite setting the flags to disable it.  I think I understand how to
correct the problem, and the fix will be in SerialFix version 2.2.  Contact
me directly if you are interested in testing 2.2.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Does PalmOS 5 use the ARM's Memory Protection Facilities?

2004-06-29 Thread Rob Larson
Yes.  OS/5 devices use memory mapping, and Sony devices run applications in
user mode.  While memory mapping could be used to prevent coprocessor
register access, it is not.  PNOlets can access system registers, even on
the user mode devices.  The game is that many of the devices remap the
registers to different addresses than the chip manufacturer specifies.
There are a number of queries in the archives about where are the system
registers on device x.

Several mappings that I know of are that the Tungsten/T uses identity
mapping (registers are exactly where TI says they are), and the Tungsten/T3
moves registers at 4xxx to 9xxx.  The TI watchdog timer on the Zire
71 is at FFFEC800.




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: about palm's future

2004-06-14 Thread Rob Larson

I have a Clie TJ37 that died after one month.  Before it
completely died, the WiFi was suitable only for a
developer - I'd never deploy such a device for real work.

I don't know about the Zire 72, but Sony is certainly
capable of delivering poor quality hardware.  Next
thing I get to find out is how long it takes to fix it.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: FrmDoDialog Eats Events

2004-06-14 Thread Rob Larson
The FrmDoDialog is issued as a result of a notification.
The notification comes from another application, with its
own event loop.  FrmDoDialog was very attractive since it
has it's own event loop to control its form.  And, in fact,
it usually works.  The problem occurs when the other
application has events still in the queue, specifically
frmLoadEvent and frmOpenEvent.  FrmDoDialog processes
these other events, and gets hopelessly confused.

I get the impression that OS/6 will handle this situation
ok.  But with all applications sharing the same event queue
in OS/5, FrmDoDialog eats some events that one would expect
to be directed to other forms.





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: FrmDoDialog Eats Events

2004-06-12 Thread Rob Larson

That document is quite useful in utilizing FrmDoDialog.  It would
be even more useful if it covered the issue of pending events and
event discarding by the function.

There are many problems described in the archives that may very
well be caused by FrmDoDialog event discards.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


FrmDoDialog Eats Events

2004-06-11 Thread Rob Larson
I have a situation where a FrmGotoForm for form A has been issued, and
the frmLoadEvent has not been processed yet.  An error is detected,
and results in a FrmDoDialog for form B to report the error.  It turns
out that the FrmDoDialog event handler consumes the frmLoadEvent,
which means that form A is never drawn.

The solution that I'm trying is to do a FrmSetEventHandler for the
FrmDoDialog form (B).  This event handler returns false for all events
known to apply to form B (nil, penUp, penDown, penMove winEnter,
winExit, ctlEnter, ctlSelect).  For the frmLoadEvent, it is recorded
and the event handler returns true.  After the FrmDoDialog returns
(and form B is no longer active), the frmLoadEvent is requeued.

My question is what other events could be passed to the FrmDoDialog
event handler?  Should I record all unrecognized events and requeue
them after the dialog is complete?  It would seem that frmLoadEvent is
just the event that is causing trouble, but there could be others that
also should not just be thrown away.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: FrmDoDialog Eats Events

2004-06-11 Thread Rob Larson
Thanks Matt.  That would certainly be my preference, but I don't
control that code.

There's more discussion of FrmDoDialog in the archives than I've
got the time to review.  But a recurrent theme seems to be that
using it stops other things from working.  This is a case of it
consuming an event that had nothing to do with the current active
form.  The frmLoadFormEvent can be detected, and requeued after
the dialog is completed.  There may be other events that need to
be delayed until after the dialog.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Serial comm differences between Simulator and real device

2004-06-08 Thread Rob Larson
The first thing I'd be suspicious of is the cable to the Palm.  Some
vendors provide a different serial connector for the new (Tungsten 
Zire 71) devices than for older devices.  The specification is the
same, but there seems to be a small difference on the real devices
that leads to poor connections between connectors designed for old
devices and actual new devices.  The best connectors have a tab that
runs a ways up the back of the T3 in order to stabilize everything.
Try several different cables and see if there is any difference
among them.

The new devices require a proper ID resistor in the serial
connector.  Cables with the wrong ID (Y cables in particular) can
work with old Palms, but go wonky with a T3.

The sensor device may be sensitive to the timing of signals sent to
it.  This is what handshaking is supposed to take care of, but some
devices are just deaf some of the time.  They are dependent upon the
sender leaving some time between characters, or between command
sequences.  The T3 is a very fast device, and it may be overrunning
the performance of the sensor.  While the PC is fast, it has many
other things going on, and thus may not actually drive the serial
connection at the highest speed.

I've had reports that my SerialFix extension corrected data
integrity to serial devices.  The only way I can figure that this
could be true is that there must be some buffer management problems
in the standard serial handler code.

If the program works on other Palm devices, but not on the T3, then
it is worth trying the SerialFix extension.  It is available at
http://www.handango.com/PlatformProductDetail.jsp?productId=64193

SerialFix bypasses the requirement for CTS or cable ID handshake
signals.  This allows usage of three wire serial connections and
cables that do not provide the proper device ID, such as Y cables.




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Serial comm differences between Simulator and real device

2004-06-08 Thread Rob Larson
Isn't serial port work fun?!!

You can't use a debugger, since the debugger uses the serial port.

Note that if you use a serial debugger connection, the serial port
is tied up until you reset the device.  Same deal if your program
opens the serial port and exits without closing it.  A soft reset
usually clears up serial port tieups.  I've been known to do a hard
reset every few days to get out of persistent glitches.  Don't keep
anything important on your testing device, or at least keep a
current hotsync.

The best you can do is to check every return code, and issue
progress messages as the code proceeds.

If there is any error on the serial port, all further communications
can be locked up until you clear the error.  The OS/5 devices seem
to be much more picky about this than the earlier ones.  Use
SrmClearErr on any hint that there is a problem.  And don't use
SrmSetWakeupHandler - it doesn't work.

The company that provides the Portabella program that you mentioned
sells a variety of serial port widgets.  They probably offer a RS232
adapter with LED readouts of the various signals.  Another device
that you might consider is an opto-isolator.  It can be used to
clean up any non-standard signal levels that the sensor (or the
Palm) is producing.

You could use a third device to monitor the communications.  Another
PC or Palm could be tapped into the connection.  An oscilloscope is
ok for check signal presence and levels, but I'd hate to decode a
long message from a scope trace.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Inline assembly support in pacc for PNOlet (PODS v1.0alpha)

2004-06-08 Thread Rob Larson

Is there any documentation about how to use PAASM?

I tried converting some GAS code to it, and it's clearly a different
language.  Is PAASM a subset of ADS assembler?

Is there an ADR/ADRL type function available?  How about any
primitives that could be used to provide similar function?




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Calling Arm code slow?

2004-05-19 Thread Rob Larson
There is a YAHM OS/5 hack that disables the cacheflush.  Get it at
http://yahm.palmoid.com/nocacheflush.zip



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: POSE error message- reading from low memory

2004-04-24 Thread Rob Larson
Chances are very high that POSE caught a bug in the program that the real
machine ignores.

It's obviously ok to read that location on a real OS/4 device.  But since
the data is garbage (at least as far as your program is concerned), I'd
question what decision your program is making based on garbage.  Half the
bits in random data are right... so a program can certainly make the right
decision for the wrong reason.  Happens all the time.

Check the buffer allocation for the insert field.  It's probably not set, or
worse yet, just a leftover value from the previous use of that memory.




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Dynamically creating controls

2004-03-31 Thread Rob Larson
Ok, I took a look at the code (it's about 2 years old), and here's what it
seems to be doing...

The design is that there is a blank form on which buttons are added with
CtlNewControl.  The actual data describing the form is in a database, and
the user can add/delete/change/move buttons and specify the labels.  There
is no form resource that describes the screen image - it is all dynamically
created with CtlNewControl as part of handling a frmLoadEvent.

A corruption sometimes occurs that destroys the label of at least one
control currently on the screen.  It's not the control that was just added -
it's one that was already correctly displayed.  I think that what happens is
that adding a new control requires that the entire form structure be
recreated.  The bug is that in some cases a label does not get properly
copied from the old structure to the new one.

The corruption seemed to occur when the 18th or so button was added.
Examination of the control block structure all looked ok, except that things
had moved around, and the label data was bad.  This was OS 3.5, so the
source code is available, and the control blocks are real (not shadowed like
in OS 5).

The fix is to scan the labels for all controls in the active form every time
a control is added or deleted.  Do a CtlGetLabel for each control.
CtlGetLabel returns a pointer to the label.  It is compared with StrCompare
to the database info, and rewritten with StrCopy if it doesn't agree.

The key is that using CtlNewControl can trigger damage to another control.
There's nothing wrong with how CtlNewControl is called, or with the other
controls currently active.  The damage (in my case) can be corrected by
rewriting the label data.  Note also that the maximum length of the label
data is defined as part of the CtlNewControl.  To use a label that is longer
than the original definition, you have to delete the old control and define
a new one with enough space.

Palm recommends Glue...  I find that chewing gum is also useful...



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Dynamically creating controls

2004-03-30 Thread Rob Larson
Ben,

I have what appears to be a solution, at least for the way I use dynamic
controls.  After adding/deleting a control, the entire form is redrawn.  As
part of the redraw, all labels are read, and compared to the database.
Sometimes this comparison fails, in which case the label is rewritten from
the database.

The reason for reading the label, rather than just rewriting it, is to limit
the fixup to only those cases where there actually is a corruption.

As best I can tell, the actual space allocated for each control is ok.  Only
the contents of the label field is corrupted, and rewriting it fixes the
problem.

Most of the work on this problem was done with a IIIC, running 3.5.  Seems
to work with everything since then, although I couldn't tell you if the
fixup is triggered on other versions of the OS.

Does my experience ring true, or is there corruption that just hasn't shown
up?



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Tungsteen E device

2004-01-29 Thread Rob Larson
Very interesting.  There are entries for the Tungsten/E2 and Zire 31.  OS/6
maybe?



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: T3 Serial

2004-01-29 Thread Rob Larson
It's a bug in the T3 serial driver.

Contact me offline for a beta copy of SerialFix that handles the T3 problem.
It will be up on Handango shortly, but I'd be interested in some more
testers.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: simultaneous serial port / IR port usage

2004-01-25 Thread Rob Larson
The Zire 71 and Tungsten/T3 have separate serial and IR ports.  The
Tungsten/T IR and console share the same serial hardware.  Watch out for the
non-support of raw IR on the Zire 71. I don't know about the Sonys, but
they're worth checking out.  Some people have had to modify their 68k serial
code to work with OS/5, even though the specifications are the same. Wakeup
handler support in OS/5 doesn't work in 68k mode, although it might with Arm
native code.

risc [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 we have developed an application that requires the use of both the serial
 port and the IR simultaneously.  This was available on the m125 and m130,
 and worked quite well on these units, but these are no longer available
even
 in refurbished form in any quantity.

 Do any of the new devices even have 2 physical serial ports, the way the
 m125 and m130 did?

 For that matter, do any of the new devices even have the serial port at
all
 in any form?







-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Raw IR on Tungsten T3 Update

2003-12-29 Thread Rob Larson
There are no public documents that I know of that specify things like which
uart is connected to the IR port.  Those of us who need this information
just spend a lot of time experimenting with devices to find out how they're
configured.  For example, the IR port can be identified by issuing a SrmOpen
to the IR port, and checking which hardware port is activated.  If changing
the baud rate via the Serial Manager changes one uart, then you've found it.
More commonly nothing changes...

keith cameron [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 OK thanks Rob

 I can probably get things working without resorting to directly accessing
the
 UART or reprogramming it but just out of interest do you have a
reference/URL
 that gives details of the T3 hardware and/or sftware architecture?

 Keith

 Rob Larson wrote:

  The Intel documentation is available at www.intel.com.  I don't have the
  specific page, but the document you're looking for is Intel PXA255
  Processor Developer's Manual, order number 278693-001.
 
  The hardware registers on the T3 are remapped from 0x4000 to
0x9000.
  So the STUART register that Intel documents at 0x4070 probably shows
up
  at 0x9070.  I say probably because I haven't verified that the IR
port
  is there, but it's the first place I would look.
 
  keith cameron [EMAIL PROTECTED] wrote in message
  news:[EMAIL PROTECTED]
  
   Is there documentation somewhere accesible that gives the T3
architecture
  and
   address map so that I can get direct access to the UART?





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Raw IR on Tungsten T3 Update

2003-12-28 Thread Rob Larson
The Uart is generally programmed to hold input in the FIFO queue until 4 or
5 character times have past without any input.  Thus the time to receive 1
character is the time for that character, plus 4 additional character times.
The details vary with the chip manufacturer (TI OMAP, Intel, Motorola,
Sony).  The T3 uses an Intel PXA255 chip, and you can read about the
Character Timeout Interrupt in section 17.4.2.1.2 of the Intel PXA255
Processor Developer's Manual.  The delay for TI OMAP devices is 4 words
plus 12 bits, or 2 bits more than 5 characters.

The purpose for using character timeouts is to reduce the interrupt load.
Instead of an interrupt per character, the device is programmed to
interrupt, for example, after 8 characters are received, or when no
additional characters are received for 4 character times.  Less overhead,
but you get delays that can be significant at lower baud rates.

The standard Palm setups can be overridden with a PNOLet that reprograms the
Uart.  The details vary according to chip manufacturer, which Uart is being
used, virtual address relocation, and initialization by the standard code
for the device. The Uart can be programmed to interrupt immediately upon
receipt of a character, without using the timeout function.


keith cameron [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 I am gradually getting things to work, mainly by puting delays in the
 reponses from the data logger which is a bit anoying.

 I'm testing at 9600 baud but need to move to at least 38400 later.   The
 logger was supposed to already have a 20 milli second delay from which I
 deduced the 25 milliseconds this turned out to be less than 2
 milliseconds so the total delay was around 7 milliseconds.  The logger
 now has 20 milliseconds delay and thing seem to work.  I will try and
 determine how much delay is needed at the different baud rate.

  Any advice on this would be appreciated.
  What is the five charactyer timeout?
 Keith

 Rob Larson said
 This sounds like the receive function is being terminated by the five
 character timeout.  At 2400 baud, this would be about the 25
 milliseconds
 that you're observing.  At 56000 baud this delay would only be about 1
 millisecond.

 Keith - is the connection running at about 2400 baud?





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Raw IR on Tungsten T3 Update

2003-12-28 Thread Rob Larson
The Intel documentation is available at www.intel.com.  I don't have the
specific page, but the document you're looking for is Intel PXA255
Processor Developer's Manual, order number 278693-001.

The hardware registers on the T3 are remapped from 0x4000 to 0x9000.
So the STUART register that Intel documents at 0x4070 probably shows up
at 0x9070.  I say probably because I haven't verified that the IR port
is there, but it's the first place I would look.


keith cameron [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]

 Is there documentation somewhere accesible that gives the T3 architecture
and
 address map so that I can get direct access to the UART?




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Raw IR on Tungsten T3

2003-12-22 Thread Rob Larson
This sounds like the receive function is being terminated by the five
character timeout.  At 2400 baud, this would be about the 25 milliseconds
that you're observing.  At 56000 baud this delay would only be about 1
millisecond.

Keith - is the connection running at about 2400 baud?



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: OS 5.x Serial Baud Rates

2003-11-25 Thread Rob Larson
The problem with serial port support on the Tungsten/T bothered me
enough that I developed the SerialFix product.  It is a system
extension for OS/5 that enables use of the full range of baud rates.
The problem is that the serial port driver shipped with the Tungsten/T
only honors specific rates.  SerialFix intercepts the SrmOpen
requests, and reprograms the serial port hardware for the requested
baud rate.  The only difference for application programs is that
requests for unusual baud rates (such as 31250) are honored, as
opposed to the standard system response of failing such requests.

Go to http://www.handango.com and search for SerialFix.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: T/2 Voice Memo button

2003-08-21 Thread Rob Larson
I've never seen any documentation about how to use the Voice Memo button,
but it behaves like another hard key.  While the hard keys produce key
events 0x0204, 0x0205, 0x0206, and 0x0207, the Voice Memo key produces
0x0214.  The Voice Memo key only appears in conjunction with the 5-way
navigator, so perhaps that would be an adequate test.  I'm not sure about
the Tungsten/W - does it have the key?



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Chip-specific optimizations?

2003-03-27 Thread Rob Larson
I think you're showing your experience with x86 programming.  It is true
that low level optimization on a 486 is different from a Pentium which is
different from a Pentium II ...etc.

As far as I know, all the 68k chips used in Palm devices execute
instructions in the same number of cycles.  The differences in speed are a
function of the clock rate and the memory configuration.  If you really must
have the highest speed display access, you can write custom code for each
display hardware.  Other than that, any optimization you do should apply
equally to all platforms.

With OS/5, this game really changes.  Optimization will require writing
native Arm code.  And the various Arm processors (TI, Intel,  Motorola)
execute instructions at different rates, even after adjusting for clock
speed.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: running program from removeable media stays in ram?

2003-03-26 Thread Rob Larson
When your app is started from a card, there is a sysAppLaunchCmdCardLaunch
launch code before the normal launch.  You can record that fact in feature
memory, for use next time the app starts up.

As part of the reset, there is a sysAppLaunchCmdSystemReset launch code when
the system restarts.

So the ram copy of the program can know that it is not supposed to be
running.  Now the problem is how does it delete itself.  Best I can come up
with is that you SysUIAppSwitch to a helper application with a launch code
parameter block specifying the delete me request.

Maybe there is some other way for a program to delete itself?

Mark Lussier [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]

 I notice, if a PRC is run from removeable storage, and while running, a
soft
 reset occurs, that application is left in RAM.  The same is true if the
 application itself programatically soft resets the Palm.

 Does anyone have a solution so as the PRC is removed? Particularly in the
 case where the program itself does a soft reset.




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Determining idle time

2003-03-26 Thread Rob Larson
I assume you noticed  sysNotifyIdleTimeEvent to mark the start of idle.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: No overwrite when launching off Card

2003-03-19 Thread Rob Larson
Yep, does that to me too.

My mapping of what happens on my Tungsten/T is that if you launch from the
card and the same app already exists on the handheld, then it launches the
handheld copy.  If you launch from the card and a handheld copy does not
exist, then it is copied over to the handheld and run from there.  If the
card launched copy terminates normally, then it is deleted from the
handheld.  If, however, the handheld resets (something that happens a lot on
my TT...), then the handheld copy remains.

The solution is to either copy from the card to the handheld every time you
put a new version on the card, or to delete the handheld copy every time.
I've spent a lot of time wondering why a change I just put in didn't seem to
be there, usually because it wasn't - I was running the old copy from the
handheld instead of the new copy I intended.

Andrew Waites [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 In my testing if I copy an app from Palm to card then launch off the card
 there is no prompting..it runs the existing app on the Palm.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Documentation on forward compatibility

2003-03-06 Thread Rob Larson
Regulatory types like documentation.  You have already applied several
techniques to your design process that were intended to assure the requested
level of functionality.  You claim to use only documented APIs, do not
depend upon OS internal structures, and have tested a wide variety of actual
hardware.  The first thing you should do for the regulatory people is to
write down this list of things you've already done.  Next you should make a
list of things that could go wrong, both things you control and, more
importantly, things you do not control.

As a technical problem, you can only be held accountable for your own
efforts.  If you wish to act as an insurance business, you can accept the
responsibility for what others (like Palm) do, even though you have no
control over their actions.

The highest quality software that I've seen was written by one
individual/group, and studied by another.  The function of the second pass
over the code was solely to audit it.  Done right, this is a valuable
process for everyone.  Done wrong, it can be a nit picking argument over the
spelling of comments, indentation style, and other aspects of a program that
do not relate to the externally visible function.  Another technique I've
seen used effectively is what I call grooming.  Code is revised to improve
coherency, without necessarily changing the actual results.  I'm much more
impressed by the results of code audits than by the results of black box
testing.

The quality of the code needs to be matched to the quality requirements of
its application.  Code that controls medical life support devices clearly
needs more attention than game or entertainment software.  You need to
understand the value system of those imposing the regulations.  Are they
trying to assure a level of quality, or simply on an ego trip to demonstrate
their ability to control you?  If they really want quality, demonstrate that
you consider them a valuable part of your team.  If they're just SOBs, flood
them with details that they will have to wade through.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Resource types

2003-03-03 Thread Rob Larson
So the only use for aalt, amdc and amdi resources are for native arm
applications?
Any particular places where I might get these for my Tungsten?



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Serial comm delays in OS 5

2003-02-26 Thread Rob Larson
A SrmReceive with a byte count of one and a minimal timeout should
immediately return with the first byte of the two byte buffer.  If there is
no data available, then SrmReceive should wait for the timeout period and
then return with a timeout error code.  Any data in excess of the SrmReceive
request should be left in the uart or the OS buffer.  I say should since
you have the code  I am just talking theory here.

There are three places the byte travels through on its route to your buffer.
First the uart receives it and places it in the receive FIFO buffer.  The
FIFO buffer can hold up to 64 bytes, and can be programmed to interrupt on
one, 8, 16, 56, or 60 characters present (see OMAP documentation for uart3,
FCR register, FX_FIFO_TRIG field).  The uart certainly has the capability of
buffering 8 characters before ever notifying the cpu that anything has
happened.  The operating system reads data from the FIFO when the uart
interrupts, or it could also do it in response to a SrmReceiveCheck (which
should look at the LSR register bit RX_FIFO_E (flags at least one data
character in the RX_FIFO)).  The OS can either store the character in its
own buffer or in yours.  If you don't tell the OS where to store the data,
then it must use the OS buffer.  Finally you issue a SrmReceive, and the
character is transferred to the buffer specified with the SrmReceive.  Lots
of places to get lost here, but the number 8 screams that the data must be
stuck in the FIFO buffer.

The reason OS/5 behaves differently than earlier OSes is that OS/5 on the
Tungsten/T uses the TI OMAP processor.  Earlier OSes all run on Motorola 68k
cpus, which use an entirely different uart.  New code, new bugs.  I agree
that your code should work, but this looks like a bug in the serial support
for the Tungsten/T.  Trying SrmReceive would be an attempt to exercise
different code that might not exercise the assumed bug.  You might also try
the code on a Sony NX or NZ machine - the uart is different and so the
device driver must also be different.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: Serial comm delays in OS 5

2003-02-25 Thread Rob Larson
My guess is that the Uart is buffering the characters in its FIFO.

Instead of the SrmReceiveCheck for a large number of characters, you might
try a SrmReceive for a single character with a timeout of zero (or if zero
doesn't work, try one).




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/


Re: PalmOS 5.0 Compatibility

2003-02-12 Thread Rob Larson
Add Rule 22 (as in Catch 22).

An older program may work in OS/5 if it:

  1. Doesn't provoke bugs in OS/5.
  2. Doesn't depend upon older bugs that were fixed in OS/5.
  3. Doesn't use obsolete functions.
  4. Doesn't use direct access to OS created data structures.
  5. Doesn't use system globals.

The obsolete function game caught me on several points.  I have a calculator
that uses the really ancient floating point library.  Works fine with
everything up to OS/5.  When it didn't work, I tried to debug the problem.
Eventually I found the documentation (in 6 point type (or was it 3 point...)
that said that the original floating point interface was not supported in
OS/5.  This program didn't do any manipulation of OS internal data
structures or any of the supposed nasty things we're not supposed to use.
It's only fault was that it was never updated to the newer way of doing
floating point calculations.

I guess I'm getting rather tired of the implication that if we developers
had just lead a more pure existence and not violated so many interface
guidelines, then everything would just work like it should have been
designed.  The only reason the glue library exists is that there were no
proper ways to get many tasks done.  The glue library was a last minute
attempt to provide blessed ways of doing things that previously could only
be done in hacker fashion.

Many of the useful things that were done pre-OS/5 cannot be done in OS/5 by
any blessed technique.  If you doubt this, please tell me the official
policy on how to install a hack.  Hacks were never blessed, and have now
been officially condemned.  Not that that ever stopped real palm
programmers...



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Opinions on Expectation of problems with a known invalid global data access.

2003-02-12 Thread Rob Larson
The 68k really doesn't care about reading the wrong address, although you
could get an alignment fault by reading from an odd (as opposed to even)
address.  I can't think of any I/O ports that will object to a random read,
although you could maybe clear some condition that hadn't been serviced yet.

It's scary how many programs work for the wrong reasons.  I've traced a lot
of programs that make all sorts of stupid decisions, but in the end seem to
work ok.  Any significant program has many bugs in it, but only a few worth
the effort to ferret out.  High reliability systems pay much more attention
to being fault tolerant than to being fault free.

Besides, half the random bits in the world are correct...



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: NR70 and baud rates

2003-02-10 Thread Rob Larson
What I've currently got working is code that runs the Tungsten IR port at
about 40,000 baud.  The IR port is just another serial port, so the issues
of setting the baud rate are exactly the same.  I've also got some test code
that overrides the SrmOpen baud rate on a 68k to a separately calculated
baud rate.  This is all developmental code, but it sounds like someone else
besides me might be interested in something like a utility library.  The
hardware is certainly capable of non-standard baud rates on both the serial
connector and the IR port.

Mike - from what you have said about your 10,400 baud data connection, I'm
wondering if you really want 8 bit characters (plus a start and a stop bit)
from the serial connection.  It sounds like you are trying to sample a pulse
stream, and are just using the 8 bit setup because it is what's available.
Tell me more about the characteristics of the data stream - there is more
that can be done than simply setting the baud rate.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: NR70 and baud rates

2003-02-07 Thread Rob Larson
The 68k produces baud rates at very specific multipliers of the clock
frequency.  The closest a 66 Mhz machine can get to 10400 baud is 10363.
The next step is 10794.  The closest to 31250 is 31402, with the next
closest 30932.  The Tungsten/T hardware is capable of 10416 and 31250
(exactly!).  Of course the crystals in real devices probably vary by a few
percent.

I don't understand why they wire in specific rates beyond what the hardware
is capable of.  Seems like more code, arguments over which rates to include,
etc.  Much simpler to just do a divide and round to the closest available
value.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Palm OS 5.2, tungsten/sony?

2003-01-22 Thread Rob Larson

Ben Combee [EMAIL PROTECTED] wrote in message
news:110199@palm-dev-forum...
 There isn't a way for normal software developers to have completely
 ARM-native applications on current Palm OS devices.

Arm native applications require some sort of system call structure like the
Trap instruction interface on 68k.  It looks like the current native
applications are static linked into the entire OS.  Am I missing something
(like a SWI interface)?




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Palm OS 5.2, tungsten/sony?

2003-01-21 Thread Rob Larson
OS 5.2 is just a developer release for use with the simulator.

One of the very interesting fixes noted in 5.2 is

 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.

This would seem to imply that there is already support for native ARM
applications in OS 5.0.




-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Does Palm OS5 support 31250 Baud?

2003-01-17 Thread Rob Larson
The short answer is no.  You can only request baud rates of 300, 600, 1200,
9600, 11440, 19200, 38400, or 65280.  Any other request will be rejected as
a bad parm.  Actually, I'd be surprised if any of them actually worked.

The long answer is yes.  The serial port on the Tungsten/T runs at 75/n,
where n is the value of a divisor set into a uart register.  The value
75/24 is exactly 31250.  Setting this value is a job for a low level
armlet routine, but it could be done.  Maybe OS 5.1+ could be upgraded to
accept such a value.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Does Palm OS5 support 31250 Baud?

2003-01-17 Thread Rob Larson
Try asking for 300 baud.  I think it will give you 31250!



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Dynamic Forms getting corrupted

2003-01-16 Thread Rob Larson
I have a similar problem with dynamically created controls.  Upon redrawing
a form with maybe 10 dynamically created controls, one of the control labels
was getting trashed.  Apparently when the OS shuffles the form data around
(say, one of the controls is deleted), it can fail to copy the label data to
its new location.  Everything is properly allocated, except the label is
trash.

My solution was to run through the database, comparing the intended label to
the current control label.  When they don't compare, I reset the label to
the one in the database.  If everything works properly, then there is no
fixup.

Ugly, but not doing it is even more so.

As I recall, form titles have a fixed maximum length.  Whatever length you
use when the title is first declared becomes the maximum length that will
work.  You can set any length title you want, but if it exceeds the
available space, it just trashes the next control in the form.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Cold boot on Tungsten/T doesn't reset everything

2003-01-11 Thread Rob Larson
I've gotten my /T into a knot that cold boot doesn't reset.  Used to be that
I could go to console mode, import some files, start debugging mode, crash,
reset, and restart debugging mode.  Now, even if I don't run my crashing
software, I have to cold boot every time to get to debugging mode.

I'm using PalmDebugger V3.6d7 and a serial cradle.

I've tried to run the battery down to nothing, but that doesn't change
anything.  I'm about to try opening the case to disconnect the battery for a
while in hopes that lack of power will reset whatever the problem is.  I
suppose I could send it in for warranty repair, but if the problem is my
software, then it'll just happen again.

Any advise (don't write buggy software?) would be appreciated.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Brightness vchr on Tungsten T

2002-12-23 Thread Rob Larson
I don't know if it's related or just an additional fechur...

If you call UIBrightnessAdjust(), the brightness slider is
broken.  The motion is jerky, the right 1/3 of the slider is
corrupted, and the sensitive part of the slider is about 3/8
inch higher than it should be.  Note that this is different
code than the brightness slider invoked by the graffiti area
selector.  Maybe the simplest fix is to direct
UIBrightnessAdjust to the graffiti invoked code (since it
works already).

Over in UIPickColor, the title line is corrupted.

My wild guess is that the relevant code in UIControls.c was
never converted to Arm native.  Endian errors strike again...



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Os5 or Os4

2002-12-23 Thread Rob Larson
OS/5 is a major change from OS/4.  One of the broken parts
of OS/5 is debugging on the actual device.  There is no
emulator for the Tungsten/T or any other OS/5 device.  OS/5
debugging on the simulator is debugging with similar but
different code than actually runs on the device.

OS/5 is the bleeding edge of Palm development.  If you are a
developer who has to be sure your code works on the real
device, then you have no choice but to use OS/5.  But even
if you must use OS/5, I recommend that you develop in the
OS/4 environment, first with the emulator and occasionally
on a real device.  After the code is working on OS/4,
confirm that it works on OS/5 devices.  Be sure to read
everything you can about OS/5 compatible coding techniques.
As long as you don't go mucking in OS tables, your code
should work the same in OS/4 and OS/5.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Tungsten-CW for debugging

2002-12-17 Thread Rob Larson
Ben - So what will happen with CW V8 debugger?  Does it sometimes just
stop a little further on in the code than expected, or does it get
totally confused?

Your mention of overlaying code with the TRAP #0 leads me to a related
question.  How do you gain access to code segment?  I had to remove the
HwrEnableDataWrites that I used with earlier OS to allow code segment
writes.  There is obviously some other way to achieve this in OS/5.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Tungsten-CW for debugging

2002-12-16 Thread Rob Larson
Looks like CW V9 is the only reasonable game in town.

With older CW or PalmDebugger you need a serial cable with a universal
connector.  Do not use a Y cable with both USB and serial connectors.
The Y cable works for hot sync, but really confuses any debugging
traffic.  If you have to reset the Tungsten, the Y cable serial
connector causes it to hang.  The serial (only) cable works fine.

At the assembly level with PalmDebugger, there is a bizarre error such
that the second instruction following a JSR or TRAP is skipped over by
the debugger.  The instruction is executed, but you can't single step
into or breakpoint on it.  So single stepping has these holes in the
trace.  What I've done for my own code is to add assembler NOP
instructions in the skipped areas so I don't have to think about the
invisible areas.  For code you don't control, just be aware of what is
happening and do lots of disassembly after skipping over a
JSR/BSR/TRAP.

At the C/C++ level with CW before V9, I'll bet it just blows on past
any breakpoints that happen to end up on the second machine
instruction past a JSR/BSR/TRAP.  As Ben says, the problem is in the
debugger nub on the Tungsten.  The effect will show up with CW
debugger, PalmDebugger, GDB, or any other debugger that communicates
with the Tungsten debugger nub.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Re: Palm Debugger on Tunsten/T

2002-12-13 Thread Rob Larson
The problem with starting up PalmDebugger on the Tungsten/T is an issue with
the serial/USB Y cable I am using.  Reset works normally if I disconnect the
Y
cable before doing the reset, then reconnect the serial portion.  USB
debugging
doesn't work, but at least I have a consistent serial debugging capability.

The problem with MOVEM.W is still real.  Took out another one...

Tracing has a bizare problem.  Given the sequence
jsr   foo
move.w #1, d0
move.w #2, d1
move.w #3.d2
When you are stopped in the debugger at the JSR, step over the JSR with F10,
it looks normal (new instruction is the move.w #1  Do another step
with
F10 and the debugger steps to the move.w #3  It does not stop and show
the
move.w #2, although register d1 will now contain 2 (the skipped
instruction
is executed, but not displayed by the debugger.  The F10 over the jsr has
left
some residual status in the debugger that causes the next step to execute 2
instructions.

ROM routine names are not displayed.  Most show as ILLEGAL ADDRESS, or
just _TD xxx.  Obviously there are no routine names following the RTS
instructions
since the 68k is just a figment of our imagination...



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/



Palm Debugger on Tunsten/T

2002-12-12 Thread Rob Larson
I've had limited success in using Palm Debugger on Tungsten/T
and I'm wondering if the problems are due to my particular
hardware, or does everyone run into these.

  1.  USB debugging from Palm Debugger never connects.

  2.  Serial debugging connects only after doing a HotSync.
   Apparently HotSync sets some sort of status in the
   Palm and/or PC that is required for Palm Debugger
   to function.

  3.  After a crash that goes to the debugger, reset is flaky.
   Sometimes I have to hard reset the Tungsten several
   times before it comes up again.  Then I HotSync
   everything back into the Tungsten via USB, switch to
   Serial  HotSync again.  Then quit Desktop  restart
   Palm debugger in serial mode.

  4.  There is a bug in the 68k emulator on the Tungsten
   such that it cannot handle a MOVEM.W instruction.
   Works fine on a real 68k, but I had to replace the
   MOVEM.W with a MOVEM.L to get past that point
   in the code.



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/