Wednesday, September 23, 2009

An interview with sweetlimre


sweetlilmre, who is responsible for Dingux VICE - which IMHO is the best thing since antipasto or laksa - very kindly took the time to respond to some Dingoo-scene Q’s. 

Hi there sweetlimre.Tell us something about yourself. How old are you, what do you do for a crust, are you married/single/in high school/a very intelligent 9 year old - all that stuff?

I am 35 and work for a multinational software development company. I am married and have 3 children.

Did you have a C64? If yes, what's your warmest memory of it?

My first full time PC was a C64. I first learnt to program on an Apple II clone my dad used to bring home from work on the weekends. Finally I nagged my folks enough that they got me a C64. I think learning binary so that I could draw sprites was one of the most amazing moments, I was about 10 at the time and binary was HARD! :)

Any favourite games?

Bruce Lee, Monty Mole, Mercenary (soooo many hours), Lode Runner. Too many to mention.

What's your coding/porting track record like? Have you done anything like this before?

I have spent an insane amount of time porting stuff :). I would say initially mostly in the Gizmondo scene, porting SDL, Frodo and many, many other bits and pieces. As that scene has pretty much died out, I was looking for some new hardware before my Pandora arrived and life as we know it ends :)

What got you interested in the Dingoo to begin with?

It was cheap, seemed reasonably well built, ran Linux (an essential) and had a MIPS architecture which I have never worked with before. Also I have been very active in kernel hacking on the Zipit Z2, so my general interest in embedded Linux has risen over the last year or two.

Do you think the Dingoo has a bright future?

Certainly. I think that the rootfs while useable needs some work e.g. a writeable "home" directory. It would be nice to get the kernel up to a later version or even into mainline (seems Booboo is well on the case here). And it would really help if Booboo would release his buildroot config and any scripts he has for building libs etc. I would like to build a rootfs under OpenEmbedded as I am very familiar with this (BeagleBoard, ZipitZ2 and other stuff that I have used under the OE buildsystem).

How does coding for Dingoo compare with working on other platforms? Which do you prefer?

I must say that coding for the Gizmondo was probably the easiest as it was a WinCE (*puke*) platform and therefore had brilliant VisualStudio and debugging integration (everything else including performance sucked :)). Once the networking issues have been resolved we should be able to have a similar setup with gdbserver on the Dingoo, so things are looking promising. To be honest when I can, I code and debug under VS2008 on windows with an x86 setup and then compile the code on Linux.

Would a native Dingoo OS C64 emu ever be possible? Care to take up the challenge?

I am sure it would be possible :) As for taking up the challenge, I must be honest and say I have no interest in the proprietary Dingoo OS and would like to see Linux replace it as the default.

Why VICE over Frodo? Why C64 at all?

Vice is a significantly more accurate emulator, in fact it's pretty much the universal gold standard as far as C64 emulators go.
Frodo is great, but hasn't been developed on for years. As to why C64, well there is the nostalgia aspect and I wanted to see if it could work with reasonalble performance on the Dingoo. I must say I am very impressed with the performance of this little machine.

At the moment, compatibility on VICE is pretty good - it seems to run 95% of whatever I throw at it.  My one complaint is that it does seem to run smoothly one minute, then frameskip at other times, then go back to smooth running again. This plays havoc with shooters like Katakis - I wonder if there's anything you might suggest to improve things?

I don't want to promise before I deliver, but lets just say that I have been working with the latest SVN source and the vice-dev team. Test builds I have made recently are much more stable (also sound is running properly with 100% emulation speed, and this is not overclocked at the moment). I just checked Katakis and it runs smoothly though sound is choppy, again this is without overclock.
Try frameskip of 1 as well, this should smooth things out.

Which is better - fastSID or reSID?

I am not sure, performance wise fastSID should be better.

And Truedrive on or off?

This is a compatibility issue. Truedrive is much slower but games like MarbleMadness will not load without this.

There is also a suggestion that 390 mhz is the ideal clockspeed to run at.  Why not just crank it up to 430? (And can you make it go to 11:)?)

I would like overclocking to be under the direction of the user. 430 is pretty much peak maximum and I have heard that some Dingoos don't like this value. Hopefully this will be a saved / configurable setting in the next version :)

The sound also seems a little low.  Any thoughts on what to do?

Apart from cranking to max I am not sure. My lastest dev build seems fine so this may get better soon. Also as far as lag goes there is a "-soundbufsize" parameter that can be specified on the command line, I would suggest that people play with this and see if they can find a better value. Did I mention that things should be better in the next version?

What next for Dingux VICE?

Better sound, access to basically all the Vice menu features, integration into the main source tree (well that may take a while longer, but is the aim).

Will you also work on new emulators? If yes, which one?

I do intend to do so. I am not sure specifically what I will work on as yet. Also I might have a go at a menu...

Do you think an Amiga, N64, or PSX emulator would ever be possible for the Dingoo?

Probably not, though I am no emulator expert. Maybe UAE4ALL, but then I think someone would have to write a mips accelerated 68000 core.

Is there anything else you would like to add?

Thanks for running a great site! Oh and please find a way for us mortals to get hold of Booboo. He doesn't seem to respond to email :) [Larry: I think this should do it:)]

Thank you for your time, your effort, and most of all, your dedication to working so hard for all our benefit!

Its a pleasure! :)

Keep up the great work; and even if not, heck, the current version of VICE has already led to me rediscovering my lost youth.  Once again, thanks sweetlimre!


  1. Well, this guy should know the answer to my question, which is: almost all ported games and emulators freeze for a moment from time to time, with or without overclocking. I don't believe all these programs are faulty, so can it be the problem is within Dingux itself ? What's that - caching, memory allocation issues ?

  2. Great and informative interview, thx for that! :)
    Some thoughts:
    In Demos, ReSID is always faster than FastSID for me. Weird, i know. :D
    True Drive: As a demo lover, i´m very happy that these work now with true drive emulation. But it´s very choppy when the drive starts loading (of course). Is there room for optimizing? And is it slow because of the SD-card or because the CPU is just @ 100%?
    Slaneesh plans to add some assembler to the 68000 core in FBA320 iirc, could that be usable for Amiga emulation?

    Enough bugging, thanks again for the good read and the great emulator. :)

  3. @cax: I am not sure. I haven't noticed this myself and I've played Vice for sessions of up to 45 minutes. Maybe try a different SD card?

    @eule: Thanks :) Post some names of some demos that exhibit this behaviour, I'll try them out on my latest build and let you know. Good news on the 68000 core! I will keep an eye on that.