Matt J. Gumbley | Website:
Blog: On The Edge of Occam's Razor

Frequently Asked Questions
This page updated Fri Nov 4 13:44:04 2005

Table Of Contents

1 Introduction

This project or information is dead. I cannot release any code or further information on it, other than what you'll find on this page. All communication regarding it will be silently deleted. Apologies.

This is a list of Frequently Asked Questions about the PsiStack system, internet access on the EPOC 16 machines, and answers to some of the common questions on comp.sys.psion.comm.

If you have a question that isn't answered here, please mail and ask away!

For answers to questions specifically regarding PsiMail Internet, please see Jochen Siegenthaler's web pages.

2 General Questions

2.1 What is PsiStack?

PsiStack is a Freeware TCP/IP Stack for Psion's SIBO/EPOC-16 Palmtop Computers. Put simply, it allows you to access The Internet using your palmtop.

2.2 Can I send email, receive news, and surf the World-Wide Web with it?

Not exactly. Here's an analogy. You want to get from A to B, and so you use a car. An engine on its own won't get you there - you need the chassis, steering, etc. as well as the engine. You don't really need to know the engine's there. PsiStack is the "engine". You can't send email (drive a car) without a TCP/IP stack (engine). (Not Internet email, anyway)

Email, news, web, telnet, and <insert your favourite Internet application here> programs will be available later.

2.3 Will it run on my Series 5, or my old Organiser II?

No, it runs on Series 3, 3a, 3c, Siena and Workabout only. SIBO is "Sixteen Bit Organiser", and EPOC-16 is the 16-bit (i.e. 8086-based) version of Psion's EPOC Operating System.

It also runs on the PC-based emulators for these platforms.

2.4 Are there any plans to make it run on platforms other than these?

Not yet, although people have expressed an interest. It isn't really very portable to non-EPOC systems, and no effort has been expended so far to make it portable.

2.5 What is PsiMail Internet?

PMI is Psion's own commercial TCP/IP system, complete with email client and web browser.

2.6 Why are you reinventing the wheel?

PMI is a fine system, but it is not free. "Not free" in this sense means that the source code of PMI is not available to be inspected, modified and improved. See the Free Software Foundation for more information on the definition of free software, now also known as open source software.

Psion only provide the PMI Software Development Kit (SDK) to registered developers - this is expensive, and beyond the price range of many developers who would want to make use of PMI as a TCP/IP stack.

Since its release, PMI has not been upgraded, and several bugs in the product have not been fixed. (As far as we have been able to tell). In the opinion of this author, Psion are concentrating their efforts on the Series 5, and will not be doing any more work on the Series 3, and its software. This is only reasonable, methinks.

For these reasons, we decided to build a freeware TCP/IP stack. When finished, it will do everything that PMI does, and more. By that time, most of you will probably be running Series 9 machines :-)

2.7 Is PsiStack Free Software?

Yes. The GNU General Public License defines this in detail, but basically, you may make as many copies of PsiStack as you want, give it away, include it in commercial packages, and sell it on CD-ROMs of software. You can make money out of selling the media and packaging, but PsiStack is free. You should also point this out to those you're selling it to. It is also free in the wider sense - you may take it, and extend it. The only thing you can't do is claim that you wrote it.

2.8 How can I contribute to the project?

Firstly, join our mailing lists. Details can be found at the PsiStack home page. We welcome comments from users - they are the real authors of this package. Without their suggestions, the package will turn into a geeky programmer's package (and that would never do). It has to be usable by everyone - programmers and non-programmers alike.

Of course, if you're a programmer, and have the relevant tools and expertise, then we're extremely happy to have you along as well - we need as many developers as possible.

We need testers - people who don't mind running bleeding edge software on their Psion. It would be best if you backup first. You can also test things such as documentation: does the README document tell you what you want to know? Do our home pages make sense? Can you get the answer to your question? (One person wrote to me and said 'Your home page is too technical for me - can I send email on my Siena?' - and so I wrote this FAQ, and restructured the home page).

2.9 Where can I download the software?

See our home page: the truth is out there.

2.10 Can I get it on floppy? on SSD? on CDROM?

No. Although if you want it on floppy or SSD, you could send these to Matt, and he'll copy it for you.

2.11 When will it be finished?

When it's finished - When it does everything people want, and there aren't any bugs.

This depends on what people ask for, how well we understand what they ask for, how well we can turn those requirements into software, how accurately we write it, and how much time we get to develop it in.

Some of these things are difficult to pin down. Writing a TCP/IP stack for palmtop computers that is small, fast, and does everything users are asking for is a large project. It is difficult to see the big picture at times, and the edges of the project are blurred in places. We're in uncharted waters quite a lot of the time - only Psion/STNC have been here before, and they aren't members of our developer team. (Although if they'd like to join, we'd be very happy to have them along!). Consequently, we interpret the requests wrongly, we write inflexible code - we make mistakes. (Dammit, we're only human!). We redesign things correctly, and rewrite them. Eventually, we'll get there.

Unfortunately, time is not on our side - this is a hobby project, and the main developers all have Real Lives Outside PsiStack. If we had more time, more developers, more experience in writing small TCP/IP stacks, then we'd get there much faster. Does this sound like a plea for help? Good. It should do.

For a rough estimate of when it'll be finished, check out the TODO.TXT file in the latest version of the package, and work out how long it might take to do all that.

The project is going very well indeed, given the number of developers (2) and the amount of free time we get (Matt has 2 hours per night free, and that's on a good night; he can't speak for Patrick).

3 Functionality Questions

3.1 What devices can I use with PsiStack?

Direct serial connections to some other computer; almost any modem; the IrDA infra-red connection.

3.2 What data link protocols do you support?

At the moment, SLIP (complete), PPP (incomplete) and CSLIP (very incomplete).

3.3 What's a data link protocol?

It's a way of sending data reliably between two serial ports (which may have a pair of modems between them). PPP also interrogates the remote computer to discover its capabilities. PPP and CSLIP also compress the data flowing between the two computers.

3.4 What other protocols do you support?

Internet Protocol version 4 (IPv4), Internet Control Message Protocol (ICMP), Transport Control Protocol (TCP) and User Datagram Protocol (UDP).

3.5 IPv4? ICMP? TCP? Sounds like gobbledegook! Can you explain?

I could, but Douglas Comer does a much better job. Read "Internetworking with TCP/IP Volume I: Principles, Protocols and Architecture".

3.6 Do you support Dynamic IP addressing?

Yes. Our connection script language can take care of this for you.

3.7 What's Dynamic IP addressing?

When you connect your computer to The Internet, it is given a unique number, known as its IP Address. Some Internet Service Providers (ISPs) give you the same number all the time. This is known as Static IP addressing. You simply tell PsiStack what your Static IP address is, and it always uses that. However, there are only a finite number of IP addresses available, and due to the increase in Internet users over the last few years, we're running out. So, to get round this problem, your ISP has a pool of IP addresses, and it can give you one of these every time you connect. That way, it doesn't have to have a separate IP address for each of its users - it only needs a small number, as many as is needed by all the users connected at any one time.

3.8 Do I have to start programming in your script language to connect to The Internet?

Only if you're the first person to connect to your ISP using PsiStack - hopefully, somebody will have been there before, written the script, and it's part of your PsiStack system. You just select it when you install.

3.9 And if I have to write the script - how easy is the language?

Fairly easy for simple stuff, a little more involved for the harder connections. You can probably steal most of the code from other scripts.

4 Programming Questions

4.1 Can I write my own network programs? I'd like an email/news/web/irc/telnet/ftp program...

You couldn't use the connection scripting language, but you could use one of the other languages available for the Psion: C, or OPL for instance. We provide an Application Programmer Interface (API) for C, and one for OPL and other languages will follow.

4.2 The C Development Kit is too expensive/I don't run Microsoft Operating Systems - are there freeware tools? Can I develop on say, Linux?

Not at the moment. We're also working on a freeware C development kit, although it's nowhere near finished. Does that sound familiar :-)

4.3 OPL looks like BASIC without data types (yeuch)... is there any alternative? I've heard that Java is ideal for writing network programs...

The Psion/Java project seems to have been suspended for some time. Matt is looking at porting/developing a version of the Forth programming language, so you can develop network applications either on the PC (DOS, Linux, Mac, whatever) and run them on the Psion, or develop them directly on the Psion itself. There will be a home page for this project when he gets somewhere with this.
(C) Matt J. Gumbley 1998-2005 - All Tights Reversed