EPOC
 
Introduction

This page lists a number of software titles I've either written or been involved with.

I first got involved with writing EPOC software when I ported the excellent FrotzS5, written by Frederic Bouvry, to the Psion Revo. The C++ SDK is now free and is a great working environment when twinned with MS Visual C++. Later I ported another title of Fred's, Pyramid - a card game and continued working on bug fixes and speed enhancements for FrotzS5.

After doing this I joined up with Fred and Christian Morency at Palmtime. Palmtime is just a company they formed, we don't make any money from the software and most of the titles we release are freeware. Unfortunately Fred doesn't do EPOC development anymore.

The next major title was a port of Scott Ludwig's PocketChess to the Revo. With help from Christian Morency with the graphics we also added some new alternative chess pieces.

A small port I also did in between all this was Inform - the IF compiler which is sort of a companion for FrotzS5.

After this came my own creation - EBook. This is an electronic book reader (e-text/e-book) that can also view normal text files. The newest version supports Unicode Japanese, Chinese and Korean.

The latest work I've done myself are ports of some more Interactive Fiction programs: TADS, HUGO, Level9 and Magnetic. I don't believe these have been ported to any other PDA. They are available from Palmtime's web site as I thought they would go well with FrotzS5.

  • EBook
  • TADS
  • HUGO
  • Level9
  • Magnetic
  • FrotzS5
  • Pyramid
  • PocketChess
  • Inform
  • EBook - An electronic book reader

    This is an electronic book reader for EPOC, something I use my Revo for quite a lot. It was designed for speed and doesn't use any of EPOC's powerful text view facilities due to it being overcomplicated for my needs and hence not having the required performance.

    As a companion to this program, I converted the popular MAKEDOC7 utility to EPOC. It allows you to create & decompress PRC/DOC files on your EPOC handheld. I've also converted Andrew Gidding's TCR convertor to run on EPOC.

    Links

    EBook & Makedoc homepage - http://www.oocities.org/ebookepoc/

    TADS - Interactive Fiction interpreter

    TADS is an Interactive Fiction interpreter which has become one of the most popular. I ported this relatively quickly using an EPOC wrapper that allows quick conversion of STDLIB based programs.

    Due to the limits of the E32 Console you need to use the Eikon Console to do stuff like inverse, bold characters etc. So the wrapper had to be used which runs as a separate thread (an Active Object). This allows the STDLIB program to run without being interrupted. I do not understand why Symbian made the E32 Console so basic.

    Links

    TADS homepage - http://palmtime.dhs.org:8080/epoc/tads.rsp
     
    HUGO - Interactive Fiction interpreter

    HUGO is an Interactive Fiction interpreter, one of the most recent developed. This port was done at the same time as the TADS interpreter and uses the same porting method.

    It was a joy to port this program due to the original author's well written and commented code.

    Links

    HUGO homepage - http://palmtime.dhs.org:8080/epoc/hugo.rsp

    Level9 - Interactive Fiction interpreter

    Level9 is a Level9 Interactive Fiction interpreter, those classic adventure games from the old 8bit and 16bit days. Well known for their graphics at the time, this port does not support graphics! This port was done at the same time as the TADS interpreter but does not use the EPOC wrapper as there are no bold, inverse characters displayed.

    Even without the need to do a complex display interface this program was a real pain to port due to a bug in the MARM GCC compiler. It took weeks to track down the bug. Debugging without the WINS emulator is painful!

    Links

    Level9 homepage - http://palmtime.dhs.org:8080/epoc/level9.rsp

    Magnetic - Interactive Fiction interpreter

    Magnetic is a Magnetic Scrolls Interactive Fiction interpreter, those classic adventure games from the old 8bit and 16bit days. Well known for their graphics at the time, this port does not support graphics! This port was done at the same time as the TADS interpreter and uses the same porting method.

    Links

    Magnetic homepage - http://palmtime.dhs.org:8080/epoc/magnetic.rsp

    FrotzS5 - IF/Infocom adventure interpreter

    This was my first ever involvment in programming for the EPOC handhelds. It was originally written by the talented programmer Frederic Bouvry who did it as a port from the original DOS version of Frotz. I'd used it for a long time on the Psion S5.

    Having just got a Psion Revo I discovered that it didn't work on this device and Fred no longer developed for EPOC. So I had a look at the source code and found what was wrong and decided to have a go at learning C++ and EPOC. It wasn't too difficult to pick up either of these and I soon fixed the problem.

    After releasing the fixed version I had a go at enhancing FrotzS5, mainly to fix the display speed problem (EPOC is slow at draw single characters in the Console) and also to correct a number of bugs. Looking at the code I learnt a lot about EPOC and C++ and soon managed to get a large performance boost.

    Links

    FrotzS5 homepage at Palmtime - http://palmtime.dhs.org:8080/epoc/frotzs5.rsp
     
    Pyramid - a card game

    This is a simple card game, of the classic Pyramid rules. It was originally written by Frederic Bouvry. The problem with the Revo port was that the cards were too big. The solution was to rescale the cards on the fly using EPOC's fast rescaling ability. This saved having to create another card set, 50+ images, and resulted in a quick fix.

    Links

    Pyramid homepage at Palmtime - http://palmtime.dhs.org:8080/epoc/pyramid.rsp
     
    PocketChess

    Another favourite of mine, this is a chess program, originally written for the PalmPilot by Scott Ludwig and converted to EPOC by Fred, again! It would not work on the Revo due to the size of the chess pieces so I eventually persuaded Scott to let me convert it to the Revo. This involved creating new chess pieces for the smaller Revo screen and also changing the code to work on a smaller screen. At the same time, with help from Chris Morency, we added some alternative but clearer chess pieces for all EPOC handhelds.

    Links

    PocketChess homepage at Palmtime - http://palmtime.dhs.org:8080/epoc/pktchess.rsp
     
    Inform - an Infocom/IF adventure compiler

    This program is only really for IF/Infocom adventure developers. It is a port of the famous Inform compiler which is available for many platforms.

    The port to EPOC was very easy as I used the Symbian Standard Library. A few enhancements were added to output log files due to the small size of the EPOC screens. I've never written any IF adventures myself but saw it as a companion to FrotzS5.

    Links

    Inform homepage at Palmtime - http://palmtime.dhs.org:8080/epoc/inform.rsp


    Created by Simon Quinn email