Re: $%@$% ROM image files!!!
You might want to try the latest POSE because it's supposed to let you transfer the ROM over USB. The instructions say to copy the USBPort.dll to the POSE install directory. There will be an option enabled after you do this to transfer over USB. Although the option was there, it didn't work for me. I have a different device (older) than yours, however. It worked fine for me with m500 that I am developing for at the moment. There is a section in palm emulator user guide called: Transferring a ROM image over a USB Connection that should tell you what to do. I am not sure about how it works with other devices as I have a serial cable for my own palm IIIxe, and hence havn't tried to download over USB for that. - Veronica -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Play Midi Command
Hi, How can i play multichannel midi on CliƩ and OS5 devices ? SndDoCmd doesn't seems to support this. Thanks Chris -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS 3.5 :SelectDay() -different events on normal rom and debug roms
And the reason they do that is because on a real device there may not have been enough memory to save the bits behind the modal form. And in that case the OS will use frmUpdate to tell the form behind the modal form to redraw itself. A form is buggy if it does not properly respond to frmUpdateEvent -- so the debug ROMs help you find that bug in your form. Refer to the Palm OS SDK for details on frmUpdateEvent. Jayanarayanan M N [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I have a form with to select a date. In the normal form, selecting date does not generate a frmUpdateEvent(and application works fine). In a debug rom- Palm OS 3.5-en-colordbg.rom- selection generates and frmUpdateEvent. Is this correct behavior? Am I making some trivial mistakes? Palm OS Bible by Lonnon R Forster. Page 169. (Setting Individual Object Properties) It says the debug roms(for 3.5) always post frmUpdate when for save behind forms with modal forms. thanks.. -jayan -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RE: Big Clock source code
Hi, The source code to Big Clock (which is under GPL) does not seem to be available on the Internet any more. I have been trying to contact Jens Rupp, the developer, but if anyone has a copy of the source I would be indebted to them if they could email it to me. In turn I will be happy to pass it on to anyone else who is interested. Sorry if i didnt answer yet, the BigClock mailfolder is a black hole in the moment because of time problems... The source is still available here: http://www.gacel.de/bigclock_source.zip (its a bit of a mess and requires some tweeking to get it working...) BigClock 3.0 is in development (os5, highres, midi, wav, mp3 sounds alarm manager etc...) and is a complete rewrite since the current architecture would require too much hacking to support the new features. BigClock 3.0 wont be GPL (or free) since it is developed in company time (1day/week). The kind of licensing and shareware restrictions etc are not yet decided. Regards, Jens -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
screenshots on tungsten T
Hello, I've written an application for the tunsgten T that uses native ARM code. Is it possible to capture screenshots on the tungsten? I can't run my app on the emulator because it uses native ARM code. (I could write dlls that would replace the armlets but this would be very time consuming) thanks, David -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: $%@$% ROM image files!!!
A few years ago, Olivetti produced a device called the Royal Davinci. Saving themselves a lot of time in the development process, they simply adopted Palm's ROM image. They got sued and had to withdraw the device: http://www.palm.com/pr/olivetti.html Since then, they've been understandable vigilant in protecting their property. George Henne NS BASIC Corporation http://www.nsbasic.com PS. It's cold here too, and yes, I've spent a lot of my life programming in assembler too. Can someone explain to me why these files are such a closely guraded secret? Calamity Jane up in the cold northland! __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Trouble getting started with CDK
hi Folks, am very new to programming Conduits in Java (as my error message will confirm)' i cannot compile the RDBMScond package that ships with the Donduit Development Kit 403, i have set the CLASSPATH to the JAR files(jsync and jsyncgen and have ran JSyncInstaller.exe) the error message is as follows Failed reading value of registry key: Software\JavaSoft\Java Runtime Environment\CurrentVersion Error: could not find java.dll Error: could not find Java 2 Runtime Environment i would be very grateful for any help, michael -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
See Message #85437 in this forum that I posted. SrmReceive() doesn't return until at least 8 bytes are in the buffer in OS 5. The app I'm working on needs to respond to single byte polls and the same exact code worked fine in the preOS 5 world, so I'm thinking that there must be a bug in their stuff. what do you expect to get by paying $500+ that you probably can get the same response/help from here in the forums? what type of problems are you needing assistance with? if you look at the forum archives, there is a LOT of information here, you just need to find it. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
test
. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
test
mhh. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
test
does it work .. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Database Problem
hello When u turn off you PalmPilot, and you have data saved to a database, and when you turn it back on it has dissappeared, is there any way of preventing this happening Thank you -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: screenshots on tungsten T
Create a database. Create record(s) in the database. (depends on the amount of data you want to dump) Dump the content of the screen in the record(s) of the database. (f.e. after pushing a specific button) Hotsync. Write a reader/converter on your host machine. Voila! I did it that way and it just works fine. Best regards, Carsten. David Janssens wrote: Hello, I've written an application for the tunsgten T that uses native ARM code. Is it possible to capture screenshots on the tungsten? I can't run my app on the emulator because it uses native ARM code. (I could write dlls that would replace the armlets but this would be very time consuming) thanks, David -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: test
SORRY! But Netscape fucked up.. I had to switch to a Sun-OS machine, delete all newsgroups settings and set them a new .. sorry sory sorry ... ;) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
See Message #85437 in this forum that I posted. you mean this one? http://www.escribe.com/computing/pcpqa/m71474.html SrmReceive() doesn't return until at least 8 bytes are in the buffer in OS 5. The app I'm working on needs to respond to single byte polls and the same exact code worked fine in the preOS 5 world, so I'm thinking that there must be a bug in their stuff. as you identified, this is most likely a problem with implementation (either be it hardware limitation or software). its not that common people use the serial manage and send a single byte over it *g* or, begad.. it could be a bug in your code :) have you tried isolating the code slightly? see if SrmReceive is actually thread blocking - that is, doing nothing until 8 bytes of data is actually put into the buffer. are you sure that no errors are occuring with those calls? looking over the code, i see some potential issues. 1. serNumBytes -- set to zero by SrmRecieveCheck - should you reall go in and try to receive bytes if this value is zero? your if (!error) should probably include a check that there are bytes to recieve. i dont know what calling SrmReceive with 0 bytes actually does - could do some funky stuff. you might want to also set it manually to zero before that call to be on the save side, your optimizer might be doing some funky register tweaking which is known to make fun bugs at times as well 2. SrmReceive call, are you sure you want to pass -1 as the timeout? -1 means wait forever. maybe serNumBytes is being set to 8 magically and, SrmReceive sits and waits forever for these 8 bytes? try setting it to 10 or so (100ms) - at least, give it enough time to get X bytes. while this wont be part of your problem, it is a little nitpick :) char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); isn't the best way to do this :) your passing the address of a char variable onto your CustomAlert - but, you cannot guarentee that the byte directly following is actually a \0 character. since it also works on OS4, it could potentially spell out a bug with PACE - but, lets not count your chickens before they hatch. it could just be programmer error *g* --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
RE: test
yea it dosnt work, i think that al you replied to me was ., a dot! -Original Message- From: Carsten [mailto:[EMAIL PROTECTED] Sent: 10 March 2003 14:35 To: Palm Developer Forum Subject: test does it work .. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
See Message #85437 in this forum that I posted. looking at the thread that followed your post, there was quite a bit of 'justifiable' knowledge been thrown your way; probably more than you'll get from someone inside palmsource in such short notice. did you try setting your timeout to a non -1 number? if the problem is with SrmRecieveCheck(), bypassing it with a small timeout value could solve your problems as well. as for why it may work differently on T|T, Rob Larson pointed it out smack on the dot. your dealing with different CPU, different UART's and.. these things happen.. functionality can change from one set of hardware to the next - you should not be depending on such timings in your application really. i would recommend you go back and re-read some of the responses that were posted to your original question, and, you might see some light ;) --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Hiding/Showing Scrollbars
Using PILRC. Tried many different combinations of setting control to usable/non-usable, hiding/showing using the scrollbar definition and programaticaly (CtlSetEnabled, CtlHideControl/CtlShowControl). I can get it to display through PILRC, but then cannot remove it from the display at runtime (not enough data on the form to require a scrollbar). When I set it to NONUSABLE in the form def, I can't get it to display using the 'Control' functions. Is there a particular sequence of calls to toggle the scrollbar on/off at runtime? Thanks, David -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Hiding/Showing Scrollbars
try FrmHideObject / FrmShowObject functions - Original Message - From: davidmo [EMAIL PROTECTED] To: Palm Developer Forum [EMAIL PROTECTED] Sent: Monday, March 10, 2003 4:00 PM Subject: Hiding/Showing Scrollbars Using PILRC. Tried many different combinations of setting control to usable/non-usable, hiding/showing using the scrollbar definition and programaticaly (CtlSetEnabled, CtlHideControl/CtlShowControl). I can get it to display through PILRC, but then cannot remove it from the display at runtime (not enough data on the form to require a scrollbar). When I set it to NONUSABLE in the form def, I can't get it to display using the 'Control' functions. Is there a particular sequence of calls to toggle the scrollbar on/off at runtime? Thanks, David -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Hiding/Showing Scrollbars
You can use SclSetScrollBar (ScrollBarType *bar, Int16 value, Int16 min, Int16 max, Int16 pageSize): if you set min == max the scrollbar won't show. Michel.P --- davidmo [EMAIL PROTECTED] wrote: Using PILRC. Tried many different combinations of setting control to usable/non-usable, hiding/showing using the scrollbar definition and programaticaly (CtlSetEnabled, CtlHideControl/CtlShowControl). I can get it to display through PILRC, but then cannot remove it from the display at runtime (not enough data on the form to require a scrollbar). When I set it to NONUSABLE in the form def, I can't get it to display using the 'Control' functions. Is there a particular sequence of calls to toggle the scrollbar on/off at runtime? Thanks, David __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
--- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: See Message #85437 in this forum that I posted. you mean this one? http://www.escribe.com/computing/pcpqa/m71474.html That looks like it. SrmReceive() doesn't return until at least 8 bytes are in the buffer in OS 5. The app I'm working on needs to respond to single byte polls and the same exact code worked fine in the preOS 5 world, so I'm thinking that there must be a bug in their stuff. as you identified, this is most likely a problem with implementation (either be it hardware limitation or software). its not that common people use the serial manage and send a single byte over it *g* or, begad.. it could be a bug in your code :) have you tried isolating the code slightly? Yes. See below. error = SerReceiveCheck(m_serRefNum, serNumBytes); if(serNumBytes = 1) { char serNumBytesChar1 = serNumBytes + 0x30; FrmCustomAlert(DebugAlert, serNumBytesChar1, NULL, NULL); } This Alert message will ALWAYS display 8 in OS 5. OS 4 displays 1. see if SrmReceive is actually thread blocking - that is, doing nothing until 8 bytes of data is actually put into the buffer. are you sure that no errors are occuring with those calls? Yes, I check for errors on SrmReceiveCheck() and SrmReceive(). I don't call SrmRecieve() if SrmReceiveCheck() returned an error. looking over the code, i see some potential issues. 1. serNumBytes -- set to zero by SrmRecieveCheck - should you reall go in and try to receive bytes if this value is zero? your if (!error) should probably include a check that there are bytes to recieve. i dont know what calling SrmReceive with 0 bytes actually does - could do some funky stuff. you might want to also set it manually to zero before that call to be on the save side, your optimizer might be doing some funky register tweaking which is known to make fun bugs at times as well I have turned all optimizations on the compiler off. I will try only calling SrmRecieve() if SrmReceiveCheck() returns a non-zero value, but that still doesn't explain why SrmReceiveCheck() will only return when I have 8 bytes in the buffer. 2. SrmReceive call, are you sure you want to pass -1 as the timeout? -1 means wait forever. maybe serNumBytes is being set to 8 magically and, SrmReceive sits and waits forever for these 8 bytes? try setting it to 10 or so (100ms) - at least, give it enough time to get X bytes. I've tried -1, 0, 1, 2, 3, 4, 5, 6, 7, and 8 as the timeout values. SrmReceiveCheck() will always wait until I have at least 8 bytes in the buffer. while this wont be part of your problem, it is a little nitpick :) char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); isn't the best way to do this :) your passing the address of a char variable onto your CustomAlert - but, you cannot guarentee that the byte directly following is actually a \0 character. You are correct, you are nitpicking. This is just debug code. The end user doen't care how many bytes are in the buffer. It's a quick and dirty way to convert a single digit to ASCII without allocating more memory. The alert does display some garbage after the text, but I know what I'm looking for. For all other Custom Alerts I do allocate more memory. since it also works on OS4, it could potentially spell out a bug with PACE - but, lets not count your chickens before they hatch. it could just be programmer error *g* Dude, I have worked for a week on this crap. I have sat down with multiple engineers that have worked on the Palm OS and embedded software before. We have spend well over $500 worth of time into this problem and no one can explain what is going wrong. My company is willing to fork over the $500. I appreciate your attempt at helping. I'll let you know what the experts say. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
--- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: See Message #85437 in this forum that I posted. looking at the thread that followed your post, there was quite a bit of 'justifiable' knowledge been thrown your way; probably more than you'll get from someone inside palmsource in such short notice. did you try setting your timeout to a non -1 number? if the problem is with SrmRecieveCheck(), bypassing it with a small timeout value could solve your problems as well. Yes. I have tried multiple timeout values. SrmReceiveCheck() does not return until at least 8 bytes are in the buffer. as for why it may work differently on T|T, Rob Larson pointed it out smack on the dot. your dealing with different CPU, different UART's and.. these things happen.. functionality can change from one set of hardware to the next - you should not be depending on such timings in your application really. This is not a timing issue. It appears to be one on the surface, but the REAL issue is SrmReveiceCheck() does not return until 8 bytes are in the buffer. i would recommend you go back and re-read some of the responses that were posted to your original question, and, you might see some light ;) --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
did you try setting your timeout to a non -1 number? if the problem is with SrmRecieveCheck(), bypassing it with a small timeout value could solve your problems as well. Yes. I have tried multiple timeout values. SrmReceiveCheck() does not return until at least 8 bytes are in the buffer. are you saying it thread blocks, or, doesn't return a value until there are 8 bytes? to quickly test this, try this small adjustment. // Find out if we have bytes in the queue serNumBytes = 0; error = SrmReceiveCheck(m_serRefNum, serNumBytes); if ((!error) (serNumBytes)) { char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); // Clear the buffer MemSet(m_serUARTBuffer, SER_BUFF_SIZE, 0); // If more bytes are available in UART buffer than we have in the // serial message buffer, only get what we have room for. if(serNumBytes 512) serNumBytes = 512; // Grab bytes from the UART buffer serNumBytes = SrmReceive(m_serRefNum, m_serUARTBuffer, serNumBytes, -1, error); } that will tell you if it is actually waiting for 8 bytes to come in specifically on the SrmReceiveCheck before returning, or, if it waits for 8 bytes before actually telling you there are some bytes available. as for your 'expert' advice, the one guy i know who could answer your question specifically (who was introduced to me as mr. serial manager) probably doesn't work at palm/palmsource anymore due to recent layoffs :( i am sure many other people here would love to know their expert solution to this problem; it seems you were not the only one with the problem. [digging up old code] i found some old code that would grab one byte at a time from the serial port, but, it made calls specific to XXXReceiveWait and XXXReceive. --- // wait for byte to arrive error = #ifdef USENEWSERMGR SrmReceiveWait #else SerReceiveWait #endif ((UInt16)serRef, 1, serInterbyteTimeout); // if we had no error, our byte is in the receive queue if (!error) { // receive the byte bytesReceived = #ifdef USENEWSERMGR SrmReceive #else SerReceive #endif ((UInt16)serRef, rxByte, 1, serReceiveTimeout, error); // see if we received 1 byte and no errors are present if(!error bytesReceived == 1) { // set the reception OK flag receptionOK = true; } } // end if(!error) --- yet another alternative solution to the problem? while this worked on really old units, i have not needed the code on 5.0 units, but, this might be another way to tackle the problem? --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
playing sampled sound in background
Hello all, Does anyone know how to play sampled sound in the background while other apps are executing? (how is it possible to have the sound callback getting called even after the player application is exited?) thanks, David -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
--- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: did you try setting your timeout to a non -1 number? if the problem is with SrmRecieveCheck(), bypassing it with a small timeout value could solve your problems as well. Yes. I have tried multiple timeout values. SrmReceiveCheck() does not return until at least 8 bytes are in the buffer. are you saying it thread blocks, or, doesn't return a value until there are 8 bytes? to quickly test this, try this small adjustment. // Find out if we have bytes in the queue serNumBytes = 0; error = SrmReceiveCheck(m_serRefNum, serNumBytes); if ((!error) (serNumBytes)) { char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); In pre-OS 5.0: FrmCustomAlert displays 1 In OS 5.0: FrmCustomAlert displays 8 // Clear the buffer MemSet(m_serUARTBuffer, SER_BUFF_SIZE, 0); // If more bytes are available in UART buffer than we have in the // serial message buffer, only get what we have room for. if(serNumBytes 512) serNumBytes = 512; // Grab bytes from the UART buffer serNumBytes = SrmReceive(m_serRefNum, m_serUARTBuffer, serNumBytes, -1, error); } that will tell you if it is actually waiting for 8 bytes to come in specifically on the SrmReceiveCheck before returning, or, if it waits for 8 bytes before actually telling you there are some bytes available. If the code is changed to the following: // Find out if we have bytes in the queue serNumBytes = 0; error = SrmReceiveCheck(m_serRefNum, serNumBytes); if (!error) { char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); .. A zero is displayed in the Custom Alert. Therefore, if there aren't bytes in the queue, SrmReceiveCheck() will return immediately in OS 5 as expected. But if there are bytes in the queue, SrmReceiveCheck() will wait until there are at least 8 before returning, which isn't good for my app, becuase it's too late to respond to the poll. as for your 'expert' advice, the one guy i know who could answer your question specifically (who was introduced to me as mr. serial manager) probably doesn't work at palm/palmsource anymore due to recent layoffs :( i am sure many other people here would love to know their expert solution to this problem; it seems you were not the only one with the problem. [digging up old code] i found some old code that would grab one byte at a time from the serial port, but, it made calls specific to XXXReceiveWait and XXXReceive. We haven't tried this method, but I'll try it out. Thanks for your help! --- // wait for byte to arrive error = #ifdef USENEWSERMGR SrmReceiveWait #else SerReceiveWait #endif ((UInt16)serRef, 1, serInterbyteTimeout); // if we had no error, our byte is in the receive queue if (!error) { // receive the byte bytesReceived = #ifdef USENEWSERMGR SrmReceive #else SerReceive #endif ((UInt16)serRef, rxByte, 1, serReceiveTimeout, error); // see if we received 1 byte and no errors are present if(!error bytesReceived == 1) { // set the reception OK flag receptionOK = true; } } // end if(!error) --- yet another alternative solution to the problem? while this worked on really old units, i have not needed the code on 5.0 units, but, this might be another way to tackle the problem? --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
In pre-OS 5.0: FrmCustomAlert displays 1 In OS 5.0: FrmCustomAlert displays 8 are you getting the same results on PalmSim as well? If the code is changed to the following: // Find out if we have bytes in the queue serNumBytes = 0; error = SrmReceiveCheck(m_serRefNum, serNumBytes); if (!error) { char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); .. A zero is displayed in the Custom Alert. Therefore, if there aren't bytes in the queue, SrmReceiveCheck() will return immediately in OS 5 as expected. But if there are bytes in the queue, SrmReceiveCheck() will wait until there are at least 8 before returning, which isn't good for my app, becuase it's too late to respond to the poll. so, best solution is to avoid SrmReceiveCheck() :) seems that is coded to thread block/return nothing until 8 bytes are in the buffer. i found some old code that would grab one byte at a time from the serial port, but, it made calls specific to XXXReceiveWait and XXXReceive. We haven't tried this method, but I'll try it out. Thanks for your help! its old code :) but, technically should work the same way. since you are only looking for one byte, you can have a pretty low timeout value without slowing things down too much :) i had to dig deep in my archives for that code.. its a bit dusty. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- 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 (m550) (was: Re: Palm OS DeveloperMembership Upgrade)
On Mon, 10 Mar 2003 07:36:15, ritmanik writes: SrmReceiveCheck() does not return until at least 8 bytes are in the buffer. This isn't an accurate or a complete statement of the problem. Sending only one character at a time from an external terminal to the m550 serial port seems to work just fine. So SrmReceiveCheck() *will* return after only 1 byte is in the buffer, but after a slight delay (a few milliseconds it seems). It may be that the OMAP chip itself takes some time to shift incoming serial port data down its built-in 8-byte FIFO. Ron Nicholson HotPaw Productions http://www.hotpaw.com/rhn/hotpaw -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
floats in syslib shared library under prc-tools 2.2?
I'm trying to build a simple Hello Lib example syslib library using prc-tools 2.2. Other than the open, close, sleep, and wake functions, the only function in the library looks like this: void HelloLibSquare( UInt16 refnum, float in, float* out ) { *out = in * in; return; } When I build this library, the build-prc step gives me a warning: global data ignored. I used m68k-palmos-objdump --section-headers to view the hellolib file and it shows nonzero-sized .data and .bss segments. Curiously, if I comment out the first line of the body of HelloLibSquare, the warning goes away and the .data and .bss segment sizes are zero. The same is true if I make my arguments ints instead of floats. I'm using the GaussLib example from prc-tools-samples as the basis for this, and that example builds and runs fine. Any idea why I can't use float (or double--that bombs, too) for my arguments? thanks - Dave -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
I705 development
when i tried to delete a file on a palm i705 i get the following error memorymgr.c line 4384 freehandle -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Masking images on 0S 3.5
Hi Everyone, I think this was covered previously, but I've searched the archive and can't find any topics on it anymore. I'm writing a game that uses an offscreen window to blit images to the main window using a Mask image to maintain the background image of the main window. I'm using winMask followed by winOverlay to accomplish this. Everything works perfectly on OS4.0 and OS5, but on OS3.5, I get strange results. The images appear skewed (slanted) when they're drawn to the main window. Here are the steps I am using: 1) copy background image from offscreen to main window using winPaint 2) copy Mask image (black pixel = keep) from offscreen using winMask. 3) copy bitmap image from offscreen to main using winOverlay. Once again, this method works perfectly on OS4.0 and OS5. I only get strange results on OS3.5 so I suspect there is a bug in the OS relating to wincopyRectangle and transparency issues. Any help would be greatly appreciated! Thanks! __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
I wrote in a previous post: I have found the same problem on an application that I am working on. It works fine on pre-OS5s but fails on the Tungsten. I have talk to Palm directly and indirectly and have not received any helpful information. My application is a real time app and must be able to process serial information as it enters the serial port. However I have found that serial input port is buffer incoming bytes of data over a very short time period (3-4 milliseconds). This short time period is an eternity for my application, which results in the application failing to deliver the desired results. I do not have the option of trying my application on a Sony NX series because my application uses an adapter utilizing the Palm universal connector. I hope that Palm is listening to this! Since that post i have been in touch with an engineer from Palm Source. The following message was sent to that engineer: I checked the code and looks like FCR7:2 is set 00 (to generate an interrupt every 8 bytes) and SCR7 = 0 and TLR7:4 = . Unfortunately we cannot do anything about this because it is a already shipping product. I am not sure if the future products will keep it like this or change it to 1 byte buffering. The fowwing message was his response: Unfortunately this is below the OS level and cannot be controlled by tweaking the OS. Changes have to made to underlying layer below OS, i am not sure if they can just fix it easily. Will let you know when i find more information on this. The real problem here is that the OMAP processors serial UART3 is not sending incoming bytes directly to the SrmReceive FIFO buffer when it is determined that that incoming byte is legitimate. SrmReceiveCheck check for the number of bytes in the SrmReceive FIFO Buffer. I hope this may help someone and that the next release of the OS fixes the problem for us developing real time serial applications. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
--- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: In pre-OS 5.0: FrmCustomAlert displays 1 In OS 5.0: FrmCustomAlert displays 8 are you getting the same results on PalmSim as well? No, the code works fine on the OS 5 Simulator. SrmReceiveCheck() works as expected. Another interesting thing I found is that the Simulator also supports the old serial manager, but the Tungsten T does not. If the code is changed to the following: // Find out if we have bytes in the queue serNumBytes = 0; error = SrmReceiveCheck(m_serRefNum, serNumBytes); if (!error) { char serNumBytesChar = serNumBytes + 0x30; // convert to ASCII FrmCustomAlert(DebugAlert, serNumBytesChar, NULL, NULL); .. A zero is displayed in the Custom Alert. Therefore, if there aren't bytes in the queue, SrmReceiveCheck() will return immediately in OS 5 as expected. But if there are bytes in the queue, SrmReceiveCheck () will wait until there are at least 8 before returning, which isn't good for my app, becuase it's too late to respond to the poll. so, best solution is to avoid SrmReceiveCheck() :) seems that is coded to thread block/return nothing until 8 bytes are in the buffer. That's what I'll have to do I guess. i found some old code that would grab one byte at a time from the serial port, but, it made calls specific to XXXReceiveWait and XXXReceive. We haven't tried this method, but I'll try it out. Thanks for your help! its old code :) but, technically should work the same way. since you are only looking for one byte, you can have a pretty low timeout value without slowing things down too much :) i had to dig deep in my archives for that code.. its a bit dusty. Thanks again! -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: floats in syslib shared library under prc-tools 2.2?
try declaring your routine as a static function. static void HelloLibSquare... There is nothing wrong with using floats or doubles in libraries.. - Original Message - From: David Ek [EMAIL PROTECTED] To: Palm Developer Forum [EMAIL PROTECTED] Sent: Monday, March 10, 2003 12:10 PM Subject: floats in syslib shared library under prc-tools 2.2? I'm trying to build a simple Hello Lib example syslib library using prc-tools 2.2. Other than the open, close, sleep, and wake functions, the only function in the library looks like this: void HelloLibSquare( UInt16 refnum, float in, float* out ) { *out = in * in; return; } When I build this library, the build-prc step gives me a warning: global data ignored. I used m68k-palmos-objdump --section-headers to view the hellolib file and it shows nonzero-sized .data and .bss segments. Curiously, if I comment out the first line of the body of HelloLibSquare, the warning goes away and the .data and .bss segment sizes are zero. The same is true if I make my arguments ints instead of floats. I'm using the GaussLib example from prc-tools-samples as the basis for this, and that example builds and runs fine. Any idea why I can't use float (or double--that bombs, too) for my arguments? thanks - Dave -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Palm OS Developer Membership Upgrade
are you getting the same results on PalmSim as well? No, the code works fine on the OS 5 Simulator. SrmReceiveCheck() works as expected. ok. then its a device issue :) so, best solution is to avoid SrmReceiveCheck() :) seems that is coded to thread block/return nothing until 8 bytes are in the buffer. That's what I'll have to do I guess. if what Craig Curry informs us is correct, there will be no workable solution to the problem - as, it seems that the UART on the OMAP is causing the delays you are experiencing. We haven't tried this method, but I'll try it out. Thanks for your help! its old code :) but, technically should work the same way. since you are only looking for one byte, you can have a pretty low timeout value without slowing things down too much :) i had to dig deep in my archives for that code.. its a bit dusty. Thanks again! i'd be very surprised if that code works, so, please do let us know. you might be able to force a timeout just enough not to impact your requirements :) *snip* --- Unfortunately this is below the OS level and cannot be controlled by tweaking the OS. Changes have to made to underlying layer below OS, i am not sure if they can just fix it easily. Will let you know when i find more information on this. --- *snip* to prove this is actually the case, you could technicaly poke at the OMAP registers to change FCR7:2, SCR7 and TLR7:4. but, that is not a recommended option. if it does work, however, you can do a CPU id check and determine if these can be changed at runtime to provide a fix. (just be sure to change them back). i am not sure if these registers are read only however. thats something for digging in the CPU manuals. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
UIColorSetTableEntry problem
Hi group, I have a problem with gray colors on OS prior to 3,5. There is no UIColorSetTableEntry in OS versions prior to 3,5 and I cant set values for UI color list. So I cant change the colors of objects like scroll bars and so on. Do you have any idea? Thank you. __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
At 11:53 2003-3-10 -0800, you wrote: Hi group, I have a problem with gray colors on OS prior to 3,5. There is no UIColorSetTableEntry in OS versions prior to 3,5 and I cant set values for UI color list. So I cant change the colors of objects like scroll bars and so on. Do you have any idea? Thank you. On Palm OS versions before 3.5, everything was hard-coded to black and white. There was no support for setting grayscale for UI objects. -- Ben Combee [EMAIL PROTECTED] CodeWarrior for Palm OS technical lead Palm OS programming help @ www.palmoswerks.com -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
Read the SDK docs. Color is only available in OS 3.5 and higher. Color (and grayscale!) support is also only available in OS 3.5 and higher. g3BEPA [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Hi group, I have a problem with gray colors on OS prior to 3,5. There is no UIColorSetTableEntry in OS versions prior to 3,5 and I cant set values for UI color list. So I cant change the colors of objects like scroll bars and so on. Do you have any idea? Thank you. __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Re: floats in syslib shared library under prc-tools 2.2?
I gave that a try but it didn't work. The linker complained about not being able to resolve the reference to the function from the jump table. I tried static on both the declaration and definition, and then on each separately, with the same result each time. I went back to the original GaussLib example (which I was able to build successfully) and added the following three lines of code to the GaussLibCreate function: float a,b; a=2.0; b=3.0*a; This was enough to generate the global data ignored message from build-prc. If I comment out the third line, the message goes away. Why would this line cause global data to be created? Arg. Is it a compiler or linker switch set wrong? Dave ---Original Message--- From: Dave Lippincott [EMAIL PROTECTED] Sent: 03/10/03 12:24 PM To: Palm Developer Forum [EMAIL PROTECTED] Subject: Re: floats in syslib shared library under prc-tools 2.2? try declaring your routine as a static function. static void HelloLibSquare... There is nothing wrong with using floats or doubles in libraries.. - Original Message - From: David Ek [EMAIL PROTECTED] To: Palm Developer Forum [EMAIL PROTECTED] Sent: Monday, March 10, 2003 12:10 PM Subject: floats in syslib shared library under prc-tools 2.2? I'm trying to build a simple Hello Lib example syslib library using prc-tools 2.2. Other than the open, close, sleep, and wake functions, the only function in the library looks like this: void HelloLibSquare( UInt16 refnum, float in, float* out ) { *out = in * in; return; } When I build this library, the build-prc step gives me a warning: global data ignored. I used m68k-palmos-objdump --section-headers to view the hellolib file and it shows nonzero-sized .data and .bss segments. Curiously, if I comment out the first line of the body of HelloLibSquare, the warning goes away and the .data and .bss segment sizes are zero. The same is true if I make my arguments ints instead of floats. I'm using the GaussLib example from prc-tools-samples as the basis for this, and that example builds and runs fine. Any idea why I can't use float (or double--that bombs, too) for my arguments? thanks - Dave -- For information on using the Palm Developer Forums, or to unsubscribe, please see a target=_blank href=http://www.palmos.com/dev/support/forums/;http://www.palmos.com/dev/support/forums//a -- For information on using the Palm Developer Forums, or to unsubscribe, please see a target=_blank href=http://www.palmos.com/dev/support/forums/;http://www.palmos.com/dev/support/forums//a -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
Read the SDK docs. Color is only available in OS 3.5 and higher. Color (and grayscale!) support is also only available in OS 3.5 and higher. actually, grayscale was added in 3.0 :) if you have been around long enough, you'll remember how to get it in pre 3.0 as well (cpu tweaking) [ref: ed's hacking]. but, in regards to what was originally asked, modification to have grayscale or color with the standard user interface was introduced after 3.5 grayscale prior to 3.5 was purely for games *g* :) --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. Aaron Ardiri [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Read the SDK docs. Color is only available in OS 3.5 and higher. Color (and grayscale!) support is also only available in OS 3.5 and higher. actually, grayscale was added in 3.0 :) if you have been around long enough, you'll remember how to get it in pre 3.0 as well (cpu tweaking) [ref: ed's hacking]. but, in regards to what was originally asked, modification to have grayscale or color with the standard user interface was introduced after 3.5 grayscale prior to 3.5 was purely for games *g* :) -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Exception handling when out of memory
At 00:51 2003-3-9 -0500, you wrote: And in my event handler, I simply put the line: throw test; But 'catch' never gets the exception. If I move try/catch pair into the event handler, then everything is fine. It's as though FrmDispatchEvent has it's own exception handler which exits the app before my catch gets a chance to handle the exception. Is that the case? It's obviously not a big deal to put my exception handling inside my event handlers. I'm just curious as to what's going on. CodeWarriors exception handling code relies on tables that get written for each function in your application that indicate what need to be destroyed as the stack is unwound. If you're in a callback, the stack crawl includes Palm OS system code that doesn't have these exception tables. When the unwind code gets to this stack frame, it can't find a table, so it then calls terminate() rather than unwind the stack frames for which it doesn't have information. -- Ben Combee [EMAIL PROTECTED] CodeWarrior for Palm OS technical lead Palm OS programming help @ www.palmoswerks.com -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Re: floats in syslib shared library under prc-tools 2.2?
I gave that a try but it didn't work. The linker complained about not being able to resolve the reference to the function from the jump table. I tried static on both the declaration and definition, and then on each separately, with the same result each time. I went back to the original GaussLib example (which I was able to build successfully) and added the following three lines of code to the GaussLibCreate function: float a,b; a=2.0; b=3.0*a; This was enough to generate the global data ignored message from build-prc. If I comment out the third line, the message goes away. Why would this line cause global data to be created? Arg. Is it a compiler or linker switch set wrong? what eror are you getting exactly (show us the output from the shell) what are your compiler/linker switches? :) need to give us info for us to be able to help you in any way.. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Re: floats in syslib shared library under prc-tools 2.2?
At 12:04 2003-3-10 -0700, you wrote: I gave that a try but it didn't work. The linker complained about not being able to resolve the reference to the function from the jump table. I tried static on both the declaration and definition, and then on each separately, with the same result each time. I went back to the original GaussLib example (which I was able to build successfully) and added the following three lines of code to the GaussLibCreate function: float a,b; a=2.0; b=3.0*a; This was enough to generate the global data ignored message from build-prc. If I comment out the third line, the message goes away. Why would this line cause global data to be created? Arg. Is it a compiler or linker switch set wrong? It is likely that the compiler is generating the 8-byte double values for 3.0 in the data section, and the code to perform the call to the multiple routine for the assignment of 'b' is referring to these global constants. -- Ben Combee [EMAIL PROTECTED] CodeWarrior for Palm OS technical lead Palm OS programming help @ www.palmoswerks.com -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. no :) The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. 1.0 had hardware support for grayscale :) 3.0 added ScrDisplayMode (later renamed to WinDisplayMode) 3.0 made it possible without tweaking CPU registers, it was officially in the operating system prior to 3.5 - 3.5 only added color and changed the whole window/blitter layer. --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
At 12:08 2003-3-10 -0800, you wrote: We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. 3.0 supports grayscale screen at the Win API level, but not for user interface UI objects or drawing. Actually, the pre-3.5 API was called ScrDisplayMode, and got renamed to WinScreenMode with that OS version. The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. Special techniques == writing directly to screen memory. :) -- Ben Combee [EMAIL PROTECTED] CodeWarrior for Palm OS technical lead Palm OS programming help @ www.palmoswerks.com -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. 3.0 supports grayscale screen at the Win API level, but not for user interface UI objects or drawing. Actually, the pre-3.5 API was called ScrDisplayMode, and got renamed to WinScreenMode with that OS version. The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. Special techniques == writing directly to screen memory. :) you could always write directly to the screen. 3.0 API's actually had support for grayscale (ie: WinDrawBitmap etc). so, the only time you had 'special' code was pre 3.0, and, thats when you had to tweak the CPU into grayscale (CPU had display controller onboard), and, since you were tweaking, you had to write your own drawing routines, as, the API's were specifically ONLY 1bpp pre 3.0 i am 100% sure of this :) i wrote games for 2.0 :P --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: GPL source code for Noah's Dictionary
Hi Veronica: It seems that indeed no files were released but the source code used to be in the cvs repository. Unfortunately I found the cvs empty. Paul Veronica Loell wrote: * From: Paul Pang (view other messages by this author) * Date: Mon, 3 Mar 2003 10:40:45 Hi, I am trying to locate the source code for Noah's dictionary, released under the GPL in 2000. The source code was removed from http://sourceforge.net/projects/noah and I was wondering whether anyone had a copy around. I'm assuming that there was no filerelease of the source since once you release a file on sourceforge you cannot remove it yourself. You might want to contact the sourceforge staff, if you cannot get ahold of the author and have them send the source, and see if they know what happened with the source code? Obviously you are obliged to provide source with anything that you release or distribute under GPL, or any open source licence so the project should technically not be allowed on sourceforge if there was no sourcecode available along with the binary release. - Veronica -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Database Problem
Tim McCarthy wrote: hello When u turn off you PalmPilot, and you have data saved to a database, and when you turn it back on it has dissappeared, is there any way of preventing this happening Thank you Try to catch the turn-off-event and close the database before you let your Palm turn off. Reopen the db when you turn it back on. regards. Daniel Chaotic Mobile Software www.cmsoft.de -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: floats in syslib shared library under prc-tools 2.2?
Okay, here's what I did. Instead of continuing to work with my example, I took the syslib sample code from the prc-tools-samples and modified it minimally to demonstrate the problem. It creates a sample library called GaussLib-syslib.prc. Here's the header file for it (not modified by me): GaussLib.h -- #ifndef GAUSSLIB_H #define GAUSSLIB_H #include LibTraps.h /* Note that these must be evaluated by the preprocessor. In particular, they must be #defines not enum values. In fact, it's perfectly valid just to write SYS_TRAP(sysLibTrapCustom+1) etc in the function declarations below. */ #define GaussLibCreate_trapno sysLibTrapCustom #define GaussLibRead_trapno sysLibTrapCustom+1 #define GaussLibAdd_trapno sysLibTrapCustom+2 #define GaussLibMul_trapno sysLibTrapCustom+3 #ifndef GAUSSLIB_TRAP #define GAUSSLIB_TRAP(trapno) SYS_TRAP(trapno) #endif typedef struct { Int32 re, im; } Gauss_t; Err GaussLibOpen (UInt16 refNum) GAUSSLIB_TRAP(sysLibTrapOpen); Err GaussLibClose (UInt16 refNum, UInt16 *numappsP) GAUSSLIB_TRAP(sysLibTrapClose); void GaussLibCreate (UInt16 refNum, Gauss_t *val, Int32 re, Int32 im) GAUSSLIB_TRAP(GaussLibCreate_trapno); void GaussLibRead (UInt16 refNum, const Gauss_t *val, Int32 *re, Int32 *im) GAUSSLIB_TRAP(GaussLibRead_trapno); void GaussLibAdd (UInt16 refNum, Gauss_t *sum, const Gauss_t *a, const Gauss_t *b) GAUSSLIB_TRAP(GaussLibAdd_trapno); void GaussLibMul (UInt16 refNum, Gauss_t *prod, const Gauss_t *a, const Gauss_t *b) GAUSSLIB_TRAP(GaussLibMul_trapno); #endif --- Here's the implementation. I modified GaussLibCreate() by adding the first three lines in the function body (float a,b; a=2.0; b=3.0*a;). GaussLib.c: --- #include SystemMgr.h #define GAUSSLIB_TRAP(trapno) #include GaussLib.h Err start (UInt16 refnum, SysLibTblEntryPtr entryP) { extern void *jmptable (); entryP-dispatchTblP = (void *) jmptable; entryP-globalsP = NULL; return 0; } typedef struct { UInt16 refcount; } GaussLib_globals; Err GaussLibOpen (UInt16 refnum) { SysLibTblEntryPtr entryP = SysLibTblEntry (refnum); GaussLib_globals *gl = entryP-globalsP; if (!gl) { /* We need to allocate space for the globals. */ gl = entryP-globalsP = MemPtrNew (sizeof (GaussLib_globals)); MemPtrSetOwner (gl, 0); gl-refcount = 0; } gl-refcount++; return 0; } Err GaussLibClose (UInt16 refnum, UInt16 *numappsP) { SysLibTblEntryPtr entryP = SysLibTblEntry (refnum); GaussLib_globals *gl = entryP-globalsP; if (!gl) { /* We're not open! */ return 1; } /* Clean up. */ *numappsP = --gl-refcount; if (*numappsP == 0) { MemChunkFree (entryP-globalsP); entryP-globalsP = NULL; } return 0; } Err nothing (UInt16 refnum) { return 0; } void GaussLibCreate (UInt16 refNum, Gauss_t *val, Int32 re, Int32 im) { float a,b; a=2.0; b=3.0*a; val-re = re; val-im = im; } void GaussLibRead (UInt16 refNum, const Gauss_t *val, Int32 *re, Int32 *im) { *re = val-re; *im = val-im; } void GaussLibAdd (UInt16 refNum, Gauss_t *sum, const Gauss_t *a, const Gauss_t *b) { sum-re = a-re + b-re; sum-im = a-im + b-im; } void GaussLibMul (UInt16 refNum, Gauss_t *prod, const Gauss_t *a, const Gauss_t *b) { Int32 re = (a-re*b-re)-(a-im*b-im); prod-im = (a-re*b-im)+(a-im*b-re); prod-re = re; } --- Here's what's in GaussLib.def (used by stubgen), which I did not modify: -- syslib { Gauss SysLib Library GauS } export { GaussLibOpen GaussLibClose nothing nothing GaussLibCreate GaussLibRead GaussLibAdd GaussLibMul } Here's the makefile: -- CC = m68k-palmos-gcc AS = m68k-palmos-as CFLAGS = -Wall -O2 GaussLib-syslib.prc: GaussLib.def GaussLib build-prc -o $@ GaussLib.def GaussLib GaussLib_objs = GaussLib.o GaussLib-dispatch.o GaussLib: $(GaussLib_objs) $(CC) -nostartfiles -o $@ $(GaussLib_objs) GaussLib.o: GaussLib.c GaussLib.h GaussLib-dispatch.o: GaussLib-dispatch.s GaussLib-dispatch.s: GaussLib.def m68k-palmos-stubgen GaussLib.def -- Here's the output from the make: --- m68k-palmos-gcc -Wall -O2 -c -o GaussLib.o GaussLib.c m68k-palmos-stubgen GaussLib.def m68k-palmos-as -o GaussLib-dispatch.o GaussLib-dispatch.s m68k-palmos-gcc -nostartfiles -o GaussLib GaussLib.o GaussLib-dispatch.o build-prc -o GaussLib-syslib.prc GaussLib.def GaussLib GaussLib: warning: global data ignored
Serial comm delays in OS 5 (m550) (was: Re: Palm OS Developer Membership Upgrade)
See message #85960. I'm not sure if this is releated, but I am not able to process any events during my serial communication since I need to respond to the byte l within 2-3ms of receiving it. Processing system events causes me to miss the poll. Maybe try keeping the serial routine in a loop that prevents system events from beeing processed and see if you get the same result. Also, I am using asyncronous (RS485) communication. Possibly the RTS/CTS signal in syncronous comm causes the UART to interrupt immediately. Since I am not using these signals, no interrupt is created. I'm not sure which you are using or if this could be an issue. Check some of the other threads (#85437 for example) on this issue and you should be able to see what you're doing differently than I am. --- In [EMAIL PROTECTED], Ron Nicholson [EMAIL PROTECTED] wrote: On Mon, 10 Mar 2003 07:36:15, ritmanik writes: SrmReceiveCheck() does not return until at least 8 bytes are in the buffer. This isn't an accurate or a complete statement of the problem. Sending only one character at a time from an external terminal to the m550 serial port seems to work just fine. So SrmReceiveCheck() *will* return after only 1 byte is in the buffer, but after a slight delay (a few milliseconds it seems). It may be that the OMAP chip itself takes some time to shift incoming serial port data down its built-in 8-byte FIFO. Ron Nicholson HotPaw Productions http://www.hotpaw.com/rhn/hotpaw -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Loading a dynamic array struct from a resource
[EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] typedef struct formInfoRsrc { UInt32 dbType; UInt32 dbCreator; char dbName[32]; UInt16 useDatabase; UInt32 key; UInt16 numFields; fieldDesc field[1]; // this is actually the first of several fields } formInfoRsrc; // since field[1] is actually the first of numFields fields I need to allocate memory for the new resource by doing: // p = MemPtrNew( sizeof(formInfoRsrc) - sizeof(fieldDesc) + (numFields * sizeof(fieldDesc))); // but I am not really sure how to do this as I don't know numFields until I read the resource. [...] MemHandle h formInfoRsrc *p h = DmGetResource('data', 1000) p = MemHandleLock(h) The field array is accessed thru p-field[x] where x =0; x ((MemHandleSize(h) - sizeof(formInfoRsrc) + sizeof(fieldDesc))/sizeof(fieldDesc)) Is this what you are getting at? Alan -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Conduits on Linux
I'm finally at the point where I'm ready to start working on a conduit for my app. However, it looks like both the Bible and the O'Reilly books (at least the First editions that I have) only talk about conduits on Windows, and I'm on a Linux system. Before I start tearing into the gpilot source, can somebody point me to a good place to learn about conduits on Linux? Thanks /dwight -- Dwight N. Tovey Email: [EMAIL PROTECTED] http://www.dtovey.net/~dwight/ --- Why isn't phonetic spelled the way it sounds? -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
There is still something that is not very clear. Yes, I want to use gray colors in versions between 3.0 and 3.5, yes I can legaly set 2- bit depth, yes I set fore and back colors with WinSetColors, yes I write directly to screen memory to do some of the operations, BUT : when I use WinSetColor and change the fore and back colors the controls I draw after that are using new colors - that's ok. The problem is that when you move the scrollbar for example it messes up. In OS 3,5 you can see in the OS code that they use UIColorSetTableEntry, every time a scroll bar is being drawn, to set its colors. If you use UIColorSetTableEntry to change the proper UI colors the scroll doesn't mess up. So in OS 3,5 draw routine uses UI color list to draw the scroll bar. The question is : what is scroll draw func using in OS prior to 3,5 (and bigger than 3,0). --- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. 3.0 supports grayscale screen at the Win API level, but not for user interface UI objects or drawing. Actually, the pre-3.5 API was called ScrDisplayMode, and got renamed to WinScreenMode with that OS version. The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. Special techniques == writing directly to screen memory. :) you could always write directly to the screen. 3.0 API's actually had support for grayscale (ie: WinDrawBitmap etc). so, the only time you had 'special' code was pre 3.0, and, thats when you had to tweak the CPU into grayscale (CPU had display controller onboard), and, since you were tweaking, you had to write your own drawing routines, as, the API's were specifically ONLY 1bpp pre 3.0 i am 100% sure of this :) i wrote games for 2.0 :P --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
How can I trap HotSync Signal?
Someone said using hotsync signal on OS5.(sysNotifyEventDequeuedEvent) And then how can I use hotsync signal on OS4? I read about SysTrap... So I tested my sample program using i705,but it doesn't work. What's wrong in my program? Is it right hotsync using IRQ1 line? ex) static Err MyFunc() { EvtEnqueKey('a',0,0); return 0; } Err TestFunc() { void *Func; Func = SysGetTrapAddress(sysTrapHwrIRQ1Handler); // Is it right using hotsync? if(Func) { SysSetTrapAddress(sysTrapHwrIRQ1Handler,MyFunc); } .. } Haejo Kim. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Stopping a Sound Stream using Sound Streaming API (PalmOS 5)
Hi all I have an application which passes the mp3 data file to a mp3 library which in turn decodes the mp3 data and uses the streaming API of Sound Manager to play it simultaneausly. This mp3 library is a native code library and the mp3 application is a 68K application. I am working on Palm OS 5. The problem which I am facing is - I have a stop button in the application which when pressed should stop the playing of sound.Basically when the stop button is pressed, I am calling an API of mp3 library which stops the playing of sound through SndStreamStop().But once the mp3 song starts playing, the stop button doesn't respond.On pressing it doesn't gets pressed. It seems in my application the event of stop button being pressed is not even received by the application. Looks like the application doesn't accept any other event while the song is being played. Please advise on how I can solve this problem. Thanks in advance __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: UIColorSetTableEntry problem
I'm having trouble communicating, because it seems everyone focused on the absolute technical accuracy of my original response. I was trying only to give a contextually accurate response for your specific question. Both Ben Combee and I answered your original question. You can't do it on OS 3.0 through OS 3.3 because the OS is hard coded to use black and white. The APIs for controlling the UI object colors are only available on OS 3.5 and higher. (Hopefully this time my answer is both contextually correct and 100% technically accurate ;-). Ok, I can already see a way that my answer is not technically accurate. Sure you can do it on OS 3.0 through OS 3.3 -- for example, you could create your own code to replace the OS code for the UI objects. The point is, there is no built in way to do what you want on OS 3.0 through OS 3.3. If you feel it's important to do on those OS versions, then you need to do it yourself from scratch (or find someone else's code that has already done it all from scratch -- I don't know of anyone who has done so, and it seems like quite a bit of work for very little benefit, so personally I would never bother, even if a paying customer thought it was extremely important ;-). g3BEPA [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] There is still something that is not very clear. Yes, I want to use gray colors in versions between 3.0 and 3.5, yes I can legaly set 2- bit depth, yes I set fore and back colors with WinSetColors, yes I write directly to screen memory to do some of the operations, BUT : when I use WinSetColor and change the fore and back colors the controls I draw after that are using new colors - that's ok. The problem is that when you move the scrollbar for example it messes up. In OS 3,5 you can see in the OS code that they use UIColorSetTableEntry, every time a scroll bar is being drawn, to set its colors. If you use UIColorSetTableEntry to change the proper UI colors the scroll doesn't mess up. So in OS 3,5 draw routine uses UI color list to draw the scroll bar. The question is : what is scroll draw func using in OS prior to 3,5 (and bigger than 3,0). --- In [EMAIL PROTECTED], Aaron Ardiri [EMAIL PROTECTED] wrote: We said the same thing. :-) The OS 3.0 does not support grayscale -- no built in API support. 3.0 supports grayscale screen at the Win API level, but not for user interface UI objects or drawing. Actually, the pre-3.5 API was called ScrDisplayMode, and got renamed to WinScreenMode with that OS version. The 3.0 devices have hardware support for grayscale, and you can force them to do grayscale if you use special techniques. Special techniques == writing directly to screen memory. :) you could always write directly to the screen. 3.0 API's actually had support for grayscale (ie: WinDrawBitmap etc). so, the only time you had 'special' code was pre 3.0, and, thats when you had to tweak the CPU into grayscale (CPU had display controller onboard), and, since you were tweaking, you had to write your own drawing routines, as, the API's were specifically ONLY 1bpp pre 3.0 i am 100% sure of this :) i wrote games for 2.0 :P --- Aaron Ardiri [EMAIL PROTECTED] CEO - CTO +46 70 656 1143 Mobile Wizardry http://www.mobilewizardry.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: $%@$% ROM image files!!!
From: Calamity Jane [EMAIL PROTECTED] Can someone explain to me why these files are such a closely guraded secret? They're the operating system of the device. You get a license when you buy a PalmOS device in the same way as Windows is often bundled with a PC, or MacOS with an Apple. Try downloading a free copy of Windows or MacOS and the PalmOS insistence that you buy the ROM image comes into focus. Chris Tutty -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Help with global find service in POL
Every time FindLaunch function returns from my app, I got the Fatal Alert message: Form.c, Line:1728, Onject not in form from my HandSpring Visor. On POSE, I received a different message as follow: Address (3.5) just read from memory location 0x003E, which is in low memory. In both case I have to reset the device. Would some POL::guru in the forum tell me what went wrong? For testing purpose, my FindLaunch( ) function has empty body except for a return errNone; statement. Thanks in advance, htn -- Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with [EMAIL PROTECTED] http://shopnow.netscape.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
streaming file question
hi, In my program i create a streaming file and store some data in it. but after i hotsync the palm to desktop, i can't found the streaming file in user's backup directory( i thought the system will auto download my streaming file), are there something wrong or missed? need your help and waiting for answer, thanks -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
Re: Stopping a Sound Stream using Sound Streaming API (PalmOS 5)
It is dificult to answer without any details. The problem could be in the library (I doubt), in your code (more possible)...ect Which library do you use? --- In [EMAIL PROTECTED], sonia tiwari [EMAIL PROTECTED] wrote: Hi all I have an application which passes the mp3 data file to a mp3 library which in turn decodes the mp3 data and uses the streaming API of Sound Manager to play it simultaneausly. This mp3 library is a native code library and the mp3 application is a 68K application. I am working on Palm OS 5. The problem which I am facing is - I have a stop button in the application which when pressed should stop the playing of sound.Basically when the stop button is pressed, I am calling an API of mp3 library which stops the playing of sound through SndStreamStop().But once the mp3 song starts playing, the stop button doesn't respond.On pressing it doesn't gets pressed. It seems in my application the event of stop button being pressed is not even received by the application. Looks like the application doesn't accept any other event while the song is being played. Please advise on how I can solve this problem. Thanks in advance __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/