Once again, I've just copied everything below this paragraph to this site, from the previous. So not only the links are bad, but it isn't HTML 4.01. Oh well. That means it'll look a total mess :-) If you are going to try and read it, try turning off stylesheets :-)
Just copied over from old website.Bad links ahoy. Can I be bothered to fix them ?
You think ?
Sunday 21-Mar-99 12:17:36
I could really do with some (fast) FTP space on which I
can store all sorts of Palm things. Amiga.com.pl have
very kindly provided my space for gcc, but I also have
a few other things that I'd like to make availible (Pilot-Link
Suite, Python for various CPU's, source, etc)
BTW: libpisock.a (the Pilot-Link library) has a strange
bug. Whenever the scope in which connect() was called ends,
it bombs out. Any ideas ?
Monday 15-Mar-99 17:09:08
PalmSuite was taking a while, so I've been fiddling anyway with
things. I think the best future for the Amiga/Palm is with
Pyrite so thats what I'm working towards. Pyrite would allow
us to use all the conduits already written (for Pyrite), and write our own.
It is completely free, and portable.
I got myself a GoType keyboard. Very useful
for writing and editing documents when not at home, but can
cause a lot of wrist strain I find. (I'm used to an ergonomic).
I want to register Hi-Note as well, but I've got a POST
a money order to the US. What year is this ?!
Friday 22-Jan-99 10:50:08
Thursday 21-Jan-99 14:09:15
Tuesday 19-Jan-99 17:33:54
On the gcc front, seems there is a fault somewhere. Really simple apps are ok, but as soon as even menus are added (I think) crashes happen. Bad ones too - a cold reset was needed. The menus are where (obviously) the problem is likely to be, so I'll look hard at Pilarc.
I really need a GoType. I can afford one end next month I think. Oh, I'd rather like a stylus with a pen in too :-)
Tomorrow (or day after) I'll look into getting Hi-notes into nicely formatted LaTeX.
Oh, and for the past few days I've been using a script
to download the days news (and grab some from my inbox) and
Dilbert/CitizenDog comics. The news is then formatted into
the DOC format, and the images into Image Viewer (via 4 or 5
filters...). It works well :-)
Friday 15-Jan-99 16:32:39
Last Tuesday
As I briefly mentioned last time, my port of gcc appears to work well. Of course it's not very well tested. It does mean that the Amiga is a viable dev platform now, which IMHO is a Good Thing ™. Strangely, even though two or three people asked me to prove the cross compiling binaries no one has given any feedback. Tell me if you use my efforts please, it's the only way I know what to work on further.
Other things that works so far ;
Tuesday 12-Jan-99 07:39:06
Tuesday 05-Jan-99 20:14:49
I'm 15 UKP short for the PalmIII on Saturday. I'm
in negotiations with the elders.
Monday 04-Jan-99 22:33:04
Monday 04-Jan-99 19:29:24
I'll either
work with the author of the PalmOS patches to integrate
the AmigaOS changes into the main patches, or branch. Not
sure which yet :-) I'll talk with him, then decide.
I will of course post the binaries here soon. I promised
someone on the Palm/Amiga mailing list that I'd post the
binaries to my (completely untested) port of pilot-link. I'll
post them along with the GCC suite binaries if thats ok,
in a few days. I'd really prefer to at least run them
before I let them into the world ;-)
Monday 04-Jan-99 17:29:01
Sunday 03-Jan-99 21:30:06
Now, I think I'm approching the last problem. My cross compiling
cc1 crashes on the following code (extracted from the temporary
*.i file that is passed to it) ;
I've reduced this down to the same crash/hang/reset at ;
enum {false, true};
If I change the __attribute__ text to something else, it doesn't
crash. I need to find someone that knows what the problem is :-)
Wednesday 30-Dec-98 20:51:43
Ah.
Wednesday 30-Dec-98 16:52:16
[snip]
gcc -O2 -g -o size size.o bucomm.o version.o filemode.o -L../bfd -lbfd ../libiberty/libiberty.a
../libiberty/libiberty.a(xmalloc.o): In function `xmalloc_set_program_name':
/Zippy/PalmPRC/binutils-2.7/libiberty/xmalloc.c:54: undefined reference to `sbrk'
../libiberty/libiberty.a(xmalloc.o): In function `':
/Zippy/PalmPRC/binutils-2.7/libiberty/xmalloc.c:72: undefined reference to `sbrk'
/Zippy/PalmPRC/binutils-2.7/libiberty/xmalloc.c:74: undefined reference to `sbrk'
../libiberty/libiberty.a(xmalloc.o): In function `xrealloc':
/Zippy/PalmPRC/binutils-2.7/libiberty/xmalloc.c:103: undefined reference to `sbrk'
/Zippy/PalmPRC/binutils-2.7/libiberty/xmalloc.c:105: undefined reference to `sbrk'
collect2: ld returned 1 exit status
make[1]: *** [size] Error 1
:-(
Tuesday 29-Dec-98 21:37:51
Tuesday 29-Dec-98 17:52:47
Tuesday 29-Dec-98 17:29:02
Waba looks to be a very nice choice. I like Java, and
Waba apps would run not only on the Pilot, but also
WinCE and all other Java VM's with the Waba classes.
The negatives are that Waba doesn't include exceptions
(nor threads), the tools to create files suitable for
the Pilot/WinCE don't clean compile on AmigaOS (no
windows.h). Linux has a port though, so maybe I can
get hold of the source to that. What else ? Oh -- as
Waba seems to support no Std-IO (I suppose that's
reasonable, given the nature of the device. But I
live for console IO. Bugger), and my Amiga JavaVM
supports no graphics, I can't test my Waba apps on
my Amiga. This is a major downpoint, as I loose that
nice compatability that is Waba's main advantage, over
the fact Java is just nice to work with. Waba does
seem to make handing the UI on the Pilot pretty easy
though, so maybe I could still live with it. I'll have
to see if gcc can use stdio on the PalmOS... I really don't
feel like writing GUI code every time I want a small
tool. I suppose for small non-gui tools I'd use the
Basic, Forth or Lisp. I feel homesick already. I want
ARexx for the PalmOS !
I'm going to go look at the GCC options now. I want
to find two main things ;
The choices seem to be between three styles - the Psion
range, (itself containing either the 3 or 5 series), the
Windows CE machines and the PalmOS platform. The Psion 5
would be nice, but way to expensive and the hacking
possibilities appear limited, after a quick scout of the
web. The 3 series are a bit cheaper, but will soon be
turning obsolete and the supply of (free) software will dry
up I think. The Windows CE palmtops are both expensive and
limited. I assume Microsoft charge a lot for the SDK (I've
not looked into it), so software would be costly. Also I
simply wouldn't hand over cash for one on principle :-)
That leaves the Palm, which is obviously my choice given the
graphic to the left. The Palm range are reasonably priced
(about 150 UKP to 230 UKP depending on model and supplier),
with apparently massive hacking opportunities. Not only is
the SDK free, but the OS source code can also be viewed for
free ! The CPU (Motorola DragonBall) is well documented, and
shares a lot with my trusty Amiga. This gives lots of fun
software and hardware projects :-) The batteries seem to
last a long time (from
Ron Nicholson's Short and Completely Unofficial PalmPilot FAQ) ;
Oh, and it has fun expansions such as the
GoType keyboard,
and Palm actually
support hacking the thing :-)
Do Palm rule, or what ? :-) Now, just gotta save up the last few pounds, and I'm
walking on water.
Link to unfinished Palm/Amiga LAN guide.
Sucessfully built Pyrite-enabled Python binary a few days ago and
I've been learning to write conduits since.
Pyrite Website,
Python Website. This
(ATM) provides little function, as only three conduits
exist - backup, install and timesync. However, many are being
worked on, for example Mail (I'll be syncing with Yam 1.3.5se),
ToDo to HTML, Hi-Note, etc. This is all FREE software, as is
everything I work on.
Created ToDoDB from my Palm Pilot page using
a small tool I knocked up. It should be the most up to date
look at what I'm doing.
The only other problem is the lack of a decent text editor.
Smartdoc and Qed seem to be the leaders, so far as there
is a leader when they both suck ;-)
I registered Smartdoc as I thought Qed wasn't current
(the host was down for a day or so). Smart doc is quite
big, and has a terrible screen layout. It uses normal
gadgets, which are huge when you want them as small as possible.
Qed is better than that respect, Qed also has a fixed width
font, and support for screens wider than the display.
The SmartDoc people didn't seem to like my suggestions
(minimise gadget size, scrap the crap DOC compression
in favour of a symmetric compression, multiple documents
open at once, etc.) as they don't want to write a "Power User"
tool. D'oh. (BTW: Doc IS good, but only for what it
was written for---compression on the thick host, NOT
on the thin client.)
I want CygnusEd on the Palm ! Pleeeeeease !
I think I'll hold out writing anymore stuff until the API for the
new PalmSuite is released. The authors of PalmSuite have kindly
provided ftp space for my gcc work, so I'll get it uploaded in a
few days - after I've had another go at the bug.
The authors of Hi-Note were nice enough to give me the compression
info for their image format, so my arexx "conduit" now supports graphics.
Cool, no ? :-)
I've been trying out writing small bits of code for getting info from the Palm using palmlink.library via ARexx. I have simple code to grab stuff like username, time, database listings and records etc. I'm not sure of the structure of the mail records so I can't do mail sync with Yam via the hotsync protocol yet. At the moment I use Proximail with a couple of scripts to do my mail stuff. The Hi-note record structure is simple (text records anyway), so I've made a conduit to read off the database into a simple HTML page that - crudely - retains the "tree" formatting. One I can parse the graphics, and Hi-note gets grey support things will be good :-)
Ok, I've just about finalised my demands now :-)
With regards to Sync-ing I want to be able to do this ;
This is going to require a conduit-manager daemon, running
full time. This daemon would then respond to the (hot|net)sync
request by initating a series of conduits. I'd like these
conduits to be written in ARexx and communicate with the
Palm via the daemon, for flexability. For example, if a conduit
accessed the serial port directly, it would need to know
lots of things and duplicate a lot of code. It wouldn't work
with netsync by default, either.
I have to decide if I should use PalmLink.library, or not.
I think for now, I'll design a single conduit (Memo Sync)
that uses wrapper-functions that in turn call PalmLink,
via RoyalBridge.library. This will test PalmLink, and
allow the conduit to be easy altered to work with the
future-daemon.
The daemon itself would require something like PalmLink,
but as I've mentioned before PalmLink *IS* buggy, and it
might work out better to base it on Pilot-Link code which
is also GPL.
I'm writing this in graffiti on my pilot. I've been mostly trying ouy the huge amount of software palmOS, but sadly it seems to be mostly shareware. Granted often only 5-15 UKP, but that can add up in a big way. I'm currently 50 UKP in debt, so all my software will time out soon :-(
I want to be able to share files more easily, maybe find someone to write a NFS client/server for palmOS :-)
I'm going to look into netsync soon.
Oh, and I want a free doc reader with search :-) and I would like something to transparently (en|de)crypt particular files...
I bought a PalmIII Wednesday 6th, which is why no updates
until now ;-)
I've been testing and playing with stuff :-) I don't
have time to write it all up now, but just thought I'd
let people know things are still happening.
GCC appears to work just fine, as well as the pilotlink
set of programs. PalmLink (Amigaised Palm-transfer library)
appears very buggy :-( I'd like to see it get cleaned up,
and an API for external conduits written.
I've decided that I'm going to develop TCP/IP based
software for the PalmIII.
Told the Amiga/Palm mailing list where they can find the
prc-tools binaries. Once they are verified working, I'll
redo the port writing down everything as I go, and check
to make sure I fully understand why everthing had to be
fiddled in this way and that. Then I'll talk to the
prc-tools people.
Created a page for binaries etc.
This time marks the first (?) gcc binaries that can generate
code for the PalmOS platform from the AmigaOS :-)) Woo ! That took
long enough. I've learned loads about GCC and compilers in the
process though :-)
I think I've located the code that the bug is in. I've learned
that the systrap __attribute__ isn't standard stuff, it's added
by the PalmOS patches. The reason that if I change the
"__attribute__" section to something else, is that the
systrap __attribute__ code doesn't get called. I've ripped out
the code in question from c-common.c, to see if cc1 still crashes.
If it doesn't, I'll look close at it and see if I can spot
anything amiss....
Ok ! I've got a GCC that clean compiles, and a binutils package
that clean compiles. Wow, that took AGES. More than 4 days just
about solid work, and I've got nothing else done. Damn. School
tomorrow also.
typedef enum {
sysTrapMemInit = 0xA000 ,
sysTrapMemInitHeapTable,
sysTrapMemStoreInit,
sysTrapMemCardFormat,
sysTrapMemCardInfo,
sysTrapMemStoreInfo,
sysTrapMemStoreSetInfo,
sysTrapMemNumHeaps,
sysTrapMemNumRAMHeaps,
sysTrapMemHeapID,
sysTrapMemHeapPtr,
sysTrapMemHeapFreeBytes,
sysTrapMemHeapSize,
sysTrapMemHeapFlags,
sysTrapMemHeapCompact,
sysTrapMemHeapInit,
sysTrapMemHeapFreeByOwnerID,
sysTrapMemChunkNew,
sysTrapMemChunkFree,
sysTrapMemPtrNew } SysTrapNumber;
int MemChunkFree(void *chunkDataP) __attribute__ ((systrap ( sysTrapMemChunkFree ))) ;
void* ResLoadForm (Word rscID) __attribute__ ((systrap ( true ))) ;
Bug
missing sbrk() function
Description
sbrk is a low-level UNIX call which is inappropriate on the Amiga as it assumes a memory heap growing in one direction only.
Reported
by Steve Kaye stevek@phonelink.telme.com (19-Jul-96)
Work-around
Use the GNU `dbmalloc' package if you can live with preallocating a fixed size "sbrk pool" or see if there is some #define not to use it.
[19·2] Zippy:PalmPRC/binutils-2.7>make
Not sure what to do about this.
Wow. I've discovered the huge amount of books that can be, or already
are compressed into the PilotDoc format (see
Yahoo). To do the compression from ascii to the pilots
format, you'll need some tools. I've compiled the
txt2pdbdoc-1.2.1 suite ready for myself. It's
covered by the
GNU GPL. You can get the binaries
I have compiled for AmigaOS
, to save you doing your own.
A Doc reader is need on the Pilot side too, you don't get one
with the OS. J-Doc
looks good, it has some good screen flipping stuff... so you
can view the text in landscape, rather than the normal Pilot way.
CSpotRun
is a freeware reader.
Yay, libc.a has printf() :-) To build myself a set of
gcc-based tools to do PalmOS C coding I'll be needing
the source to gcc, binutils and gdb. Ouch ! A specific
version too. GG (The project that ports unix tools to
AmigaOS) will have all these sources fixed for AmigaOS,
but maybe not in the correct versions... and there could
be conflicts with the PalmOS/AmigaOS patches. I'll
have to go look in about 10 minutes.
I'm looking into which languages I'd like to actually use on
my PalmIII. (Expected ownership is 4/5th January, current
lowest price is 200 UKP at PC World and Dixons (same
company, I believe)).
Monday 28-Dec-98 17:32:00
I've been after a palmtop style device for a long time. I
currently use a Casio Organiser to write mail and do basic
spreadsheeting and to-do lists, but the batteries don't last
and it has no programming language, a major bad point IMHO.
So I've decided to buy a new one :-)
Note that there is a fix for the power drain when the unit is in the cradle, but
this can prevent the
PalmLink (Amiga) software working. I'm not sure if this prevents
the Unix-ports (Pilot-link 0.9.0) that I've managed to compile from working
though yet. Saying that, I don't even know if they work at all. The
files that deal with .prc seem to parse them ok, but serial handing
is a totally different game... most Unix ports require the serial
handling to be rewritten (eg, my porting of the
iBLab C++ library
for accessing iButtons). I found
on an
FTP server the pilot-link suite in binary form,
apparently compiled for the Amiga (although the binaries appear
damaged -- they don't execute) and in the README it says
that you can simply provide SER: as an argument. I've
had a small nose in the source, and I can't see anything
to prove it wouldn't work... so we'll see when I get the
PalmIII :-) If it does work, I'll be happy. There is a whole
load of really cool software, as a small example ;
Time Activity 10 hours backlight on and serial port active. 16 hours playing reptoids or chess, or using vt100, no backlight. 2-3 days always on, using memopad. 31 days in a cradle (serial port DSR line terminated to 3K Ohms.) 230 days off (sleeping) and unconnected (e.g. shelf life).
Looks yummy, no ? Then the second best thing I've found so far is
the huge amount of languages (compaired to other Palmtops) supported
by 3rd party developers... languages such as
Java
[& here] (no true VM yet though),
C (both
workstation and
palmtop-side compilers),
Asm (both workstation and
palmtop-side assemblers),
C++,
Forth,
Lisp,
Pascal (Mac Compiler),
Basic, Waba (Java style language).
(more on Dev).
A few PGP
related things, and a disassembler.
pi-getrom: program that retrieves ROM from Pilot (without getrom.prc)
pilot-debug: graphical and command-line program to interface with Pilot debug monitor
pilot-xfer: back up, restore, install and delete Pilot databases (This is a very useful program)
pilot-mail: import mail from POP3 mailbox into Pilot Pro's Mail application, and send mail via sendmail
read-expenses: export Pilot Pro expense database into text format
read-ical: export Pilot datebook and todo databases into an Ical calendar (ical is required)
read-todos: export Pilot todo database into generic text format
reminders: export Pilot datebook into a 'remind' data file
sync-plan: completely synchronize the Pilot datebook with the Plan calendar via netplan
![The Website of Nicholas Piper [14.08203125]](./maintitle.gif)