Saturday, December 19, 2009

Aerofoil 1.5.0_03 Out

Again this is another installer fix - perhaps I shouldn't be making code changes after 2.30am and I might make less errors... Thanks to reader Timothy for pointing out another flaw!

There are no other changes to the Aerofoil itself (it still has version 1.5.0 in its About box).

Changes in 1.5.0_03

- Fixed installer to set auto mute option correctly which was always switched on in Aerofoil 1.5.0_02.


Download Aerofoil 1.5.0_03 Installer

Download Aerofoil 1.5.0_03 Source Code (C++)

Friday, December 11, 2009

Vampire Castle - Preview Release

Regular readers will have noticed I've been busy with other software projects and ignoring my Nintendo DS project "The Fruit Machine - Vampire Castle". Motivation and relative difficulty* to other software projects I've worked on have meant that this stopped development after I implemented a generic(ish) Fruit Machine framework and the part of the initial reference game "Vampire Castle".

Today I'll be restarting development on this project and to show good faith I've released the existing compiled binary and set up a sub project on this blog.

The current preview software is really a tech demo (hopefully with a commercial feel), but behind the scenes for developers there is a large amount of reusable framework implemented that isn't yet being fully utilised by Vampire Castle. This should make it easier for other developers to enhance/update/build on for their own fruit machines (it was my intention to write and include multiple machines but as I'm not a graphics artist the graphics and sound work wears me out very fast so I won't be doing this - at least initially).

What you'll find in this preview

- Intro screens
- Working reels and touchscreen actions
- Music and sound (sampled locally!)
- Working trails
- Rumble pack support

* Most of my time was spent on sound samples, graphics and QAing existing code for memory leaks - C++ is my third most used language thus I'm just an average developer at it :)

You Tube Video (doesn't do the demo justice)

Download Vampire Castle Preview NDS
C++ source code will be available on the official release date.

Sunday, December 06, 2009

Aerofoil 1.5.0_02 Out

Sorry all - I rejigged the installer for 1.5.0_01 to change shortcut names and add a reconfiguration option to the Windows start menu and accidentally deleted the line to copy the readme.txt, this fixes that bug :(

Changes in 1.5.0_02

No code changes in this release just an installer bug fix to ensure the readme.txt is copied by the installer (which had caused a broken Windows shortcut icon).


Download Aerofoil 1.5.0_02 Installer

Download Aerofoil 1.5.0_02 Source Code (C++)

Monday, November 23, 2009

FollowMe 1.2 - Free Java ME GPS Tracking Software

FollowMe 1.2 Free Open Source GPS tracking software for MIDP 2.0+ phones

FollowMe is the new name for Silent Software's LocateMe, this small (45K) application requires a mobile phone with an integrated GPS or a separate Bluetooth GPS and will show you the direction to given locations ("targets") without maps, using a pulsing direction arrow. You can request the location of other FollowMe users by text message, send your own position, or just simply save locations ("targets") for directions back to them later. Targets can even later be imported into Google Earth or Maps.

The Features
  • "Target" other FollowMe users' positions via a text message
  • Save multiple locations (targets "waypoints") with names (NEW for 1.2)
  • Stores your targets as Google Earth/Maps KML (NEW for 1.2)
  • Send your current position to other FollowMe users via text message
  • Connects to any mobile phone integrated GPS or Bluetooth GPS
  • View all the satellites around you on a "radar" style view
  • Display RAW GPS data (suitable for testing)
  • Complete integrated GPS support (some features may not be available depending on phone GPS capability).

For developers the fully commented source code provides
  • Design patterns, i.e. lazy initialization, command, strategy patterns
  • An example of a 2 tier system
  • How to use PushRegistry and File Connector (JSR 118)
  • How to use the Record Store (JSR 118)
  • How to use Bluetooth (JSR 82)
  • How to use Text Messaging (JSR 120)
  • How to use the PIM (and hack to minimise the security notices - JSR 75)
  • How to use the Location Based API (JSR 179 - Nokia lapi.jar included for use on non GPS integrated phones)
  • How to use simple graphics (not using a Game Canvas however)
  • How to multi thread effectively
  • How to process raw NMEA GPS data
  • Basic usage of the NanoXML parser
  • Basic understanding of graphical and GPS trigonometry

Known Issues
  • The application is not security signed (this costs money!), so you will be shown numerous security popups when you start it.
  • As your phone is not a compass the direction target arrow will only point to the correct direction once you start walking, and the phone can determine which way relative to North you are going, i.e. when you are stood still your phone doesn't know which direction you are facing! :) On startup, until the GPS gets an accurate fix, the direction arrow to the target WILL NOT BE SHOWN.
  • On first run there can be some delay discovering the Bluetooth devices in busy areas (i.e. it may display "Waiting for GPS..." on first run for some time). This is down to the Bluetooth device discovery picking up a large number of devices and querying them. Once you have located your GPS, future connections to the GPS do not require this discovery period and will be relatively quick.

This software has been tested on Nokia Series 40 3rd edition phones at a minimum resolution of 128x128 pixels and Sun WTK emulator at 240x320. It has also been successfully tested on a Nokia N95 and Nokia 6650 with integrated GPS', and the INQ1 phone with separate Bluetooth GPS.

Download for mobile phones with an integrated GPS
Download for mobile phones using a separate Bluetooth GPS
Download FollowMe source code (and full javadoc)

Sunday, November 08, 2009

Aerofoil 1.5.0_01 Out

UPDATE: Please get the latest (1.5.0_03) version of Aerofoil from here

No changes to Aerofoil, just to its installer (About box in Aerofoil still shows "1.5.0").

Changes for 1.5.0_01:

  • Added installer options to add a "Configuration" shortcut to the start menu (configuration shortcut starts a copy of the installer for Aerofoil's reconfiguration).
  • Added automatic shutdown of Aerofoil on installer run.

These changes should hopefully deal with the concerns raised about the ease of reconfiguring Aerofoil. :)

If you are upgrading from Aerofoil 1.5.0 it is recommended you uninstall Aerofoil 1.5.0 first.

Download Aerofoil 1.5.0_01 Installer

Download Aerofoil 1.5.0_01 Source Code (C++)

Saturday, November 07, 2009

Image to ZX Spec Tutorial

The video below shows the creation of a "Little Shop of Horrors" slideshow and it running in an emulator. The video explains all of Image to ZX Spec 1.0.5's settings but the principles are the same for 1.3.x too.

Saturday, October 24, 2009

Free and Legal Commercial Application Software

Following on from last year's free and legal commercial games here's a list of the download links for application software I use daily, and some of which you may already know.

Serif Software - I can recommend free PanaramaPlus 2!
Giveaway of the Day - fully licenced promotional copies of commercial software that changes day to day.
Open source software - a very wide range of free software, including some software such as PDF Creator
Microsoft Security Essentials - Microsoft's very own antivirus.
Microsoft Windows Defender - anti spyware software useful for those people who only have Windows XP
Nero 9 - I paid for the Nero suite a few years ago - this is a bargain!

Wednesday, October 21, 2009

Softpedia Mirror Now Available

Softpedia has started mirroring some Silent Software that is GPL licenced ...although I didn't actually list some of it!! The following software has been awarded the Softpedia logo shown on this page.

Aerofoil on Softpedia
Image to ZX Spec on Softpedia
Gesture Magic on Softpedia

Please note some of the software available on this blog whilst free to download is NOT GPL (CPL and closed source). I'll be sure in future blog descriptions to make the licence more clear.

The latest versions of the software will always be on this blog first. As the copyright holder the source code (for the GPL and CPL software) will be available here as long as I distribute the binary downloads.

Saturday, October 17, 2009

Aerofoil 1.5.0 Released

UPDATE: Aerofoil is now at version 1.5.1.

Original post follows.

The award winning Aerofoil has now been updated to 1.5.0(_03)!
Aerofoil extends Vista and Windows 7 notebook battery life by:

  • Allowing you to manually disable Aero Glass.
  • Optionally managing Aero Glass user interface.
  • Optionally managing sound muting.
  • Optionally managing your chosen power plans.
  • Optionally managing Windows Sidebar.
  • Optionally showing a quick hibernate button.
  • Changing icon colour to show your power type.

Benefits over earlier versions and similar software:

  • Much more efficient - Aerofoil is 100% unmanaged C++ (no .Net Framework!).
  • Much smaller memory use (about 25%-30% of the size of similar software).
  • Unlike other apps, Aerofoil doesn't poll battery level continuously allowing the CPU save power by being idle more often.
  • UPX compressed meaning Aerofoil.exe is as small as it can be.
  • No configuration file - everything is customised with the installer.
  • Tried and tested on Windows 7 (thanks to D. Schiferli!)
  • Open source and free - no expiry date, adware, spyware or malware, download and compile it for yourself if you prefer*!

What reviewers of Aerofoil have had to say:

"Aerofoil Extends Your Battery Life Approximately 25%", "you really should download"
( Disclaimer: Aerofoil's author's (my) personal best has been (only) 10-15%, or ~10 minutes, on a 2 hour battery 17 inch HP notebook (DV9233EU) with power saver mode using the lowest screen brightness.

"This is definitely a worth-while little app for road warriors"
(Metro Area Personal Computer Club, Iowa, USA)

"great for gaming and notebook applications alike"
(Official Windows Magazine - 47th of top 100, 37th of top 40 Hot Apps / TechRadar)

"Aerofoil, though, is far, far smaller and more efficient"
(Dave Johnson, Bnet)

The great advantage of AeroFoil is little resource consumption..... works perfectly with Windows 7"
(Kavya, Techno360)

"a must for every Vista laptop user."
(Wim Van Acoleyen, ZDNet)

"Great utility for gamers and laptop users."
(The Glitch)

"simple yet amazingly effective software that the corporate bigwigs couldn't figure out"
(Umar, Techtites)


Download Aerofoil 1.5.0_03 Installer

Download Aerofoil 1.5.0_03 Source Code (C++)

If you use Windows Vista and receive the message "Side-by-side configuration is incorrect" you may also need a Vista update - the Microsoft Visual C++ Redistributable

* Note Aerofoil.exe is compressed using UPX so you will find your compiled executable is larger. You can find UPX here. The source code has dependencies on the WxWidgets framework (2.8.8) and the project is for Visual Studio 2008.

Tuesday, September 29, 2009

FollowMe 1.2 Release Delay :(

As happens with other software I write in my free time I've not been able to push FollowMe 1.2 out of the door quickly as I'd like since I've been on holiday and now have a bad head cold (hopefully not the s-flu!) but the software is still on the cards as the next immediate release.

Thanks for your patience.

Monday, August 31, 2009

FollowMe 1.2 (the new name for LocateMe)

Since its release in early 2008 LocateMe 1.1 has been a great program, but is slipping behind the times compared to now many other similar modern hardware tracking solutions.

LocateMe has also unintentionally shared the same name as other similar popular software for iphone and pocket pc (which admittedly has probably helped in its success), so now its name is changing, it's shortly to be called FollowMe.

I'll be releasing a new build with improved phone compatibility within the next few days, and, new to FollowMe 1.2 is the ability to track multiple targets.

The roadmap for FollowMe 2.0 includes a beaconing feature and an innovative (and hush hush) feature that I'll be divulging on the day of release.

Keep an eye on this blog :)

Sunday, July 26, 2009

Image to ZX Spec 1.0.5 Released

UPDATE: Version 1.2.1 supersedes this revision of Image to ZX Spec you can get this here

Image to ZX Spec 1.0.5 "Omega" is now available - try it online (requires Java 6, you will be shown a security prompt) or download it (more links bottom of this post beneath changes).

You can find out more about what Image to ZX Spec can do here and here

Bill and Ted agree being Omega dithered is most excellent (click image)

Version 1.0.5
  • Added Bayer Ordered Dither (2x1)
  • Added Omega Ordered Dither (2x2)
  • Minor code changes including better error messages.
  • Remembering directory locations in the file dialogs
  • OpenGL hardware acceleration switch (disabled by default, source
    code only adjustment required to enable it due to instability and
    currently only rendering display improvements).
  • Small UI changes


YouTube video tutorial

Webstart Image to ZX Spec (i.e. "online" usage - requires Java 6)

Download Image to ZX Spec 1.0.5

Download the Image to ZX Spec 1.0.5 (GPL 2) source code

Saturday, July 18, 2009

Ubuntu: Mount a RAID array, show in Gnome Places as a single disk

DISCLAIMER: I accept no responsibility for any damage you may do by following the instructions below, do so at your own risk!! I advise you read all of the instructions before you start.

After the pathetic lack of responses on Linux forums for this question here and here I decided to spend a large amount of my time getting this to work so some of you don't have to. In all honestly I've not posted on these forums because I want the website traffic for my 2 days of sweat and blood trying to find a clean solution to clear deficiencies in the Gnome Window Manager.

Background for Ubuntu RAID (Important read! :) )

First of all, although you may have been sold your mainboard on the premise it has a hardware raid controller built in, many have in fact what is known as a soft RAID controller, basically a chip that can link two IDE (disk) channels together - the actual RAID work is done by the software in the OS, i.e. a driver in Windows.

This causes a problem in Ubuntu as without the software part it shows as two individual disks and if you mount any separately it will break your RAID setup, as one disk will be out of sync - so don't do it!

Gnome "Places" on the menu adds these drives, unmounted, to the "Places" menu on the "taskbar" (the top panel) with no way of altering them in the UI (sure you can change bookmarks, but drives don't show as bookmarks).

The solution is simple, but I've documented in depth here for those unfamiliar with the command line (xterm). Sadly you need to use an xterm to set the drives up initially, but don't worry, you don't need to touch it again after that.

The Solution (The RAID half)

First of all you need to determine the soft RAID controller you have - use the dmraid tool for this. If Ubuntu doesn't have it already on the command line (an xterm) type:

sudo apt-get install dmraid

Now you need to run it and find your array (not add it):

sudo dmraid -r

You will be shown output like the following:

ERROR: sil: only 3/4 metadata areas found on /dev/sdb, electing...
/dev/sdb: "via" and "sil" formats discovered (using sil)!
ERROR: sil: only 3/4 metadata areas found on /dev/sda, electing...
/dev/sda: "via" and "sil" formats discovered (using sil)!
/dev/sdb: sil, "sil_afajdgcdejbj", mirror, ok, 234439600 sectors, data@ 0
/dev/sda: sil, "sil_afajdgcdejbj", mirror, ok, 234439600 sectors, data@ 0

In my case the device was incorrectly recognised as a "sil" (Silicon Image) RAID device, but I was told it guessed the device make of "sil" instead of "via" (which it is), so I need to type the following to add and recognise it correctly:

sudo dmraid -ay -fvia

which tells it to recognise the RAID device as a "via" AND adds it as a new device.

You may just need to do (no need to specify the format):

sudo dmraid -ay

You will be shown output like the above, make note of the weird multi character name...

Now to make it available to the system (dmraid has just added the RAID array as new device, but it's not ready -mounted- yet) type:

sudo mkdir /media/raid_disk
sudo mount /dev/mapper/via_yournamehere /media/raid_disk/

where via_yournamehere is the name of the sil, via or other RAID device - the weird name I said to make note of. You can change the name "raid_disk" to whatever you want, e.g. "WindowsXP" or "Data" or whatever you want to call the RAID array (this does not change any RAID data or names, just how you use it in Ubuntu).

Your RAID drive is now viewable in Gnome by browsing to /media/raid_disk - but you'll need to make this permanent to start with the machine.


sudo gedit /etc/rc.local &

This opens a text editor - the file may be empty, but if it isn't add at the bottom the two lines we've just tested so it looks like the following (example is from my own rc.local - remember I needed the "-fvia bit" you may not). Note you don't need the sudo command anymore:

/sbin/dmraid -ay -fvia
mount /dev/mapper/via_dgcgebhjdg1 /media/WindowsXP/

Now your RAID device will be loaded and mounted whenever you boot Ubuntu. Sadly it will now show up as three drives in Gnome "Places", if you've chosen to give the raid array the same name as the individual disks the only one mounted will be the RAID device, so if click in "Places" and you are prompted with a security warning to mount a disk DON'T DO IT - CLICK CANCEL! The one that opens a new file explorer window without any mounting prompt will be the RAID array.

We can see how to fix "Places" with the next part of the solution....

The Solution (The Gnome Places half)

Down to a stupid deficiency in Gnome you can't easily edit the drives in the "Places" on the menu bar panel. Since to find and add the drives Gnome is tied to the part of the Linux system that looks after devices (gvfs and udev if I remember), you need to tell Gnome to ignore the extra disks (i.e. the RAID array's individual disks found on startup).

Type the following:

sudo mkdir /usr/share/hal/fdi/preprobe/95userpolicy

This creates a folder for a new device probe policy, basically a rule set about using certain devices.
Now create a new rule set in this folder to ignore some disks:

sudo gedit /usr/share/hal/fdi/preprobe/95userpolicy/10ignore-disks.fdi &

If you know the device names of the drives you want to remove from "Places" you can skip this next step - type on the command line/xterm (not in the editor!):

sudo fdisk -l

to list the drives on your system, you should be able to identify the name from the size information, you need the full drive-partition name, not the drive, i.e. /dev/sda1 NOT /dev/sda.

Then add this information in the text editor for each drive you don't want to show in "Places" (where "/dev/sda1" is the device name of the drive that it is showing in Places - in my case I needed to remove the two RAID disks that were identified individually - /dev/sda1 and /dev/sdb1, this will not stop them being used as a RAID array by dmraid). For example from my 10ignore-disks.fdi file I have two:

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
   <match key="block.device" string="/dev/sda1">
    <merge key="info.ignore" type="bool">true</merge>
    <match key="block.device" string="/dev/sdb1">
    <merge key="info.ignore" type="bool">true</merge>

For every extra disk you want to hide, just add a new tag inside the tags, changing the bit that says string="/dev.....", or obviously if you are reading this and just want to know how to hide a device you only need the one element above, not two.

Once you save this file and reboot, Places will no longer show these drives, if you get it wrong (and hide the wrong disks) just redo this last step.

Drop me a post if you find this useful :)

Monday, July 13, 2009

Image to ZX Spec 1.0.4 Released

Hot on the heels of the 1.0.3 release I burnt out to finish 1.0.4 with a number of new ordered dithering options, performance tweaks and other nice things - try it online (requires Java 6, you will be shown a security prompt) or download it (more links bottom of this post beneath changes).

You can find out more about what Image to ZX Spec can do here

Here's a sample of the new ordered dither modes, note that although the Spectrum only has 7 effective colours (excluding half bright) the dithering achieves the appearance of many more...

Version 1.0.4
- Added Ordered Dithering and a substantial number of new modes
- Added options control for ordered dither intensity
- Refactored some old code giving a small performance increase
for screen export and error diffusion dithering
- Replaced input folder option with file selector so individual
files can be processed instead


Webstart Image to ZX Spec (i.e. "online" usage - requires Java 6)

Download Image to ZX Spec 1.0.4

Download the Image to ZX Spec 1.0.4 (GPL 2) source code

Friday, July 03, 2009

Image to ZX Spec 1.0.3 Released

Lots of improvements in this release - as you can see! For a change list see below, for more info and screenshots see the original post.

If you don't fancy the download you can also now try Image to ZX Spec online (requires Java 6). You will be prompted about its digital signature being unverified - you will need to click the "Run" option or it won't start). You don't have to tick the "Always trust..." option.

Version 1.0.3
- New options dialog (options can also be changed mid conversion!)
- New dithering options (including Low Error Atkinson)
- New jpeg image export option
- New pre-processing options such as brightness, contrast etc.
- New image scaling options (proportional scaling)
- Monochrome image mode with colour selection
- Small code refactor, improvements in speed on some operations
(speed is not a priority at the moment).

Version 1.0.2 (Internal build only)
- Numerous new dithering algorithms added
- Small bug fixes


Webstart Image to ZX Spec (i.e. "online" usage - requires Java 6)

Download Image to ZX Spec 1.0.3

Download the Image to ZX Spec 1.0.3 (GPL 2) source code

Sunday, June 28, 2009

Wubi Wubi Wubi! Wubi Ubuntu 9.04 Install Error

If your Wubi Ubuntu 9.04 install is hanging at "Creating the virtual disks" it's probably down to the file system you are trying to install Wubi on. Fat32 formatted disks have a file size limit of 4GB, so no matter what the Wubi installer tells you, you won't be able to create a >4GB Ubuntu install on this disk.

You should convert the disk to NTFS from the command line using the Microsoft convert tool if you want an Ubuntu install greater than 4GB (open up a command prompt and type "convert /?" for more info) or install to another disk that uses NTFS instead.

If this isn't the problem with your install you can find out exactly what is by looking at the wubi installer log file in (Windows XP - YMMV) C:\Documents and Settings\[user name]\Local Settings\Temp. In this case the logs shows

ERROR Virtualdisk: Failed to extend file. Not enough free space?
ERROR Virtualdisk: WriteFile() failed!

which is the symptom, not the problem!

Thursday, June 25, 2009

Image to ZX Spec 1.0.2 Progress

I thought I'd post progress on Image to ZX Spec. I've now added a number of other dither options and a separate dialog for configuration, but I guess what you really want to see is how much it's improved - the following conversions where done with my own "low error" dither based on the Atkinson dither. Click the images to see them full size. Yes... this is what the images will look like on a real ZX Spectrum!

Tuesday, June 16, 2009

Image to ZX Spec 1.0.1 Released

Image to ZX Spectrum has been updated.

For a full description of what this application does see the original post.

I'm not entirely happy with this release - the "Full Colour Floyd Steinberg Converter" (FCFSC) mode is still quite poor, however I'm releasing it now so users can get a feel for the "Half Colour Floyd Steinberg Converter" (HCFSC) which is new to 1.0.1 and is potentially a lot better (pre release screenshot above).

Version 1.0.2 will fix the colour issues in FCFSC.

Sunday, May 31, 2009

Genuine Original Windows XP Themes Collection

A number of genuine themes have been released for Windows XP over the years.

As a convenience to readers I'm listing the download links to the Microsoft sites below - I'll update this post if any more become available (and when I find them - there is a "Watercolor" XP beta theme lurking around somewhere but I can't seem to find a Microsoft signed copy).

ZuneOrange and black
Windows EmbeddedDark blue
RoyaleShiny blue Windows Media Center (note Microsoft removed the official link here and replaced it with just the wallpapers).
Royale Noir(Incomplete black theme NOT compatible if you have standard Royale - read the linked page first!)

Update: I've just found out Viperfang covered all of these with screenshots a few weeks ago - have a look

Wednesday, May 20, 2009

Fixing TFT Monitor Flicker

If like me you've got a TFT monitor and you've noticed flickering on some moire images (such as the one right) or high contrast colours it may not be the monitor at fault.

The good news is there is an easy way to fix it in Windows - just change the Display Mode Timing. Usually you can find settings like these on your graphics card drivers' control panel application see the NVidia screenshot below.

Switching Auto Detect off and selecting Coordinated Video Timing should fix the problem. If that doesn't - try another mode. I have no idea if this affects game performance or even if your monitor will blow up, but it worked for my 22inch LG.

Sunday, May 17, 2009

Aerofoil 1.5?

Recently I've also been thinking of improving Aerofoil to include new features that greatly improve battery life for Vista and Windows 7. This is not to say I will produce an Aerofoil 1.5, but more a general gauge of user feedback as to features you'd like to see. With up to 240 unique hits a day on this blog I'm hoping some of you will be able to give me some info on features you think would be worthwhile and would save battery life.

Things I have already tried and dismissed:

FeatureExpected GainDismissed because...
Screen colour reduction (going from 32bit colour - 16.7 million colours to 8 bit colour - 256 colours)Lower power GPU usage since it is doing less colour workTests showed no real gain, possibly a few seconds, but importantly Vista is mostly blacked out and very hard to use
Auto process priority management - lowering task priority for heavy processesLower CPU usage should mean greater battery lifeUsage of a machine became unbearably slow. Conversely, trying to put the CPU priority up instead so a task was done faster is counter productive, since user input is slow and the application is waiting longer at high priority
Decrease the sound volumeLower power usage from lower volumeNot much to be gained here unless you play music constantly, and probably quite annoying

Features like hardware disabling I think are overkill and is potentially dangerous so I won't be considering that (e.g. switching Bluetooth off, disabling Bluetooth driver stack). Hardware disabling would also require a lot of manual configuration, and one of the design paradigms behind Aerofoil is to keep it as simple as possible.

So what can I do, how can I improve Aerofoil - I was pretty much resigned to 1.4.5 being the last version - but given it's success I'd like it to become the defacto must have battery saving application for Windows Vista and Windows 7 Notebooks?

Friday, May 15, 2009

Image to ZX Spec Released

Image to ZX Spec is now available for download

Before reading further, 1.1 has been released and 1.2 is on it's way, see here for Image to ZX Spec 1.1

Many thanks to Viperfang Networks for the hosting

Image to ZX Spec allows you to:

- Convert JPEGS or GIFs to a ZX Spectrum slideshow (tap file).
- Convert JPEGS or GIFs to a ZX Spectrum SCREEN image (.scr file).
- Create retro art work, any size image can be "Spectrumized" (.png file).
- Convert an entire directory of images, with previews.
- Choose from numerous processing optionsas to how the images will be converted.
- Change all processing options on-the-fly.

Here's a screenshot from 1.0.3 showing a comparison preview between the original image and the Spectrum image:


Download Image to ZX Spec 1.0.5

Download the Image to ZX Spec 1.0.5 (GPL 2) source code

Sunday, May 10, 2009

Retro Art Software "Image to ZX Spec" and Blog Issues

Many thanks to Viperfang Networks for the new download hosting - the site should be working normally. If you notice any broken links please drop me a comment.

I'm moving web hosting so my downloads and most other content will shortly be offline, although hopefully this should not be for too long (a few hours tops).

Unrelated, in the last week I've written Image to ZX Spec, an image converter that will take any photo and retro"ise" it, and can even create slideshows for use on the ZX Spectrum.

The downloads and source for this will be available in a few days.

Here's a sneak peak at what it can do (yes this is running on a real Spectrum emulator, and thus can be run on a real machine!)

Thursday, April 23, 2009

Retro fun

As usual software development on Gesture Magic and Vampire Castle is taking a back seat, mostly because I've found other more distracting things to do. Hey at least I got LocateME updated to 1.1 :)

So now I'm

- Playing with and programming for a ZX Spectrum +3, for the hell of it.
- Restoring another broken ZX Spectrum +3 I was given.
- Playing Fallout 3.
- Ebaying
- Watching Reaper Season 1 (on import from Amazon).
- Gardening.
- House DIY.
- Enjoying the Sun (we get so little of it in the UK).
- Moving my ISP (and thus all my downloads). Namesco botched up, Plusnet takes over.

I'm toying with writing a Java JPG -> Spectrum BASIC slideshow viewer, just to see what I can get away with regards to funky colour clash etc

I'll probably regret saying this but if you've read this far and want to see progress on some of my existing apps email me or drop me a comment, I need motivation, no promises. ben at

Saturday, March 07, 2009

F*** you to Orange

For the sake of over charging me £0.25, this year alone Orange have now just lost at least a guaranteed £150 (£15*10 months) from me (pay as you go) and £350 (£35*10 months) from my fiancée (contract).

What's more is that I'm now making around 50% savings and my other half 67% savings for the same service elsewhere* - that's better than I could have hoped! They'll also be losing out from extended family members switching long term.

"The future's bright" - it certainly is.

* Footnote: I chose to go with 3 Telecommuications because of free Skype and Windows Messenger calls.
Three like Orange are also owned by Hutchison-Whampoa but I don't have a "beef" with the parent company just Orange's poor marketing and customer service.

Update 8/11/09:

Well my parents are now on 3 and Asda, another loss of of about £240/year, excellent.
Total loss to Orange: £840/year

Monday, March 02, 2009

The Fruit Machine Vampire Castle Ramp Up

Last weekend I spent Sunday rewriting the The Fruit Machine - Vampire Castle "event model", to put this simply, the existing system couldn't handle the combinations of clicks and options available on the fruit machine without some major code ugliness and risk of bugs.

The code is now in a state to progress it further feature wise. I particularly want to make it easier (not easy - because it isn't) for other developers to develop similar fruit machines using a shared fruit machine framework.

Two key parts of the framework are:
- An abstract fruit machine component "model" (a fruit machine consists of boards, which consists types of components such as buttons, lights etc), these have common features and functions that are exposed by the API
- A "pull" event framework. Instead of a central monolithic piece of code making decisions based on lot of variables (e.g. has start been pressed, are we spinning a reel, are we on the top board etc) and having button clicks setting off this behaviour ("pushing the data") there are now individual pieces of code "event handlers" to do the work. The event handlers are told to work out whether they individually in turn need to do anything and can ask the abstract fruit machine ("pulling the data") to return the states of components to find out whether anything should be done.

I'm thinking of GPL for the licence, however I may make additional modifications to the licence to ensure Silent Software remains as an acknowledgement on any splash screens.

Thursday, February 19, 2009

LocateMe 1.1 Released - Free Java ME GPS Tracking Software

UPDATE: LocateMe 1.1 has been updated and renamed to FollowMe 1.2

LocateMe - Free open source GPS tracking software for MIDP 2.0 mobile phones.

This small (30-35K) application requires a mobile phone with an integrated GPS or a separate Bluetooth GPS and will show you the direction to a given location (a "target") without maps, using a pulsing direction arrow. You can request the location of other LocateMe users by text message, send your own location, or just simply save a location for directions back to it later.

The Features:

* "Target" other LocateMe users' locations via a request text message
* Send your location to other LocateMe users via text message (can use your contacts list)
* Record your last location as a target
* View all the satellites around you on a "radar" style view
* Display RAW GPS data (suitable for testing)
* Connects to any mobile phone integrated GPS or Bluetooth GPS
* Saves your GPS and target settings between runs.

New Features for 1.1:

* Complete integrated GPS support (some features may not be available depending on phone GPS capability).
* Last known target direction shown when stationary (arrow stops pulsing when stationary and an accurate direction cannot be calculated due to GPS fix precision errors)
* Added a new option to invert display colours (you can choose depending on light)
* Fixed the speed error for bluetooth GPS knots to km/h - the value was off by 0.001 km/h per knot
* Fixed the speed bug for integrated GPS (would you believe - integrated GPS use metres/second, normal GPS use knots!)
* Added a warning before setting a new target
* Added support for viewing satellites positions using an integrated GPS (Bluetooth always could) but only if the phone can support this feature
* Moved "Target here" to "Target" which on most devices will now be at the top of the menu or centred
* Sats button is now "Satellites"
* Marquee time is 45 seconds before next reading shown
* Moved "Dist. to target" to start of marquee text
* Distance shown is in km when metres > 1000
* Removed the About menu item (it now shows (C) Silent Software in the marquee on first run)

For developers the fully commented source code is a good example of:

* Design patterns, i.e. lazy initialization, command, strategy patterns
* 2 Tier system
* How to use PushRegistry (JSR 118)
* How to use the Record Store (JSR 118)
* How to use Bluetooth (JSR 82)
* How to use Text Messaging (JSR 120)
* How to use the PIM (and hack to minimise the security notices - JSR 75)
* How to use the Location Based API (JSR 179 - Nokia lapi.jar included)
* How to use simple graphics (not using a Game Canvas however)
* How to multi thread effectively
* How to process raw NMEA GPS data
* Provide a basic understanding into Graphical and GPS trigonometry

Known Issues:

* The application is not security signed (this costs money!), so you will be shown numerous security popups when you start it.
* As your phone is not a compass the direction target arrow will only point to the correct direction once you start walking, and the phone can determine which way relative to North you are going, i.e. when you are stood still your phone doesn't know which direction you are facing! :) On startup, until the GPS gets an accurate fix, the direction arrow to the target will not be shown.
* On first run there can be some delay discovering the Bluetooth devices in busy areas (i.e. it may display "Waiting for GPS..." on first run for some time). This is down to the Bluetooth device discovery picking up a large number of devices and querying them. Once you have located your GPS, future connections to the GPS do not require this discovery period and will be relatively quick

This software has been tested on Nokia Series 40 3rd edition phones at a minimum resolution of 128x128 pixels and Sun WTK emulator at 240x320. It has also been successfully tested on a Nokia N95 and Nokia 6650 with integrated GPS'.

The software is licenced under the modified for UK Law CPL 1.0 licence which is included with the distributions.

Download for mobile phones with an integrated GPS
Download for mobile phones using a separate Bluetooth GPS
Download LocateMe source code (and full javadoc)

Tuesday, February 17, 2009

LocateMe Update! Hooray!

Thanks to a very helpful user I've been able to improve integrated GPS support in LocateMe 1.0.1 Beta. Subject to extra testing I'll be releasing this as full 1.0.1 with source shortly. This isn't the rewrite I wanted for V2 (with all the extra bluetooth/logging/radar etc. features) but improved support/feature completion for the V1 lineage.

The improvements include:

- If you have an integrated GPS phone your bearing (course) and speed data will be read (if possible).
- Satellite View MAY work if the GPS supports providing raw NMEA data (not many phones support this feature, but it is attempted anyway).
- Uses white on black for main view (with arrow) to help conserve battery power (although I've no idea if this works it looks funky).
- Improved error handling in places.
- Updated (C) and text in places.
- Ticker (the scrolling marquee) now refreshes after 40 seconds not 30 to give more time to read it. Please remember that this data updates from the GPS every few seconds (~5 secs), so by the time it has been read it it may be old!
- You will be classed as "at the target" if within 10 metres of it (not 30 like 1.0)

So far this has been tested on the following handsets Nokia N95, Nokia 6650, Nokia 6300/3110 classic + BlueNEXT Bluetooth GPS, Nokia 6300/3110 classic + Bluetooth Holux GPS, Sun's WTK 2.5.2

Monday, February 16, 2009

Vampire Castle Progress

I spent a a whole day trying to move from the PALib library to libnds to make Vampire Castle future proof, unfortunately this proved to be more time consuming than I hoped and backed out the changes (two key problems arose - I can't use anim gifs, and I couldn't alter screen brightness without a lot of faff*). I also didn't fancy rescripting lots of PAGfx ini files to Grit scripts (i.e. the graphics resources). Perhaps further down the line I can do this conversion, but for the moment I don't want to kill programming momentum by getting stuck in the minutae.

After the roll back I added rumble pack support and some new sound effects, this has added to the realism greatly, especially when the fruit reels stop and you feel physical "ker-chunks" and "dunk" sound effects.
Hitting the bonus 4 points now also starts the feature stopper mode that will get you to the top board, although the stopper doesn't yet stop :)

I'm expecting to release either a demo or the full version within the next month or so, source code and revised releases will follow (at the very least a new youtube video will be available soon). One thing I am toying with is displaying cut scenes for collecting your winnings and so on - this is dependent on me having time.

Oh and I briefly looked at LocateMe 1.0.1 beta to help a (potential) user adding in some minor bug fixes - this code hasn't been released and probably won't be as I intend to do some refactoring to better support phone integrated GPS.

* Wintermute on #dsdev mentioned the next version of libnds will have a brightness function I can use - thanks :)

Monday, February 02, 2009

How to Remove Opendisc ® from Windows

As somebody who recently used an Opendisc® CD on my computer and found it not to be showing CD audio ".cda" files but a list of Windows files and folders (including an "autorun.exe") I suspected I'd inadvertently installed some DRM from the CD that wasn't allowing me to see the audio content.

After further investigation (Google was practically useless) and viewing the Opendisc® FAQ and Tech Notes pages contacting Opendisc® about their Opendisc® product I ended up even more frustrated because it states:

Do I need to install additional software onto my computer to use Opendisc®?

No, Opendisc® does not require additional software installation.
A small file will be stored in your user preferences so that you need not fill in the form at each visit to the artist's private web site.

So basically they won't say exactly what that file is, I thought "lest I try and remove it" - I suspected it had the potential to be doing something nasty to my machine. So I emailed Opendisc® support about their Opendisc® product and how to remove the small "file".

Opendisc® support got back to me today and specified exactly what the file was and how to remove it (quoted with typos):
Dear Sir,

You can cancel and redo your registration by following attentively this method:
- Close the Opendisc application.
- In Windows, go to "Start" and then "Run".
- Enter the command "regedit".
- Search for the key "HKEY_CURRENT_USER\Software\Opendisc" in the left pannel.
- Select this key and delete it.
- Close the Regedit tool
- Start Opendisc
- Make your subscription to Opendisc again.


The Opendisc® Support Team.

You can follow these instructions to remove it, but it will be a bit pointless, next time you (auto) run the CD the data will just get added back to the registry, which (admittedly from memory) looked like info about the CD for the enhanced content, no personal info.

The catch is this - the CD is formatted to be a "mixed-mode" CD which is perfectly above board and a standard CD format, i.e. no breaking standards, no CD formatted not to read on a computer etc. The Opendisc® website actually says:

The Opendisc® technology respects the Blue Book specifications

This is a good thing - the format is also known as an "Enhanced CD", "CD Extra" or "CD Plus". Basically it's a disc with one part CD player compatible format (the type that on a computer would just show as small ".cda" files) and the other part formatted using a standard computer readable file format, which may contain different content, the "enhanced" content. When Windows reads the disc it has two choices, it can show the .cda files (which are practically useless in Windows Explorer) or show the content it (and other operating systems) was designed to do, i.e. the files that included the "autorun.exe" that I saw. This will also affect most software that plays audio from both compact discs and filesystems, since it will make the same decision as to which part of the CD to read.

So in short, for now Opendisc® appears to be completely safe (at least the Opendisc® versions I've seen such as on the CD "The Script"). If you need to get at the "raw" CD sound files on a mixed mode CD a decent "ripper" application will do that (I do not advocate any form of piracy) and will ignore the "Windows compatible" formatted part.

- Did I mention Opendisc® was a registered trademark (yes it bugs me ;) )?
- "Windows compatible" and so forth is not strictly the correct terminology, but used here for ease of understanding for non technical readers.
- I am in no way associated or funded by Opendisc® or its associates/affiliates, just relieved to see that this appears to be all above board stuff and I thought I'd pass on the news :)

Sunday, February 01, 2009

Rumble Pack Support in Vampire Castle

Luckily nobody from the NDS scene has caught onto this project yet which is quite nice because I can spend more time on QA and less dropping alpha versions out of the door. A good example of QA is work I've done today, whilst not largely progressing the development I have looked at adding rumble pack support (useful for simulating money falling into the fruit machine tray amongst other things) and cosmetic changes, such as "Click to play" becoming "Tap to play".

The end deliverables will be

- The Fruit Machine - Vampire Castle game.
- The Fruit Machine API - a framework for developing other fruit machines easily (although in C++, nothing high level I'm afraid).
- Fully documented source code.
- All of the source code, graphics and sound, including all content not used.

The Orange Phone Fund Rip Off

UPDATE 3: 13rd December 2009

Important: The latest updates on this post can be found at this blog post.

Older updates remain on this page.

UPDATE 2: 19:12 3rd March

Orange lied to me.

I have just topped up by £10 to test and only received £10 (not £10.25) I've been moved onto the phone fund after all (a text from them after confirmed it). I've sent Orange a nasty complaint and asked them not to bother phoning me back or contact me. I'm now choosing my new plan with another network - the next time I contact them will be to get my moving code.

UPDATE: 3:09 1st Feb
Orange UK called me a couple of hours ago to fix things. The nice lady at Orange UK confirmed what I wanted to do (to keep receiving my tax as phone air time credit, not as a phone fund), put me on hold and explained it to the call centre, then transferred me across. The call centre lady then spent 5-10 minutes or so in total (with me on hold - not a problem as I wasn't paying :) ) to process the requests - I was informed that this needed some special attention (I can't remember the exact wording she used, but basically she needed to speak to someone who could implement/authorise the change to my pay as you go service plans).
This has been put through - I'll keep an eye out after Feb 11th to see if it worked!
To sum up, if you want to do the same put an email through the Orange system from their website, tell them you do not want the expense of you calling 450 customer representative (25p) to fix something you didn't want, and ask for a call back. If you still have any problems drop me a comment on this blog or on Money Saving Expect Forums where there are some posts on this issue.

Good on Orange for sorting this out quickly - I hope other readers will have the same success!

--- Original Post follows ---

I don't usually use this blog to complain, but this is one issue that gets up my nose and other people should be made aware of it - Orange is (in my personal opinion) ripping off pay-as-you-go customers out of a tax rebate.

Orange has recently sent me the text message

Hi from Orange. From 11 Feb, every £10 top-up gets you £1 towards a new phone with Orange Phone Fund. This replaces the VAT adjustment. See

At first I thought cool - I can get a free phone in a few years. What the text doesn't tell you (and is in the more detailed print at is that the fund is restricted to £200 and all funds accumulated reset after a year. Oh and you need to purchase the phone with Orange direct.

Yes, basically to get a £200 phone you need to spend £2000 in a year, even a budget phone is ~£1000.

So I complained via the Orange website that I was annoyed that they had automatically opted me in for a new plan for my two pay-as-you-go phones, yet I would never see any benefit because my phone purchase cycle is an environmentally friendly 8-10 years, and I would rather have the 25p on every £10 added to my account as had been done.

I received the quick response (within a couple of hours):

Dear Benjamin

Thank you for your email regarding the Phone Fund.

I am pleased to advise provide a better service for our customers and to give you better value for your money Orange Phone Fund will award you 10% back for every top-up made.

So if you top your phone up by £10 we will give you £1 towards your phone Fund, this gives you four times the benefit of the extra VAT credit.

Your Phone Fund builds over a maximum of 12 months with each top-up, until you decide to buy a new phone.

You can get a new phone by calling 450 or going to an Orange shop to cash in the fund towards the cost of the new phone. The maximum value of the new phone is £200.

However, if you feel that you would rather have the money as airtime on this occasion we can arrange for the credit to be applied back to your account. Please note that this would be at the rate of 25 pence (equivalent to the 2.5% VAT back) for every £10 topped up from 11 February 2009 and you would have to call 450 from your Orange handset or 07973100450 from a landline where one of our representatives will be pleased to help you.

For further information on terms and conditions please visit the link below:

Please be advised that the answers to many common queries can be found in the Frequently Asked Questions section in the Help and Support option on the Home page of our website

I trust the above is of assistance and sorry for any inconvenience caused.

Kind regards

Orange Customer Services

So basically I have to phone Orange to fix their problem.

So I rang up, went through the automated system to the final option 4 which is to speak to a customer service representative. At this point I was told I would be charged a "one off fee of 25p" - yes, that's right folks, now I would be paying for their error. I hung up the phone before it connected.

It then occurred to me, this is an Orange rep, at Orange telling me how I should fix a problem at Orange, i.e. it was deliberately scripted stock response, so I fired back a reply email:

Hi Wendy/Customer Services,

Thanks for your quick feedback. I cannot understand why the onus is on me and why *I* need to phone Orange to put right a situation Orange have created, when the information to fix it was contained in the first email (please see case number in email header for reference).
Nonetheless I have called Orange, got through the automated system to option 4, to be told I would be charged a one off fee of 25p to talk to customer representative. Is this some kind of scam to extort money? I did not go through with the process because of this however I am quite happy for a customer service representative to call me (with no reverse fee charge) on if it is a matter of the DPA.

Please can you either rectify this internally at Orange (rather than telling me how I can fix it) or call me directly on the aforementioned number. I should not be being charged, no matter the amount, or wasting anymore of my time putting right an *Orange* problem. If this cannot be arranged by yourself O2 are quite willing to give me free £30 pay as you go credit if I move my actual numbers over, and £60 (I have two phones) is looking very atractive at the moment.

Thank you for your assistance with this matter,


I have not received any further response or any calls from Orange, but that's okay. My next calls, which will cost me money will be to receive PAC codes to move my two phone numbers to get free 2x£30 credit with O2's move number feature, help move my finacée's number next month (whose Orange contract ends then anyway), and provide my parents with some free sims (curtesy of O2's free sims page)

Yes this may be overkill for £6-£18 extra credit on my phones a year, but it's the principals of:
- Changing my T&Cs without consultation to my detriment
- Poor customer service
- Onus on me to fix their problem (and wasting about 2 "person" hours in the process)
- Financial loss
- Large financial gain of moving to O2

Tuesday, January 13, 2009

Free Legal Prodigy and Chemical Brothers MP3 Albums

It occurred to me that like the free and legal commercial games I mentioned last year I've been listening for a few years to some free albums and thought I'd give them a mention. These albums should be legal since they are purely "remixes" (albeit quite close to the originals...).

First up is The Chemical Brothers Remixed "Flip The Switch", which is based on "Push The Button".

Next it's the turn of The Prodigy with Always Outsiders, Never Outdone", which is based on "Always Outnumbered, Never Outgunned".

Thursday, January 08, 2009

How to Create and Mount ISOs in Windows in under 80K!

LC ISO Creator is one of those indispensable small utilities for creating "iso images" from your CDs and DVDs on your hard disk. It may not be capable of copying copy protected CDs/DVDs however at 14KB zipped it's perfect for those personal CDs or music CDs you want to backup and has also got that Amiga "XCopy" feel, so it has my vote!

So great, you now have a tiny utility to create ISO files, but you need something to "mount" the backups you make (that is, temporarily add to "My Computer" as a "virtual" disc drive you can access). Microsoft Windows XP Virtual Control Panel is the utility to do that, at 60KB compressed it is also one of the smallest utilities of its kind, and allows you to switch the CD in the virtual CD drive by choosing the iso image file via its user interface.

Well that's the under 80K part (14K+60K), but unfortunately the Microsoft tool is XP only. Fortunately there are lots of other free utilities to mount ISO images such as much more heavy weight (7MB+) DaemonTools and Alcohol52, or the (relatively light) 400K open source WinCDEmu. Watch out for the last one, it's light and simple... but has no uninstaller (yet).

On an unrelated note, not having time to develop on Vampire Castle recently means I've been short of good blog entries, but I've grateful for the praise in (older) blog comments for my software to date.
To keep the blog ball rolling (and give readers reason for subscribing to the RSS feed) there'll be more posts like this one in the short term.