1. Palm OS?
- Posted by ghaberek (admin) Jul 30, 2008
- 1098 views
I recently obtained a Handspring Visor Edge. Has anyone got Euphoria running on a Palm device?
-Greg
2. Re: Palm OS?
- Posted by gshingles Jul 30, 2008
- 1144 views
I recently obtained a Handspring Visor Edge. Has anyone got Euphoria running on a Palm device?
-Greg
Hi Greg
I've looked at this but it was way beyond me. I use Pixilang to mess about with algorithms etc then implement them in Euphoria on the desktop.
I would follow any Palm port of Euphoria with great interest, but I suspect that would be a long way off. Euphoria is a bit too x86centric for an easy port.
Gary
3. Re: Palm OS?
- Posted by mic Jul 31, 2008
- 1122 views
I don't know about the interpreter, but getting the runtime lib for the translator to build for Palm devices shouldn't be a huge task.
4. Re: Palm OS?
- Posted by CChris Jul 31, 2008
- 1142 views
I recently obtained a Handspring Visor Edge. Has anyone got Euphoria running on a Palm device?
-Greg
Hi Greg
I've looked at this but it was way beyond me. I use Pixilang to mess about with algorithms etc then implement them in Euphoria on the desktop.
I would follow any Palm port of Euphoria with great interest, but I suspect that would be a long way off. Euphoria is a bit too x86centric for an easy port.
Gary
That's how it is as fast as it is.
The x86 centric part in the backend has 3 components, I'd say:
- BigSwitch optimisations. If there is some standard use of regsters by the C compiler(s) being used for that platform, this should be straightforward. Simply get the right definitions for thread*().
- Multitasking. The x86 version heavvil relies on stack manipulations, and these machines don't have a builtin stack. Could be the major hurdle.
- callbacks. Using LDM/STM and passing parameters in a counted array could lead to a simpler implementation I believe.
- The bits of machine code in execute.e about callbacks will need being rewritten, but I don't expect this to be hard. Again, it all depends on the alling convention(s) being used on tat platform.
Mic said that compiling ecpalm.lib should not be a huge task. True, but I wonder about all the I/O part. How specific is it compared to what is in the backend? Not to mention the multitasking issue.
CChris
5. Re: Palm OS?
- Posted by mic Aug 01, 2008
- 1077 views
Multitasking. The x86 version heavvil relies on stack manipulations, and these machines don't have a builtin stack. Could be the major hurdle.
Huh? Sure they do.
ARM:
STMFD R13!,{R1-R3}
LDMFD R13!,{R1-R3}
68k:
MOVEM.L D1/D2/D3,-(A7)
MOVEM.L (A7)+,D1/D2/D3
Or are you talking about something else?
6. Re: Palm OS?
- Posted by CChris Aug 01, 2008
- 1054 views
Multitasking. The x86 version heavvil relies on stack manipulations, and these machines don't have a builtin stack. Could be the major hurdle.
Huh? Sure they do.
ARM:
STMFD R13!,{R1-R3}
LDMFD R13!,{R1-R3}
68k:
MOVEM.L D1/D2/D3,-(A7)
MOVEM.L (A7)+,D1/D2/D3
Or are you talking about something else?
The specs of ARM processors I have do mention, of course, the LDM/STM machine instructions - I didn't look into the 68k stuff as I was told it was obsolete. However, is the routine params management using R13 always? If so, indeed this would not be specifically hard, just a normal rewrite.
CChris
7. Re: Palm OS?
- Posted by mic Aug 01, 2008
- 1136 views
As a sort of proof of concept I put together this using Eu 3.0.2
I introduced a new build target, which behaves similar to ELINUX but ifdef:s out a lot of stuff (terminal support, file i/o etc), and built the runtime library with devkitARM. Then I translated the Euphoria code seen in the screenshot with the DOS translator and built that with devkitARM as well.
One problem I ran into was undefined references to NewString in init_literal. But if I moved init_literal from INIT-.c to main-.c it worked just fine.. Not sure what's up with that since I didn't spend too much time investigating it.
8. Re: Palm OS?
- Posted by ghaberek (admin) Aug 01, 2008
- 1073 views
As a sort of proof of concept I put together this using Eu 3.0.2
I introduced a new build target, which behaves similar to ELINUX but ifdef:s out a lot of stuff (terminal support, file i/o etc), and built the runtime library with devkitARM. Then I translated the Euphoria code seen in the screenshot with the DOS translator and built that with devkitARM as well.
One problem I ran into was undefined references to NewString in init_literal. But if I moved init_literal from INIT-.c to main-.c it worked just fine.. Not sure what's up with that since I didn't spend too much time investigating it.
I know they make some sort of flash cartridges for the Gameboy Advance. It'd be sweet if we could write GBA games in Euphoria.
-Greg
9. Re: Palm OS?
- Posted by mic Aug 02, 2008
- 1089 views
Here are my modified sources (based on 4.0 SVN rev 978), in case anyone is interested. Included are prebuilt versions of the ARM targeted library and the GBA "Hello World" program, so you don't have to build them yourself if you don't want to.
There's a file in that ZIP called readme-arm.txt that explains the building process. Basically it's just two makefiles (one to build the ARM version of the library, and one to build the test program) that you can invoke from msys if you've got devkitPro installed.
It should also be easy to build the modified library code for other OS-less targets - just change some of the compiler and linker flags. I managed to get some code running properly on the SEGA Saturn (which is based on the Hitachi SH2), but I didn't spend any further time on that.
Note that a bunch of things are disabled, such as tasks, regexps and file i/o.
10. Re: Palm OS?
- Posted by jeremy (admin) Aug 02, 2008
- 1070 views
Here are my modified sources (based on 4.0 SVN rev 978), in case anyone is interested. Included are prebuilt versions of the ARM targeted library and the GBA "Hello World" program, so you don't have to build them yourself if you don't want to.
Am I understanding this correctly that you have Euphoria running on a PalmOS device? What type of application can you develop with it? Can you write Palm GUI Apps? I have a Palm TX, but could this be used on Palm OS based smart phones as well?
Jeremy
11. Re: Palm OS?
- Posted by mic Aug 02, 2008
- 1049 views
It's not really for any specific platform, but my test program is for the Gameboy Advance. Basically I stripped out a lot of platform-specific stuff so that you can compile the library for all kinds of systems - in particular those that don't have an OS. I don't see any reason why it wouldn't compile for Palm devices, but if you'd want to use open(), puts(), get_key() etc you'd have to add code for that yourself.