Interview with Mahoney

Published in Vandalism News #59
Performed by Jazzcat

Having first met Mahoney at X2010 in a brief encounter, I had in mind to provide an interview with him ever since. This profile presents an interesting past that many of you would have been entertained by and a curious future with his next production-design being increasingly difficult to predict.


V) Thanks for taking the time for this interview Pex and welcome to Vandalism News, please introduce yourself to the audience.

M) One of these is false:

* I was born Per, but everyone has always called me Pex

* I created Noisetracker for Amiga 500

* I've made the world's largest spritescroller on C64

* I'm the Norwegian champion of vocal music 1998

* I've recorded two CDs with a cappella remakes of C64 music

* I'm C64-Remixer of the year 2002

* I swam half a marathon when I was 12

* I design chips for GPU stuff at work

* My favourite colour is white

* I do new stuff with old stuff


Any idea which one is wrong?

The first one. My grandmother called me Per.



V) What made you interested in the C=64?

M) Panic 64 by Ian Gray. Crazy Climber. My neighbour and I used to play these, while my brother had a Spectrum 16k, and through pokes came the curiosity of finding out what a poke actually did. So, I got the programmer's reference guide, and took one step at a time.



V) Tell us about those early C64 days, when gods were young and woodlands green...

M) To start with, I was not aware of the scene. I was aware of loads of people copying games, meeting up with the newest turbo tapes, and doing tape-to-tape copies of commercial games - in the store while "trying out" a new game before not buying it.

But I was more interested in creating stuff and finding out how this marvellous computer worked instead of playing. So, I found a disassembler called dismon - and wrote my own C64 cartridge with dismon, turbo tape and disk turbo on it - and started finding out what the VIC-chip in the C64 could do, how sprites worked and how to be creative with one of the most creative computers ever made. 

Somehow, my friends liked to see what kind of scrollers and programs I could create, so somehow almost everything that I've ever done is still around. And, reaching the age of 14, I had fan letters arriving every week in the post, where guys all around the world showed their appreciation of this new kind of "art".

Of course, you'll need to take everything I write with a grain of salt - this all happened 25 years ago - and human memory is kind of volatile. ;)

Musik Run/Stop


V) You rediscovered the C64 scene via the LCP party? What made you revisit this ageing beast?

M) Well, the LCP party was not really the reason. I was very impressed with "modern" (post 2000) C64 demos. I thought I "knew it all" already - but cross compilation together with newly found VIC-tricks allowed demos that I thought was impossible to create.

Again, my curiosity drove me to try to figure out how demos were made. And I made a serious attempt on doing C64 cross development myself. Oh, what a joy - having infinite memory, actually writing assembly source code instead of typing mnemonics directly into memory - and being able to draw and pre-process data on a powerful computer. Demo making became so much easier, which also enabled the creating of so much more complex effects. 

Anyway, I started to create C64 remixes in 2001 - and suddenly I found myself going to Brighton in UK to meet Martin Galway and Rob Hubbard among others at a Bit Live event. And, why not - I created a tribute C64 demo for the guys in Press Play on Tape to be shown at the event.

That was the reasons, as far as I know.



V) Tell us about the other platforms you have been involved in?

M) Uh... most of them, I think. But C64 is the platform that survives due to its remarkable mix of exploitable hardware bugs, undocumented CPU op-codes, and well defined limitations. 

But, I have made my share of Amiga 500 demos - in Mahoney & Kaktus style - and the Noisetracker, which was one of the first music programs that actually didn't sound too bad. You could create something "almost like real music".

And, I've also programmed ABC80, Nintendo 64, calculators, PCs, FPGAs, OpenGL, Android, HTML, CSS, PHP, MySQL, C++, C, Java, 68000, Z80, X86, pascal, Perl, basic, python, actionscript, openCL, JavaScript, WebGL, VHDL, Verilog, Tcl, bash, bat and GLSL shaders. And probably something else I've already forgotten.



V) What is good and what is bad about the C64 scene so far?

M) The scene is what is it - it evolves and changes all the time. Good or bad? Well, does it matter? Personally, I've made loads of friends and have always had lots of fun. CSDB might be fun, but I'm not there - and for me the scene is about the people that I physically meet. Living through Internet isn't my cup of tea.



V) It appears you have an autonomous, almost scientific approach to the way you do things. Very difficult to predict what is coming next. What is the drive behind the recent productions and how they came to be and what does the future hold for things you want to achieve on this machine?

M) I am an engineer, and I want to invent new stuff.

I was very impressed with what SounDemoN, THCM and Mixer did with the SID chip in the Vicious SID demo. And also, realised that the area of audio compression was completely ignored on the C64 - so I tried to make the C64 sing. 

I have two big projects planned for the C64. Maybe someday I also will find the time to actually do something about them. I had originally planned that "Lazy Jones 2012" would be released at X'2012 - but we're getting a new family member at that time, which of course changes things. But there will be more opportunities for that one, so don't despair! I'm halfway though doing an awesome "Bruce Lee get's kicked" sub-game, and there are loads of fun parts that could be done.

The other project would be a C64 music program "stretchtracker", supporting 4 sample channels where 3 of them would support real-time time stretch and pitching + 2 channels of SID sounds, and filters. There would be _no_ raster time left while playing (in a demo you would have to "hide" this as I did in my Storebror demo). This would _finally_ give me the possibility of doing a Visa Roester a cappella version on the C64 itself! I have all the details pinned in my head, but there is very little driving me to do something about it! Life is fun, so let's not waste it on implementing a music program nobody will use, and that only a couple of people on this earth could ever understand the complexity of!

V) Being an engineer and looking at things with that kind of mind, how would you compare the C64 against its younger brother in the Amiga, both in terms of hardware and scene?

M) The C64 is funnier. It has lower specs and less thought-through hardware. It has more bugs that creatively can be used to make it do things the engineers never thought would be possible. The Amiga was too good. And, it evolved. Which means that when you try to show your awesome Amiga 500 demo nowadays, people just hear "Amiga demo", and you're competing with 5 times faster Amiga1200 or 3000 or whatever. That's not fair.

And, the Amiga had too much memory and graphics capabilities, turning the demo scene into a design mania, taking away the fun of clever programming/timing tricks. [:-D]



V) DWCave (2-Player), explain how that was achieved live at the Gubbdata 0.9 party... I got to see those little pre-humans swimming for hours on the party stream!

M) DWCave is an awesome game, in 512 bytes of code on the C64. One of the youngsters at the Gubbdata meeting (the kids were having a LAN party, and we C64 nerds were having a social get-together with vintage computers) had an idea of DWCave being a two-player coop game. This was 2 hours before the competition deadline, so I fired up the first disassembler I could find, and added support for another player - duplicating parts of the code and adding what's needed. So, in something like 850 bytes, there was a two-player version of the game. I thought it would be a one-on-one type game where you wanted to beat your competition, but re-adding the score counter at the end of a game, it actually turned out to be a two-player cooperative game where you both tried to reach as high a score as possible.




V) What "modern" (post 2000) C64 demos in particular have impressed you and why?

M) I'm impressed by the stubbornness of some coders, like the "S:T Lars Meeting III - Invite" by JackAsser (2007) where you actually manage to do useful stuff _while_ keeping the timing of an ESCOS routine. Clever engineering, indeed!

And, the Vicious Sid by THCM, SounDemoN and Mixer (2008) just oozes with well written assembler optimisations. I'm not a fan of huge 15-minute demos, but that's just me!



V) Do you feel we have ignored sound exploration on the C64 in favour of the VIC?

M) No, not really. Making sound is actually much more complex than doing graphics effects (yes, let the bashing begin...) simply because our eyes are so much more trained than our ears. To be able to distinguish between good sound and bad sound, you need to focus your brain and immense yourself in active listening. That doesn't happen in any normal day-to-day activities. But looking at things, that's something you do all the time, every day. And, sound is not an exact science. Younger people today, in a scientific test, actually preferred "bad" mp3-encoded music compared to its "perfect" CD origin. It's all a matter of what your brain has learnt to appreciate. To test this, I actually spent three weeks listening to music I dislike: Evanescence - massively distorted guitars cut to small synth-played samples and an overdose of auto-tuning on the vocals. Really bad music. But, after a couple of weeks, I loved it. Yes, music and audio needs training, but if you're persistent, you'll learn to love it!



V) In the latest efforts, you seem to have a nice ability to translate your effect into an entertaining show. Storebror seems to have stirred some reactions, a 3-channel real-time vocoder playing a Scanda song from the eighties, can you give us some further background on this particular demo, the process of creation, what you wanted to make different from your previous related releases etc? and will you target a wider audience next time please? (I want to hear Mahoney VS SAM or something, but in English as my Swedish is ultra-rusty)

M) Yes, Storebror was a demo with an extremely small target audience. I made it for the LCP demo party, mainly people from Sweden, Denmark and Norway - so why not, I made a Swedish song with lyrics. It happened to be one of the most complex sample playing routines ever made on the C64, and I think that message got through at least. But, making an entertaining show out of a music routine where there's _no_ clock cycles left when playing the vocals, that's not easy. Every time there's a pause in the lyrics, I had to pre-calculate the next 5 screens that I wanted to show - switching between sample playing with 8 bits, 4 bits, on-the-fly rendered vocoder parts and simpler 8-bit drum playing (and a small fraction just before the Android rotation with plain SID drums). Well, maybe there will be a Mahoney demo with a wider (weirder?) audience. You will never know. And neither will I. Let's take this one step at a time. I've already described two ideas that I have - but none of them are "I think I'll do it tonight". They will take time, and probably, I will not prioritise them at all. So, keep waiting!



V) You hinted on two new things - will these be possible on C64 at a decent rate or speed, audio and image wise?

M) The "stretchtracker", supporting 4 sample channels where 3 of them would support real-time time stretch and pitching + 2 channels of SID sounds. Yes, it's doable with a 7.8kHz sample rate, where the time stretched samples would need to be monophonic. And, there would be about 100 clock cycles left each frame when the sample routine, SID playing and graphics displaying was done. No sprites would be allowed. I have made a pre-study and it will work. Unfortunately, that's not all that's needed. It would take some -60 hours to turn this into a useful music program that anybody could use.



V) Do you think people limit themselves in demo creation by following existing designs, preset boundaries and basically copying one another?

M) It's an easy route to take. And, by mimicking something that you know others like, you'll probably get a few more "well done" and "great" comments on your creation. But, then again, in the C64 scene, there's just a handful of people left, and vote-fishing is IMHO completely unnecessary. There are loads of great C64 demos, so I'd rather spend my time on doing something unusual! :-D

V) The art of scroll text writing, how do you explain this to an outsider or someone that is only aware of other effects-based entertainment?

M) The need for social communication hasn't changed, but some 25 years ago, there was no IRC, no Facebook and no fidonet. So, we communicated by demo releases. Somehow, by getting your message copied from disc to disc, you were able to communicate with friends all over the world. Your "blog" would be distributed and read over, and over again by your "subscribers". So, yes, I was an active blogger, long before the word "blog" was invented. Back then, you simply called it scroll text writing.


V) The C64 scene keeps changing. In which direction, do you see our scene heading at the moment?

M) I love the humour that has crept into the C64 scene. Don't take the scene too seriously, because well, it doesn't need it anymore. Maybe it was a competitive scene once (which I was never a part of, btw) - but there is no need to compete anymore. We're a bunch of friends, and there's no reason to make life harder than it is!



V) Your view on C64 emulation?

M) Excellent! I love it! I have a laptop with >7 hours of battery life that can play and host all my favourite games and demos from 25 years ago, Instant entertainment, wherever I go. When developing C64 demos, I just use a real C64 for checking that I haven't done anything wrong. And, this is a last-minute check just before deadline at the party. I've had the great honour of having hedning/Genesis Project being my hardware hero at every party for the last 3 years! I actually don't own any Commodore hardware at all, anymore!



V) What is the weirdest experience you've had on the C64 or Amiga?

M) Going back from the Alvesta Party 1988 in a train, being really exhausted from partying and not sleeping. Sitting between Kaktus, Gluemaster and Exolon of Fairlight, thinking that I should be just as cool as Exolon: by throwing something out of the window of the train. I grab my half-drunk plastic yoghurt bottle (with some 3dl strawberry yogurt still remaining), and threw it out the window - just to realise that the window was closed, leading to my three friends not only being tired, but being angry, dirty, wet, mad and not so friendly anymore...

V) Tell us a bit about yourself personally, what are you doing for work currently? Do you have a wife and children? What part of the world do you live in?

M) I'm working at ARM, doing all the cool stuff you'll take for granted in your smartphone in 2014.

I'm making sure that we'll get the best 3D graphics performance in the next generation of tablets and smartphones.

And, yes, I am married with one 4-year-old son and another one coming - the one and only reason I'm not attending X'2012 this time.

I live in Sweden, that part of Europe that actually has four real seasons, the Spring is lovely for all the flowers and scents, the Summer is not too hot, and there's plenty of vacation allowed in Sweden, so that's good. The fall is nice with loads of nice colours on the leaves, and in the Winter, we've got snow, and the ski slopes are not that far away!

V) Do you collect anything or would you describe yourself as a minimalist in that regard?

M) I did collect sounds when I was younger. Which came in real handy when the sampling era of Amiga 500 came around!

I don't own any vintage computers, but I did have an Asteroid arcade cabinet for a couple of years.

V) Have you traveled much? And where would you like to travel to and why?

M) Eh, yes. Actually, I just got back from a week in Berlin and Hamburg together with my family, and we also did a weekend in London some ten days ago. So, I probably would say I have visited quite a few places.

I'm dreaming of coming back to Japan one day, I was there in 1997 and I loved it. Why Japan?

Well, people are nice, they are talking to you because they want to learn, not because they want to sell something.

V) How far east can you go before you are heading west?

M) You can go east indefinitely. But you should probably adjust your course after a while, otherwise you'll be in outer space in just a couple of hours! ;)

V) Where will we be seeing you next?

M) Oh, you'll never know. How could you? Not even I know where I'll be seeing myself next! If you're lucky, I will be publishing a 11-minute video on Internet called "The Illustrated Evolution of 3D Graphics" - there's a couple of legal issues to sort first, but that might be the next thing you'll see. It's a presentation I've had at the University and at internal conferences about how 3D graphics technology has evolved and improved the last 50 years. It's great fun, so I do hope you all will be able to see it soon!

V) Anything final to add?

M) Just got back from Berlin. It's nice to be there, and even nicer to be back, and that's the reason for doing fun stuff - because then you realise how good life is! So, do something you're not doing every day, and I promise you'll like it!

Throw out that TV, unplug every now and then, and we'll all be fine!