Bits and Bytes
I've written software most of my life - ever since I got access to a Commodore 64 at the age of 5. Having honed my skills both in hobby and professional projects, I am a software expert with expertise in a wide range of different technologies and platforms. I have developed several successful commercial software products from the beginning all the way to the market and have experience of working in various roles in companies and multicultural teams of different sizes. I've also been rather active in the demo scene under the pseudonym Vesuri of dA JoRMaS. I have a Master's degree in Computer Science from the Helsinki University of Technology.
Here are a few software projects I've done or been involved in.
Cloudcraft
Cloudcraft is a web based tool for
visualizing cloud architecture and creating smart diagrams. As a member of
the Cloudcraft team I'm responsible for developing features for the frontend and
the backend. These features have ranged from rendering optimizations to support
for different cloud providers.
MeeGo 1.2 Harmattan desktop environment (Nokia N9)
MeeGo 1.2 Harmattan desktop environment comprises of the main user interfaces in the Nokia N9 smartphone. As an architect and lead developer of the desktop environment I was responsible for design and implementation of the home screen, task switcher, application launcher, notification system, status bar, lock screen, among other components. The software was mostly written in C++ using the Qt toolkit. The Nokia N9 started shipping on September 27th, 2011.
WHDLoadMenu
WHDLoadMenu
is a frontend for the Amiga application WHDLoad.
It displays a list of WHDLoadable applications in the given directory and allows
them to be started by clicking on the name of the application using the mouse or
by selecting the application name using the keyboard or a joystick. WHDLoadMenu is intended to be
conditionally started on system startup. WHDLoadMenu requires
WHDLoadto start the applications.
Attack of the PETSCII Robots (Amiga, PSP)
Attack of the PETSCII Robots is a game developed by David Murray for Commodore PET, Commodore 64 and Commodore VIC 20.
I completely rewrote the game in C++ from the original 6502 assembler
source code in 2021. Using this rewrite I created
an Amiga version of the game
and
a Sony PlayStation portable version of the game.
The rewrite includes 100% exact original gameplay with enhanced graphics
and sound. The game was released for the Amiga on December 20th, 2021
and for the PSP on February 7h, 2022.
Pinball Dreaming: Pinball Fantasies
Pinball Dreaming: Pinball Fantasies is the official iPhone/iPod Touch, Sony PlayStation Portable and Nokia N9 version of
the 1992/1993 Amiga classic pinball game
Pinball Fantasies.
I completely rewrote the game in C++/OpenGL from the original 68000 assembler
source code in 2009. The rewrite includes 100% exact original gameplay, music
and sound effect playback and a smooth 60FPS refresh rate.
It supports online high scores (on iOS), multiple screen orientations and has
a custom 3D level selector. The game was released for the iPhone and the iPod
Touch on July 20th, 2009, for the PSP on October 1st, 2009 and for the Nokia
N9 on July 20th, 2011. The PSP version has also been playable on the
Sony PlayStation 3
since December 17th, 2009.
Pinball Dreaming: Pinball Dreams
Pinball Dreaming: Pinball Dreams is the official iPhone/iPod Touch and Sony PlayStation Portable version of
the 1992 Amiga classic pinball game
Pinball Dreams.
I completely rewrote the game in C++/OpenGL from the original 68000 assembler
source code in 2008. The rewrite includes 100% exact original gameplay, music
and sound effect playback and a smooth 60FPS refresh rate.
It supports online high scores (on iOS), multiple screen orientations and has
a custom 3D level selector. The game was released for the iPhone and the iPod
Touch on January 31st, 2009 and for the PSP on November 19th, 2009. The PSP version
has also been playable on the
Sony PlayStation 3
since December 17th, 2009.
Air Conflicts: Aces of World War II
Air Conflicts: Aces of World War II is an arcade flight simulator game set in World
War II, featuring the aircraft of this period and historically inspired missions.
The emphasis is on intense dogfights, daring bombing raids and exciting aerial
missions. I did most of the conversion of the resource-hungry Windows DirectX
game using more than 512MB of memory to the
Sony PlayStation Portable
with around 24MB of free memory in 2007-2008. DirectX calls were converted to
Sony libGu calls through a compatibility layer. Original code was heavily
optimized to run with a playable framerate on the PSP. All graphical assets
were converted to suitable resolutions and formats. A completely new extra
game campaign was created. The game was released on April 7th, 2009. Gameplay
videos
here,
here,
here and
here.
Shadow Wolf Cyberzine Issue #9 (Amiga)
Shadow Wolf Cyberzine is Legowelt's e-zine.
In 2020 I implemented an Amiga version of issue #9
as a fake terminal application which dials into an imaginary bulletin board
system. It pretends to download and plays Legowelt's song Danger in the Air,
which I converted for the
Amiga.
The imaginary BBS presents a text based menu system for reading the articles,
which are ANSI colorized based on Legowelt's web version.
Sailfish OS desktop environment (Jolla)
The Sailfish OS desktop environment comprises of the main user interfaces in the Jolla smartphone. I participated in design and implementation of the home screen, application launcher, notification system, status indicators and lock screen, among other components. These components are based on C++, Qt, QML and Javascript technologies. I also was involved in porting and transition from a Qt4/X11 based software stack to a Qt5/Wayland based one. The Jolla phone started shipping on November 27th, 2013.
Tutka
Tutka is a tracker style MIDI sequencer for
GNU/Linux
and Mac OS X.
I wanted to continue composing the songs I had written using an
Amiga
program in a modern environment so I decided to write a similar program of my
own. I originally wrote it in C using the GTK+ UI toolkit but recently
rewrote the application in C++ using the Qt toolkit for portability.
Tutka is my
main hobby programming project.
Major Release
Major Release
is an Amiga 500 demo for the
Assembly 2004
oldschool demo competition. Technically it is the most demanding personal
project I've done so far. I tried to push both the old computer and myself as
far as I could. The result was satisfying and reached the second place in the
competition. There's a
video of it
in YouTube and the
source
code is also available.
Megane Rellu
Megane Rellu
is an Amiga 500 40 kilobyte intro for the
Finnish Amiga Party 2009
40 kilobyte intro competition. It features most of the effects from
the Major Release demo, a software synthesizer and a 328 kilobyte song,
all in 40 kilobytes. There's a
video of it
in YouTube and the
source
code is also available.
Siepura
Siepura is an "analogue sound modelling" software synthesizer for
GNU/Linux.
It has 24 voice polyphony, 3 oscillators, 2 ring modulators (can be
swapped for frequency modulators on oscillator 3), noise generator, 2 LFOs
capable of oscillating at audio rates, 3 ADSR envelopes, 24db resonant lowpass
filter and a comprehensive modulation matrix with 130 possible routings.
It uses the
ALSA
sequencer API for MIDI input and
ALSA
for audio output.
Hätä
Hätä
is a cross platform demo for the
Assembly 2002
demo competition. It is also an example of what I can do on the multimedia
front. It uses JRm-core, my portable demo engine. An
Amiga 500 version is also available.
Home Screen Settings
Home Screen Settings is a Nokia N9 settings plugin for configuring the home screen.
It allows orientation locking, visibility of the weather widget, whether to use only white text on the home screen and the background of the home screen to be configured through the Settings application.
The application is available from the Nokia Store.
MPD Remote
MPD Remote is a Nokia N9 remote control client application for the Music Player Daemon.
It allows you to connect to an MPD instance over the network and remotely control it.
The usual music player controls (play/pause/stop/previous/next), shuffle/repeat control and editing the play queue by adding songs from the remote filesystem are supported. The application is available from the Nokia Store.
Framely
Framely
was a personal video sharing platform (social network). It was a fun way
to capture, share and see moving memories. These videos were shared on a
virtual wall, which gave an unique viewing experience. I designed and
implemented the entire platform with features ranging from video capture,
seamless playback, graphical themes, Facebook connect, push notifications
and in-app purchases on the iPhone/iPad client side to social network user
management, access control and cloud storage on the J2EE server side. In
addition Amazon Web Services were used. Framely was available from the
App Store since November 10th, 2013.
Wedding Kiosk
Wedding Kiosk
was a simple-to-use video kiosk and interactive guestbook for the iPad.
I designed and implemented the app with features ranging from video capture,
seamless playback, graphical themes and in-app purchases on the iPad client
side to access control and cloud storage on the J2EE server side. In
addition Amazon Web Services were used. Wedding Kiosk was available from the
App Store since May 23th, 2014.
Noir
Noir is a non-linear short story for a Music and Media course at
CM&T. It was available for the public in
the MUU gallery from April 22nd to May 4th,
2003. Noir was done together with Panu
Aaltio and with voice acting by Simon Boswell. It uses JRm-core, my
portable demo engine.
Damicon TV Commercial
A TV commercial made for
Damicon Kraa Oy. It was shown on the ATV
channel in Helsinki during December 2002. The commercial was based on
Hätä
and also uses JRm-core, my portable demo engine.
www.jormas.com
dA JoRMaS is a group
of people sharing the interest in techno music related multimedia production
creation using Amiga
(and these days also other) computers. I am responsible for the technical
implementation of dA
JoRMaS' web site.
Miscellaneous
- iPhone application alternatives for the Nokia N9 lists Nokia N9 alternatives for some of the most used iPhone applications.
- JS2MIDI. Maps joystick buttons to MIDI notes. It can be used to control a MIDI device using a Guitar Hero World Tour drum kit, for instance.
- 68k softsynth. A software synthesizer for the 68000 microprocessor. It features 3 oscillators (saw/square), noise, hard sync, ring modulation, frequency modulation, 3 envelopes, 2 LFOs and a 24dB resonant filter. Realtime on 68040/40. Example sounds: 1, 2, 3
- The UNIX version of XPK. A library system for easier handling of crunching and decrunching.
- dA JoRMaS' productions. I've been involved in about 100 Amiga demo scene productions of which most I have programmed. I've also composed quite a lot of music for them.
- Raw saver plug-in for The GIMP. A plug-in for The GIMP for saving images as raw data.
- EPSEd. An editor for the Ensoniq EPS16+ Digital Sampling Workstation.
- 8210play. A ringing tone editor and converter for which I wrote the UI.
These pages ©1996-2022 Vesa Halttunen.