Posts for: #Sibo-Sdk

Make It Right - Next Steps With CTRAN

Let’s start with a quick recap for those of you who are just tuning in (and for those who have been tuned in for a while but are likely very lost):

  • In the late 80s, Psion developed their own message-passing Object Oriented C dialect with its own markup language. They did this because Psion be Psion-ing. This is a recurring theme.
  • CTRAN.EXE, a 16-bit DOS app, is Psion’s OO preprocessor. It takes class declaration files using this OO markup language (called “category files” by no one but Psion – see the previous point) and translates them into C and Turbo Assembler code.
  • The C generator in CTRAN.EXE is rudimentary but very reliable.
  • The TASM generator is, shall we say, less optimal. There are bugs. Sometimes it crashes. I’m convinced no one actually used it.

Here’s an example category file. If you’ve written parsers before, you’ll enjoy trying to wrap your head around this format!

[Read more]

Beginning OLIB: An entirely uneducated look at Psion’s proprietary Object Oriented C

Me: I could do with a quick win to get me going again.

Also me: I shall learn a proprietary object oriented dialect of C, where the only way to learn it is to plough through 1150 pages of documentation.

Psion doesn’t have a formal name for the object oriented version of C that it created for EPOC16. I’ve been calling it “Psion OO C”, but the main library that it uses is called OLIB, which contains the root class. The others are:

[Read more]