> The problem came from a NULL pointer in the form's window structure. The
> debug ROMs does not support the Window structure field AddrV20; in the
> source code it says it is cleared on purpose to enforce engineers use the
> proper API (thanks, Roger).
:)) direct access to screen hey? :)
> We needed that field to obtain the address of the memory allocated for the
> form so we can perform faster BitBlt there (our own version of DrawBitmap).
> The proper way to address the issue seems to be to obtain the pointer to the
> bitmap structure for the appropriate window using BmpGetBits().
getting "legal" direct access has been mentioned before:
http://www.escribe.com/computing/pcpqa/m32657.html
on 3.5 you have BmpGetBits() - so, on pre 3.5, you still use the old
system :(
> While working on that one, I also found another something: we use a blank
> form to create as a main window, then do our animation inside. Noting
> standard is used from that form, besides its physical boundaries and the
> creation process. We did not use FrmDrawForm() in the form load event, for
> example, because there was nothing there to be drawn; instead, we used to
> draw our stuff manually. This had caused crash on the DEBUG ROMs, and the
> reason was that the form was not made active! FrmDrawForm(), which is
> normally called the first time when the form is loaded, contains a check
> whether the form being drawn is currently active and activates it if it is
> not. Skipping that call as we used to, will make the DEBUG ROMs unhappy
> (forget certification then!). Using FrmSetActiveForm() resolves the problem.
the issue about 3.5 debug roms returning NULL in this field has
been mentioned previously on this list
http://www.escribe.com/computing/pcpqa/m31536.html
nasty stuff.. :)
however, i believe, you should do fine with certification if you
do not directly access the screen :) in the event that you do
directly access screen buffers, its ok, as long as you use an
API to copy it to the display.
which raises another question, what are the restrictions on
certification, if you verify your hardware (CPU, screensize)
before doing direct access?
if valid code can be presented, to demonstrate API's are not
used in the event unknown hardware is found - how does it
affect certification?
a clear example of this type of code is Cube3D, it uses faster
assembler routines when it knows it can, and API's when there
is something peculiar about the hardware..
how would this pass in certification tests?
> Thanks Aaron, David and Roger
any time bobby :)
// az
[EMAIL PROTECTED]
http://www.ardiri.com/ <--- free games!
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/