News

Open Source

Docs + other stuff

Atari, Hatari and games

Last century

Links and trivia

Contact:
oak (a) helsinkinet fi

News and History of things I'm (or have recently been) involved with

2013

  • 2013/11: Replaced the broken thermostat in our fridgerator. Except for the problem of getting the capillary pipe attached properly back behind the cooling element, that was surprisingly simple.
  • 2013/10: Hacky port of Douglas' Atari ST Doom-style rendering engine from GCC 4.x cross-compiler to native GCC 2.x (needed to disable a lot of inline asm with newer syntax), and some profiling/automation for that.
  • 2013/09: Contributed support for most of Line-A functions to EmuTOS (included into EmuTOS CVS-20130925 snapshot). This allows many additional (old) games to work with it.
  • 2013/08: Support for profiling loops (to optimize register waits and DSP / CPU communication) and several debugger improvements to Hatari.
  • 2013/07: Spent a week in Barcelona with my sister's family. We had an apartment with a (shared) pool as we thought that children would like it. Whole week had hot weather, so it turned out that adults appreciated the pool too, after walking hours around the city...
  • 2013/07: EmuTOS v0.9.1 released!
  • 2013/06: Hatari v1.7 released!
  • 2013/06: Hatari support for outputting backtraces while profiling. Automated Hatari profiling support to Douglas' Quake 1 Atari port.
  • 2013/05: Many small fixes to Hatari in preparation for v1.7 release + some documentation updates. Doom profiling improvements and some optimizations to its startup.
  • 2013/05: Started working at Intel.
  • 2013/05: Added support for building Douglas' Atari Doom I/II port natively with Vasm & GCC 2.95 and wrote some automated profiling for it. Fixed more profiler corner-cases and (finally) "finished" documentation for Hatari profiler and its post-processor, debugger section is now >1/3 of the whole Hatari manual...
  • 2013/04: Profiled Quake2 startup and Doom frame-rendering under Falcon emulation and found out that Vincent's MiNTlib (Atari libc) build is lacking symbols for the part taking over half of the CPU... After adding symbols manually and reading MiNTlib sources, I found the cause and Douglas fixed the Doom sources.
  • 2013/04: Added support for collecting accurate subroutine call costs to profiler as costs cannot be reliably calculated in post-processing. Fixed many (hopefully all) corner case issues in the CPU and DSP profiling functionality, added some minor post-processing features, and post-processessor installation to the system. Added symbol importing from DRI/GST format symbol tables in Atari binaries and some minor debugger features + fixes. Updated debugger and profiler documentation in Hatari manual.
  • 2013/03: After many new features and bugfixes, Hatari profiler and its data post-processor are starting to be pretty complete. Profiling data can be used e.g. to verify accuracy of rest of the emulator. Adding Callgrind format output to be able to view the profile data in Kcachegrind took only a couple of hours, but unfortunately Kcachegrind source view doesn't handle TABs properly in the profile assembly data.
  • 2013/03: Investigated Badmood (Doom I/II WAD BSP viewer for Falcon) MIDI player and came up with a MIDI format 1 to format 0 (i.e. from multi to single track) converter which produces MIDI files that this player accepts.
  • 2013/03: EmuTOS v0.9.0 released. It includes important improvements for emulator usage and a bug fix to a drawing bug for which I wrote a test-case. Did a lot of testing for it and contributed some doc update + code cleanup patches.
  • 2013/02: Added caller information to Hatari emulator profiler output and callgraph generation to its post-processor. Provided with it a graph of what calls are done and where the time goes on EmuTOS disk info functionality.
  • 2013/01: Added preliminary CPU cycles & cache miss support to Hatari profiler and wrote profiler disassembly post-processor which (with suitable symbol address information) provides function level information on executed DSP & CPU instructions, used cycles and CPU cache misses.
  • 2013/01: Read about "Modern C++", re-learned C++ & Qt and wrote a Qt settings editor and launcher for/included with my Mortar game.
  • 2013/01: Hatari debugger is used to debug issues with FPGA Atari implementation, and to optimize Doom for (16Mhz) Falcon by splitting the work appropriately between CPU and DSP.
  • 2013/01: Did a lot of Aranym testing, including running the latest m68k version of Debian, which is much slower than m68k Debian Sarge at boot & login. Boot is slow due to udev etc, login because PAM is now by default using sha512 instead of md5 for password encryption.

2012

  • 2012/12: Updated versions of Clac and Mortar and found more issues with AHCC and VBCC C-compilers and their standard libraries. Some experimentation with LZO and LZ77 compression/decompression speeds on Atari.
  • 2012/11: Did lots of testing for the experimental standalone Atari TOS version of VBCC compiler (latest VBCC 0.9b release was built with GCC/MiNTlib, not by VBCC itself) and found several issues when it's run under TOS and several corner case issues with the compiler code generation. Provided a native C-build environment with AHCC and VBCC for Hatari on my Atari development page.
  • 2012/11: Added "next" and "step" shortcuts and fixed a lot of (mostly corner-case) Hatari debugger issues based on feedback from Frank Wille (VBCC compiler Amiga/Atari backend maintainer) and what I noticed while debugging Hatari GEMDOS HD emulation Pexec() bug reported by him. Made Hatari dissassembler selection run-time configurable (as UAE CPU core's internal dissassember and the default external disassembler have their own pros & cons).
  • 2012/10: Added separate page for my old Atari programs and moved Filler & PUNSSi info from open SW page to there. It has information and links to sources of also other older Atari programs I've ported to ANSI-C and newer compilers. I'm doing this to test new AHCC and VBCC C-compiler versions and their m68k/ColdFire support.
  • 2012/10: Added sources for Python m68k instruction encoder and my old WWS Python bindings to open SW page.
  • 2012/09: As Nokia is getting rid of even its remaining Linux operations, I resigned from there and I'm now looking for a new job.
  • 2012/09: Debugged issues Filler has with multitasking AES (mainly XaAES / fullscreen) and fVDI VDI replacement (drawing operations), reported bugs on them on the MiNT mailing list and added workarounds for them to Filler code. Built also a ColdFire version of Filler with latest AHCC that is compatible with XaAES and fVDI, which Vincent kindly verified to work on a FireBee.
  • 2012/08: Spent weekend and few evenings writing a simple new game for Atari computers and emulators called Filler.
    Some time went to debugging evnt_multi() button input handling bug I found in EmuTOS.
  • 2012/07: Spent a week driving around Sottland with Kirsi and my sister's family. Some things that stuck to mind from the trip were:
    • The rented car's tire breaking completely, less than 2 miles out of the Airport, at night.
    • The tropical paradise looking, but really cold beach at Fraserburgh.
    • Climbing to the clouds at Ben Nevis mountain.
    • In Oban, the children's chocolate making course (on which I acted as interpreter for my nieces, aged 8 and 10) and the fresh plate of langoustines later in a seafront restaurant. The crustacean put up a fight, but I finally won it with only minor casulties...
    • Everything being deep-fried, even pizza and Mars bars.
    • The large tide differences, causing hundred(s) of meters of revealed seabottom with beached boats.
    The views on the country side around Scottland were memorable, I hope to visit some of those places again, with more time.
  • 2012/07: PR1.3 software update for N9.
  • 2012/06: Hatari v1.6.2 released with a boatload of fixes all over + support for Videl borders. My TOS (bootup) tester supports now all TOS versions and Hatari HW configurations.
  • 2012/06: EmuTOS v0.8.7 released with resolution switching and full TT + Falcon XBIOS support. It also fixes a large number of VDI rendering and crash issues (for which I've written test programs).
  • 2012/05: ARM Thumb support fixed in Functracer v1.4 by patches from Siarhei.
  • 2012/04: AHCC v4.10 gives warnings for issues (taking address of syscall, nested comments) for which I got in earlier version just mystery linker errors.
  • 2012/02: PR1.2 software update for N9.
  • 2012/01: Hatari v1.6 and v1.6.1 released with more accurate FDC emulation and 030 MMU emulation with WinUAE CPU core.

2011

  • 2011/12: Hatari hosting moved from BerliOS to TuxFamily as it was announced during fall that BerliOS will close down.
  • 2011/11: AHCC v4.8 with fix to bus error and v_pieslice bug I've found with my EmuTOS VDI testers.
  • 2011/11: PR1.1 software update for N9.
  • 2011/11: EmuTOS v0.8.6 released which is VFAT compatible and fixes serious VDI arrow mis-drawing/crasher bug (for which I provided a minimal test-case as it was triggered by several nice GEM games).
  • 2011/09: N9 is finally in shops...
  • 2011/08: Ubuntu/Linaro tracing release includes some Maemo (tracing) tools. For more details, see the blueprint.
  • 2011/07: Hatari v1.5 is released with large improvements to debugger and sound emulation + optional WinAUE support for more accurate 030+ CPU emulation.
  • 2011/06: N9, Nokia's best phone at the moment (and running Linux) is announced.
  • 2011/06: AHCC v4.5 and v4.6 Atari C-compiler versions with completed ColdFire instruction set support and fixes to additional issue I had + atan2 from pmlib (which I needed to build Ballerburg with AHCC).
  • 2011/04: Spent a week in Paris with Kirsi. This time we got only few hundred photos. The best of the traditional tourist places were the ones with the most memorable architecture or statues: Additionally:
    • we toured several of the parks in Paris, the favorite being Buttes Chaumont with its children's Easter egg hunt and hills...
    • The most memorable thing from the Arc de Triomphe were the police with their submachine guns and from Champs-Élysées, the luxory Macaron shop and the amazingly long queue in front of the Luis Vutton shop (personally I wouldn't buy anything that expensive if I would need to queue for it)...
    • Best food on the trip we ate in restaurant L'Avant-Goût!
  • 2011/02: AHCC v4.4 with preliminary ColdFire support and fixes to some issues I've reported, is released.

2010

2009

2008

2007

2006

2005

  • 2005/11: Nokia 770 with OS2005 is released.
  • 2005/5: Was at Guadec 2005 in Stuttgart.
  • 2005/5: Nokia 770, Nokia's first Linux based internet tablet, is announced.
  • 2005/4: Gramps v2.0 is released.
  • 2005/2: Added a couple of new screen update modes to Mortar game source code: either blit each updated screen area separately or coalesce successive regions together if they overlap. Earlier there was just max. updated area rectangle.
  • 2005/1: Major update to the Gramps statistics chart plugin. Takes advantage of the report plugin API rewrite discussed with Alex Roitman.

2004

  • 2004/10: Fixed compilation warnings in W window system and Makefile bug in the Wyrms W game.
  • 2004/9: I created a bar graphics statistics report plugin for Gramps.
  • 2004/7: I translated Gramps, the Gnome genealogy program to Finnish.
  • 2004/5: Mortar updated. Nicer wind meter, frame time fix (game speed / CPU usage fix for fast machines).
  • 2004/4: Thomas Huth kindly cross-compiled PUNSSi for Atari, so that I could include the binary with PUNSSi source code.
  • 2004/3: Did some performance improvements for sound to the Hatari Atari ST emulator + minor code cleanups. I've heard that Hatari can be used with sound on some PDA machines, e.g. on Sharp Zaurus.
  • 2004/2: I found the code for my PUNSSi game from one of my old Atari floppies, so I put it up here. I also added links to Solarwolf graphics I've created (both of these things are under GPL).

2003

  • 2003/8: Documented Scratchbox design and the problems it's aimed to solve with Erik, Lauri and Veli.
  • 2003/7: Scratchbox, a toolset & environment for cross-compiling whole Linux distributions (based on ideas in the FOSDEM presentation below) gets its own www-site.
  • 2003/6: Mortar has new cannon and shot images and some Makefile improvements.
  • 2003/5: Added SDL backed to W Window System, updated W-Lua interpreter to Lua v4 and updated the HTML documentation to current state. W toolkit is now in the same package with the rest of WWS.
  • 2003/3: Had a presentation about Cross-compiling Open Source in FOSDEM 2003.
  • 2003/1: Wrote some code and animated POV models (dragon, cannon, zeppelin etc) for Airstrike game.

2002

  • 2002/9: Made a lot of sounds with Spiral Synth.
  • 2002/7: Validated and uploaded the poems page from my archives.
  • 2002/6: Uploaded my script (shell, python etc) collection.
  • 2002/5: 16-bit framebuffer support added to Mortar.
  • 2002/4: Naputus, my first PyGame program.

2001

  • 2001/10: Public version of the GTK Toolkit v1 Evaluation document.
  • 2001/10: SDL/SDL_mixer port of Mortar game. Game images can now be compressed.
  • 2001/9: Moved from Adcore to Movial.

2000

  • 2000/10: WWS has preliminary Lua bindings (Lua is one of the smallest script languages and can be programmed in OO-style) for Wlib and W toolkit.
  • 2000/7: WWS wterm color attribute handling is fixed (by Benjamin Sittler) and there are some minor fixes and updates to makefiles and sources.

1999

  • 1999/10: Frank Wille brought W window system Amiga NetBSD port upto date.
  • 1999/9: Amiga port of Mortar game.
  • 1999/5: WWS has now separate key press and release events. I needed this for the W port of Heretic. MacMiNT port of W (by Jonathan Oddie).
  • 1999/3: Faster GGI version of Mortar game.
  • 1999/1: Wt support for W special keys (arrows etc).
  • 1999/1: x86-linux FB/GPM support for W.

1998

  • 1998: I'm now the W Window System and Wt maintainer. For more information on WWS, see my historical pages.
  • 1998: W, GGI, FB and TOS version of the Mortar game with GSI sample and midi playing support.

1997

  • 1997: Started working at Netmill doing www-sites with PHP and SQL on top of LAMP stack. (Netmill was later bought by a Swedish technology company called Information Highway which after several other purchases and a merger with a Danish consultation company and changed its name to Adcore.)
  • 1997: Wlib palette, image block handling and font handling completed with appropiate server modifications. All Wlib functions have now manual pages. W linux version works now also on x86.
  • 1997: Ported the Mutt language and text editor (ME) v3 to Linux. I had used a GEM version of ME2 on Atari and wanted to use ME on Linux console too...
  • 1997: PUNSSi game got rewritten 680x0 asm-code for the keyboard handler, which can now emulate joysticks.

1996

  • 1996: W window system v1 releases 2/3 (resizable windows, clipping, polygons, color, GCs and graphics modes) from Tesche. W toolkit and Wetscape browser from Kay. Made networked board game framework and did a couple of games for W and Wt.

1995

  • 1995: Created PUNSSi, my first arcade game for Atari. Multitasking friendly, supports joystick and works in the monochrome mode. I even got a postcard for it from overseas.
  • 1995: Updated version of Clac calculator (with readline and Atari GEM user interfaces). Used it in testing two new free Atari C-compilers. Clac GUI popup code is used in the Mgif graphics manipulation program which included convolution filters, DSP code etc. before any other Open Source image viewer / editor I know of.

1994

  • 1994: Made ST-Guide hypertext versions of some of the project Gutenberg texts and Alko's Cocktail Guide.
  • 1994: Clac command line calculator is created. A simplified version of it is included as a column filter for Edith, a commercial programmer's text editor for Atari. A message passing version of Clac for MiNT.

Even earlier

Wrote a midi player, sound synthetizer and ASCII graphics editor in GFA Basic for Atari ST. Sound synthetizer had some supporting assembler code to actually create the sounds fast enough according to what user had selected in the GUI.

Copyright © 2001-2013 by Eero Tamminen

Valid XHTML 1.0!