I have been tinkering around with the software I use for image feature extraction in my large collection of SenseCam images.
Using OpenCV, a SURF algorithm and Python I have been able to create a small command-line application that can accurately determine places I have visited before based on the captured images.
The Python script is also capable of tagging images such as “Venice Office" or “Home/Bedroom” or “Local Coffee Shop” very accurately. I am quite pleased with the results.
By automatically tagging images I can group them in to similar sets of images, and quickly locate pictures of an event or location. Next I want to start working on automatically recognising and tagging people.
Posted in SenseCam, Software Development, Toy Box | No Comments »
No related posts.
This is a brief update to a previous article I posted about porting M.A.M.E. to the Microsoft XBOX. I have managed to remove just about all of the bugs in the rendering code.
It’s even a little faster than it was before.
I’ve fixed all the blown out colour & gamma problems and the sizing issues of the screen.
Apart from about a dozen games that have incorect colours everything runs just perfectly. MetalSlug X looks superb now that it has the correct colour palette. The bugs in Microsoft’s latest 7.0 C++ compiler I managed to work around by just tuning the optimisation parameters for those particular source files.
Sound works. A little glitchy on one or two drivers. Nothing that’s too annoying.
I’ve implemented code to handle the analogue sticks so that games like Crazy Climber and Karate Champ can be played as they were meant to be with dual joysticks. I’ve also implemented code to handle the four joypads, so that you can play four player Gauntlet and three player Rampage.
I’ve implemented a simple menu system that scans the hard drive at start up for available M.A.M.E. ROMs and displays them in a list that lets you rapidly scroll through to select the game you want. Also figured out a reset emulator bug that was annoying me that would prevent you returning to the menu system. Turns out the bug was in beta 14 of the M.A.M.E. source code that has since been fixed in the beta 16 release and it just required an update to my M.A.M.E. sources. A few other latent bugs got fixed automagically by taking care of that. The emulator runs on both the silver Alpha hardware and the “final” debug stations just fine, in case you were wondering.
Now if only Microsoft would let me legally distribute this software I’d be a happy person. Unfortunately, only registered Microsoft XBOX developers can legitimately obtain this software (okay, apart from the fact that only registered XBOX developers actually have an XBOX that can run the software at the time of this writing).
Here’s another like about porting M.A.M.E. to the Microsoft XBOX just in case you missed the one at the top.
Posted in Articles, Personal News, Software Development, Toy Box | No Comments »
No related posts.

Ahhhh! The GameBoy Advance. What a wonderful machine. So light! So refreshing! So versatile!
Another Atari VCS 2600 emulator for the new Nintendo GameBoy Advance.
I’ve been tinkering with this for well over 8 months and it’s now at a stage where I’m prepared to show it off.
The emulator is written in pure assembly language, the main emulator core is completely coded in Thumb and runs from ROM. The CPU emulation is a combination static recompiler & interpretive core — for those pesky VCS games that run parts of their code out of RAM — and is coded in ARM assembly running from the internal WRAM of the GBA.
Frame rate is a respectable 39fps, and a little more optimisation will get that to a nice 60fps. There is no sound emulation yet, and I’ve only implemented digital joysticks and not all ROM bank switching schemes are in place so only 2KB, 4KB and some 8KB games actually run.
One thing I must shamefully admit is that it currently doesn’t run on the real hardware, only under the VGBA emulator. I have yet to figure out what I’m doing wrong though I suspect it’s something very obvious.
The emulator can render the game in three modes currently, and I’m thinking of adding a 4th.
In ” tall mode” you have to rotate the GBA ninety degrees counter-clockwise and that gives you a nice tall screen that renders out almost all VCS games correctly — though obviously only 160 pixels wide. The actual pixel clock resolution of the Atari 2600 was only 160 pixels anyway so no information is really lost. The other two modes render at the correct orientation but drop pixels or add scan lines as appropriate. As the objects move around on screen they seem to squash/stretch slightly with very noticeable pixellation that I’m not happy with. I’m thinking about how to get a cheesey pixel filtering system implemented that would smooth out this problem by anti-aliasing across two or more pixels. I’m still thinking about that. I’d rather have a fast emulator with imperfect graphics than a pixel perfect emulator that only runs at 30% of the correct speed.
Stay posted for more updates.
Notice that these pictures were taken with the PrtScn button on my keyboard and they still look bad. I really do suck at all forms of photography even if it is only performing a screen capture.
Somebody stop me before I emulate again!!
Screenshots:
The original Atari Asteroids.

Activision’s Pitfall






Activision’s Pitfall in landscape mode stretched to fill the screen.

Activision’s Pitfall in landscape mode.

Activision’s H.E.R.O.


— Justin Lloyd
Posted in Toy Box | No Comments »
No related posts.