Simon Tatham's Portable Puzzles on the Palm
This is the home page of the Palm port of
Simon Tatham's portable puzzle collection.
The palm port was written by James Harvey; it's not in the main code
because of the horrors required to get it building for the Palm (see
HACKING.palm in the source archive for details).
For an introduction to the games, and individual instructions, please see
Simon's page; this is primarily a download page. Currently supported
puzzles include Black Box, Bridges, Cube, Dominosa, Fifteen, Filling, Flip, Galaxies, Guess (a
Mastermind clone), Inertia, Map, Mines (a Minesweeper clone), Net,
Netslide, Light Up, Loopy, Pattern (or Nonograms), Pegs (peg solitaire),
Rect, Samegame, Sixteen, Slant, Solo (or Sudoku), Tents, Twiddle, Unequal,
This game collection is copyright 2004-2008 Simon Tatham and James Harvey.
Palm port copyright 2005-2008 James Harvey (portions copyright Ton Van Overbeek).
It is all distributed under the MIT
licence. As Simon says, "This means that you can do pretty much
anything you like with the game binaries or the code, except pretending
you wrote them yourself, or suing me if anything goes wrong".
To the best of my knowledge all code I've used in here that neither Simon nor I have written
is compatible with the MIT license; see comments at the top of individual source files
(pdouble.c, vsprintf-palm.c, trifle.c, doscan.c) for details.
You can download the program here:
Documentation in plucker format, and the HTML documentation this was generated from
(in case you want to generate something like iSilo docs), can be found here:
The source code (original source plus my changes) is here:
Read README.palm for details on what you need to build it yourself.
Note that this source archive will also build all other versions (Windows,
GTK, OSX) of the puzzles, as well as the Palm version; if it doesn't then I'd
like to know! There may, however, be slight differences in mouse behaviour.
Frequently Asked Questions
- Dragging doesn't work (people report this especially with Bridges)
- This is usually because the stylus is held down for too long before starting the drag; this causes the Palm version to trigger a right-click instead, which can a) do nothing, or b) do something unexpected (e.g. in Bridges, where it lays a no-bridge line instead of a bridge). The solution is usually not to linger before starting the drag, or else to fiddle with the 'Right-clicks...' menu item until you find something that works. I have also had a report that turning on 'Write anywhere' for the screen has helped to solve this.
The latest published version is rfe20f6d16b....
- Add new puzzles: Keen, Towers, Singles, and Magnets.
- Many more cursor interfaces for puzzles (allowing play with a
4-way rocker, for example, instead of the stylus).
- Published version numbers are now different because I'm using
git rather than subversion.
- Add Killer Sudoku.
- Add Adjacent mode to Unequal.
- Add auto-hint mode to Unequal.
- Fix crashing bug in Guess when clicking off to the side.
- New grid modes and difficulty settings for Loopy, from Simon.
- Dim the screen while generating puzzles (to try and save battery); I'm not sure how universal SysLCDBrightness is as a syscall, but it had no problems on a few simulators, or my T|C. Thanks to Leo Zelevinsky for the idea.
- Fixed bug where locking a tile in Net would cause another tile to randomly rotate (and could apparently also cause a crash).
- Almost all games (barring Untangle) now have a working cursor-key interface, hopefully usable from
the 4-way rocker/button where available. This is a prototype (where new) and UI specifics are subject to change.
- Fixed the bug where dragging in Untangle became difficult/impossible.
- Added another new puzzle, Filling.
- Added my latest latest puzzle, Galaxies.
- Added my latest puzzle, Unequal.
- Addition of instructions on the help menu (thanks to Jennifer Hodgdon for the patch); this has added about 50k onto the file size, though, so if people request it I can make a version available without.
- Large buildsystem overhaul; hopefully this will be invisible unless you already have a source download.
- Lots of small fixes from upstream; 'slant' generator is cleverer, fix leaks, buildsystem changes.
- Fixes to 'guess' from upstream: outline pegs, and fix 'hold' behaviour.
- Misc. patches from upstream: fixed bugs in Inertia and Black Box solvers, fixed bridges font size, add error colouring to Mines, random other tidyups.
- Added some docs, finally, as a Plucker .pdb file. Thanks to Jeremy Bernstein for the idea, although I used Plucker rather than iSilo both because it's properly Free and because the convertor didn't require me to write an XML manifest for it.
- More patches from Ton van Overbeek: support for the T|X, and fixed strange behaviour due to Bridges custom screen being too tall.
- Two more games, Tents and Bridges.
- Fixed loopy lines vanishing on lo-res screen at large games. Fixed untangle drags being difficult to trigger (by making right-click mirror left-click instead of doing nothing).
- Many more patches from Ton Van Overbeek: the game-selection screen now supports multiple columns, fixed the font problems even more, reinstated Edit menu to game selection screens, and reinstated Handera support broken recently.
- Hopefully fixed problems with drawing inverted text (in Light Up and Dominosa) on some platforms, thanks to Ton Van Overbeek.
- A better new-game window, a scrolly text window (for 'Specific...'), and fixes for 5-way navigation and an assertion failure in Inertia if you changed the screen size. All thanks to Ton Van Overbeek.
- Lots of little fixes: added map pencil marks and advanced solver, lightup advanced solver, misc. other improvements.
- Added two new puzzles, Loopy and Inertia.
- Finally found and added some tiny fonts for lo-res screens. Hopefully pattern will be vaguely playable at 20x20 now.
- Actually tested (briefly) on a Zire 31, Zire 72, Treo 600, and Treo 650 simulators.
- Fixed new bug where pattern would display characters as black blocks, unhelpfully.
- Added an Options... window, currently used to tune the right-click detection.
- Fixed Clie status bar bug where it was overlapping top of puzzle
- Fixed blitter bug on stretched puzzles
- Fixed off-by-one in triangle fill (showed up in Map), fixed to use 16-bit colour displays if available (improves Map colours)
- Added new puzzle, Map.
- Added some preliminary HandEra and Clié support (once I'd tracked down copies of the SDKs and emulators). It still won't display hi-res fonts on the Clie; I'm working on that.
- Reinstated pre-OS4 support (broken by DIA support changes)
- Added new puzzle, Light Up.
- Added new puzzle, Slant.
- 'Specific...' window should now have a long enough input length to type in proper puzzles (e.g. solo from newspapers); thanks to Ton Van Overbeek for a patch that inspired this change.
- Patch from Ton Van Overbeek to improve DIA support on newer Palm models.
- Added three new games, Black Box, Dominosa, and Untangle.
- The 'choose a new game' menu is now in a dialog. I know this violates the minimum-clicks rule, but it was about to overflow a screenful (pegs pushed it over the edge) and while dialog popup menus can scroll, menu bar menus can't.
- Added Pegs, a peg solitaire game.
- Presets are now stored and loaded sensibly; switching games should now remember your last game's parameters.
- Quitting to Launcher and returning should now resume the game where you left off (and not return you to the beginning).
- Units with dynamic input areas should now find the puzzles will resize to suit.
- Added Guess, a Mastermind clone.
- Added Flip.
Known issues, bugs, to-do items
Please report any bugs in the Palm frontend to
Patches (fixing or adding something to the Palm support, specifically)
welcome. Please, if you're reporting a bug or sending a patch, let me know
the Revision: xxx string (in the 'About...' box ) so I
know which version you're running.
- Very very long and complex games will not reload correctly, and may
cause Puzzles not to load at all until the preferences DB (search for the creator ID
SGTp) is deleted.
- Monochrome Palms don't play games that rely on colours (e.g. Same
Game) well at all. I may implement a 'pattern' mode in the future.
- Large puzzles don't extend off the screen with scroll bars, they
become tiny and hard to play.
- Very large and complex games take a very long time to generate;
the 'Please wait...' window is also uncancelable (because of a lack
of callbacks from the platform-independent code).
Please see the original home page for details on reporting bugs in
the games themselves, or for adding a new game.
Page written by James Harvey,
$Id: index.html 1810 2009-01-19 09:39:49Z james $