Revision 2013

This year I spent Easter in other way than in past years. Instead of staying with the family I went for demoscene party — Revision 2013 in Saarbrücken.

Please note (RSS readers mostly) that this post will contain many YouTube videos embedded. Please go to my blog to have them properly displayed (I use WordPress + Jetpack plugin to embed them).


Took us 12 hours to get there (mostly due to waiting on TXL and FRA airports) but we managed to be at party place around 19:00 on Friday. Registered, met friends and went to Kirchberg Hotel to drop bags.

Hotel has two stars but was perfectly fine for such trip as our. Clean bed, good breakfast, quiet place (except church bells at 10:00 on Sunday). All just ~2km from E-Werk where Revision took place.

Back to party, more people to meet, discuss a bit with guys from ARM Ltd about Samsung Chromebook, Cortex-A15, Mali etc. One guy joined with his Chromebook and recognized me when I asked “may I fry your speakers?” 😀

Timetable listed one interesting thing: “Curio’s 2012 Essentials” which was ~1 hour long set of PC demos from previous year. It was nice as I was totally out of PC scene so was able to check how it looks.

Taxi to hotel was just 6€ ;D


Attended “How to start writing compilers without a Ph.D” seminar as it sounded interesting to me. And it was 😉 Video below:


Also had discussion with ARM guys about presenting not only technical demos (like Unreal Engine one) but also to show some demoscene productions. Soon “Beginnings” by Elude started on one of Nexus 10 tablets and was working nice. But coder who wrote it was not so happy about that when we discussed that later… I think that it would be a good thing for ARM Mali team to get some good demoscene groups to write demos for Android platform to amaze people with nice looking productions. ARM even had seminar for OpenGLES 3.0 API:


But Saturday was also full of competitions. Tracked music, oldskool music (read: 8-bit mostly), photo, animation/video, game, ascii/ansi, Amiga intros, PC 4K intros, Oldskool demos (8-bit, Atari STE, Amiga 500)…

There were many entries in compos where productions from long time no see groups/people were presented. For example in oldskool demo we got “RINK A DINK REDUX” from Lemon which was astonishing:


There were also demos for Amstrad CPC, MSX1, ZX Spectrum, Commodore 64 and other platforms. Oldskool music compo had even NES entry 😉

But it was also visible that demoscene is not full of amateurs like it was years ago. Some of videos in animation/video compo had professional level. “Lübeck 24x7x365” took 50 days of recording but was really nice:


There was a concert in the evening… Ear plugs were not strong enough for me so I spent most of time outside talking with people. Next time need to take some better hearing protectors…


As Saturday ended really late for us and competitions were planned for 13:00 we decided to not rush and stay in bed longer 🙂 But at around 10:00 bells in local church started their music compo so we were not able to sleep anymore.

We got music, graphics, wild and of course PC 64K intro, web browser demo/intro, Amiga demo and PC demo competitions that day.

Graphics one was won by “Double Trouble by the Royal Forces” made by forcer & prince. Huge amount of details which was not so visible on big screen as it was on a tunnel’s wall where it was hanging as few square meters photo copy.

Wild compo… Man, that was something great. From productions made for Arduino (with some shields) though ARM Cortex-M3 one to interesting hack by Dexter/Abyss which shown one view on monochrome TV and second on oscilloscope while both were connected to Composite video signal only… See it for yourself (or grab separate entries from FTP server):


Then DJ set by h0ffman (skipped by me) and clue of party — Amiga and PC demos/intros. Different quality but most of them was really good — both from technical or design view (but not always from both at same time).

But as I am not a coder I looked mostly at design and audio/video part. All those names like ‘ray matching’ etc meant nothing to me so when someone tried to explain why demo which I did not like was so great I just told similar thing ;D


Wake up, breakfast, pack, pay, go to party place. We did not manage to get there before voting ended so not voted for PC demo compo entries. Greeted those who was still present, discussed a bit and then return trip… This time just ~9 hours but next time (if there will be such) we plan to go there by car. Less time needed.

Random stuff

I liked how party was organized — it was my first such event abroad and many people told me that Revision is the last demoscene party in old style. I really liked it. Saw many different platforms like MSX1, MSX2, C= VIC20, Amstrad CPC or Videoton…

Due to Easter time shops where closed on Sunday/Monday but it was not a problem for me as there was free coffee/tea, beer/water/orange juice was available to buy at low price (2.5€ for 0.5l beer) and there was hot food served all time (like 10:00 – midnight) also not so expensive.

Weather could be better as it was cold but at least there was no snow (which we still have here).

It was also nice to see Kiero at work as he was finishing “Machinist” Amiga demo on his x86-64 laptop with WinUAE running fullscreen. I was surprised that ASUS UL30A is capable to run it fast enough.

Amount of discussions with people is probably uncountable. Chromebook, ARM, Android, Amiga, scene were just subset of topics…

Will I go there next year? Will see…

25th anniversary of Commodore Amiga

When I was walking though Prague with my beloved wife the world was celebrating 25th anniversary of Commodore Amiga.

First time I met Amiga in early 90’s. My friends had Amiga 500/500+ models and another one (Rafał Kotyński) just bought Amiga 1200 to replace ageing Commodore 64. And due to him I got impressed by power of AmigaOS and how much things could be done on limited resources.

In September 1995 I bought Amiga 600. It was old at that time but allowed to connect hard drive which I bought on 10th October same year. Why I remember that date? My A600 lacked RTC so each time I booted system it set date of creation of system partition as current one. With 1MB of RAM and ~400MB of storage it was nice platform to learn programming.

My first application was written in High Speed Pascal and it was very simple antivirus as lot of my files was infected with “Happy New Year 1996” crap. I remember that I compared clean and infected file, disassembled both and removed all entries to virus code. Some time later I got Virus-Z and it cured whole system.

After few years I sold a bit upgraded version (2MB ram) and kept hard drive for Amiga 1200 model. New hardware, new possibilities. Faster cpu, more graphics capabilities which I did not used because my primary display was still 12″ green monitor which I used with my 8bit Atari 65XE in a past. 704×260 resolution was not so great so when something got broken again I bought “new” display for my machine: 14″ vga mono monitor. Move to 720×480 in 16 shades of grey was big change.

I selected all shades to follow MagicWB colour scheme as much as it was possible and converted wallpapers using script in ADPro. Effect was nice and usable.

For most of time I used this computer for programming, entertainment and many others but games (which for many people were main reason to buy Amiga) never took most of my time. There were two exceptions: Civilisation and Angband (including variants). Those took me hours and hours.

What I liked in Amiga was operating system. When it appeared on market there was MacOS, Atari TOS and Microsoft did not yet had usable Windows released. Many things were great:

  • multitasking — before it was only in Unix systems
  • DataTypes (think “codecs” for any kind of data — open/save files in different formats without having to use lot of libraries)
  • localisation — currently *.po files shows that idea was right
  • flexible partitioning scheme – no /dev/sdaX, no C:\ but partitions which could have own names (DH0: by default, SH0: on my system) and filesystem labels (Boocik:, Szafa: were what I used)
  • Magic User Interface toolkit — user could configure look & feel at a level which no other UI toolkit ever provided
  • assigns — all fonts resided in Fonts: but this could be a list of directories (something like $PATH but more advanced)
  • ability to replace any library call with own code — this gave a possibility to improve system behaviour in a ways which authors never thought about
  • screens — hard to describe for those which never used — extra desktops for use with applications does not even give half of it
  • RAM disk which took only required amount of memory
  • Reset proof fixed size RAM disk (which could be used as system boot drive)
  • two stage icons with application configuration stored inside (in tooltypes)
  • comment field in filesystem for any object
  • XPK and XFD libraries which allowed to (de)compress any kind of data with any available method

And lot more.

I wrote few applications for AmigaOS. Some of them became popular and I was able to expand my computer with addons with money which I got from registrations (yes, I wrote shareware program). It started with 68000/1MB ram when I had to close code editor (great CygnusEd) to be able to compile to 68040 cpu with 64+2MB of memory at the end. AmigaE was language which was both easy to use and powerful to write programs never mind how complex. Add few libraries to it and you can do anything. Today even ‘hello world’ takes few kilobytes on my Linux system ;(

I could buy 386sx instead of Amiga 600 but then all I would learn would be how to do things in MS DOS or MS Windows 3.x as there was no x86 people around which would use Linux, BSD or OS/2. This would be lost years as now after few years of using AmigaOS I know what good operating system can give to hardware when resources are very limited.

A dla tych, co dotarli do końca polecam także post napisany przez Opiego.

Released sources of my Protracker module player

I just released sources of my Protracker module player. What this application is and what it can do you can read in one of my older posts: I wrote module player in Qt.

What are features:

  • UI created with Qt Designer (so it is easy to change if you want)
  • separate UI for desktop and other for Maemo5 (automatically selectable during build)
  • Maemo5 uses 3 stacked windows just like UI Style Guide requires
  • uses Phonon to play (with GStreamer modplug plugin underneath)
  • fetching modules from modland archive
  • author/song selection
  • playing next song on song end (with looping on author)
  • seeking (works only in desktop version — bug reported for Maemo5 version)

Things to do:

  • error handling (especially fetching related)
  • moving of download progressbar to QDialog
  • playing counters
  • favorites
  • playlists

Everything licensed under LGPL v2.1 — same license as Qt uses. That because I used many Qt examples as base for my application.

How to get it? I made repository on Gitorius server — go there, fetch, try, comment, share improvements.

I wrote module player in Qt

It was over eight years ago when I wrote application last time. Since then I had my hands in countless programs, libraries etc. but never wrote something new from scratch. Until recently…

Some time ago Mickey Lauer presented his module player for iPhone. I like the idea and started thinking about creating such one for my devices. After some discussions about Modland music collection with him I started coding.

To make things as simple as possible I used Qt framework with Phonon for playing (GStreamer modplug plugin underneath). Current version maybe is not so beauty but it is usable and works fine. Application will be GPL — I used code from Qt demos, read random snippets of code from other programs etc.

Things already implemented:

  • playing local modules
  • fetching modules from modland archive
  • author/song selection
  • playing next song on song end (with looping on author)
  • seeking
  • volume change (will probably get removed from UI)

Things to do:

  • error handling (especially fetching related)
  • download progressbar
  • playing counters
  • favorites
  • playlists
  • small screen usability (stacked windows/tabs)
  • and others…


For readers: what is a real name of Lord Performer? 😀

Started 10 year with Debian

Today I talked with Dodji Seketeli about misc things and noticed that I started 10 year of using Debian GNU/Linux.

First attempts were on my Amiga 1200 equipped with Apollo 1240/40 expansion board (I had 32/48/64MB of RAM on it) and Fast-ATA controller. After installation of “slink” I was playing with system and then moved to “potato”. In Polish Amiga magazine “eXec” I put my article about installing Debian on Amiga systems and also updated “potato” official installation guide. Those were crazy times. All I had was VGA mono text console because running X11 on AGA graphics chipset resulted in very slow display so it was unusable for any serious use. But I learnt lot of things which I was not able to learn on my user accounts on misc x86 Linux boxes. For example with my friend we connected his Commodore 128D via serial line and used to do email/www/irc from it (via serial->ssh connection).

It was also first time when I used cross-compiler — I used PentiumII based Linux machine to build Amiga (m68k) kernels. It gave nice speedup (also due to much faster harddisk interface).

In 2001 I sold my Amiga system and moved to x86 land. Here amount of available Linux distributions was much wider (for Amiga/m68k only Debian was available) but as I knew Debian I decided to stick with it. After years I have to admit that it was one of my best decisions when it comes to computers.

I even used Debian on 386sx based PC with 5MB of memory — it was nice terminal to my main box 🙂

Why Debian and not RedHat/Mandriva/LFS/Gentoo? I think that this is due to DFSG and that license stuff is very good solved. As a result I do not have to check license of application if I want to hack it. I only need to check does it is in “main” part of repository.

OK, some people can say that Debian has very long release cycle… But I use “sid” (aka “unstable”) not releases (aka “stable”) so the only thing which touch my systems is sometimes lack of newest software (but usually it lands in “experimental” branch).

Am I programmer?

Many people think that I am programmer… But what is definition of programmer?

Wikipedia says: A programmer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software.

My last desktop program was Multiview for AmigaOS 2.04+ which ended life in 2000 year (after over 3 years of development). Then I changed platform to Debian GNU/Linux and started to mainly use software instead of writing it. Of course during studies I wrote some code in few languages (C, C++, Z80 Asm, PIC16 Asm/C/BASIC and maybe some other) but none of them was something to be used by normal people.

For few years my work title was “PHP programmer” (with some variants) but writing code for websites is different thing then for desktop computers.

Eric Sink wrote one day great post about programmers and developers. According to this I am rather developer then programmer.

My programmer part of me know how to fix code written in PHP (used this language for few years to get paid), Python (but never got proper amount of knowledge about it) and few others — one day I had to debug small application written in 8086 assembler which I saw for first time — and all I had was source code printout.

But I also many times worked with clients to get informations what they really need to be done in project and those discussions changed many aspects of first draft of specifications. Then transforming specs into design and finally into code which gives working service at the end. Providing help to few ~60 years old ladies which use CMS written by you can be hard job — especially when documentation is not yet created so no one else know each system parts.

But there are many work titles to choose from: Programmer, Developer, Engineer, Software (Engineer / Architect / Developer / Designer) so I probably will stay with Developer and will not try to explain too much what exactly I am doing for living 🙂

Happy New Year 2006

HNY… 10 years ago I had Amiga 600 and got ‘Happy New Year 96’ virus with some software. It was simple virii but from time to time I had system crashes which was not there before. I remember how I disassembled it and wrote my first Amiga util.. It was simple ‘antivirus’ app which read infected file and replaced some viri code by jumps to not get it initialized. It was simple, slow, written in Pascal but it worked 😉

Happy New Year for all!

20th Birthday of Commodore Amiga

It was 20 years ago when Commodore Amiga (the initial name of the Amiga 1000) was unveiled officially at the Lincoln Centre in New York.

I had Amiga 600 (with HDD and 2MB RAM) then switched to A1200 which got many upgrades like faster CPU (68030/50 and then 68040/40), additional IDE controler and more RAM (64MB FastRAM was very big amount of RAM 🙂

Now I don’t have Amiga machine but does not feel that I need one — that time passed away few years ago.