







Porting Lemmings In 36 Hours 154
An anonymous reader writes "Aaron Ardiri challenged himself to port his classic PalmOS version of Lemmings to the iPhone, Palm Pre, Mac, and Windows. The porting was done using his own dev environment, which creates native C versions of the game. He liveblogged the whole thing, and finished after only 36 hours with an iPhone version and a Palm Pre version awaiting submission, and free versions for Windows and Mac available on his site."
Copyright? (Score:5, Interesting)
Okay, so Lemmings isn't public domain. The owners may have turned a blind eye to DHTML Lemmings, and other small projects, but how do you expect to get approved for the Palm and Apple App Stores?
IIRC Psygnosis owns the rights to Lemmings. Also IIRC, Psygnosis is now owned by Sony. Unless Psygnosis was only the publisher for a third party I'm not aware of.
Good luck with that.
Re:iPhone bandwagon (Score:3, Interesting)
I had a bad habit of bragging about my N900 -- WVGA screen, CortexA8 overclocked to 1.1GHz, and a touch-optimized Firefox derivative, it can do anything a laptop can do.
The above link has cured me.
(On second thought... does anyone's laptop actually handle that monster gracefully, either?)
Re:Android please? (Score:2, Interesting)
After another 36 hours spent wrestling the Android audio APIs he will admit defeat.
The Game that Made DMA Design (Score:5, Interesting)
Looking forward to the Android port (Score:5, Interesting)
It would be great if I could play my favourite game on my phone!
I am older, I remember why C is called C (Score:3, Interesting)
You know you are old when B is more then just a brief bit of history in the front of a C book.
To be fair I only knew it from a porting project. I am not THAT old... I am young enough to remember when C was new and exciting... no we did NOT ride dinosaurs to work.
Re:Nice accomplishment! (Score:3, Interesting)
Since when does C++ needs to be converted to C?
Since it started - it was just a preprocessor. It's now changed though to compile directly. You could in theory write a compiler that goes straight from Java to machine code if you were really keen. In fact, that has already been done [gnu.org]. It's not just the language syntax, the toolchain matters too.
Re:Nice accomplishment! (Score:3, Interesting)
Yes, but the more output you inspect, the more you get to know your compiler, and thus predicting the output becomes easier. (Actually you don't need to predict the output for 99.99% of cases, you only need to worry about C/C++ constructs that will cause performance problems. Once you've identified those sorts of bottlenecks [via a profiler of course!], avoiding them in future is fairly easy). I'm not sure about you, but personally I don't go and blindly enable every single new optimization flag with every time I get a new version of a compiler! I think the fact they change is largely moot to be honest
- you don't know the state of RAM, with regards to swap
- you don't know the state of the CPU cache
- you don't know what microcode the CPU has, or what it's actually doing under the hood
A touch pedantic imho (and not entirely accurate). Those are specific to programming on a modern CPU/modern OS, and apply to any language. If you want to know all of those things, don't use a modern CPU or os....
- at any given point in time, you don't know how long it will take to execute the next instruction (hint: scheduling, possibly powersave)
What does scheduling have to do with an instruction timing? It sounds like you are working on the assumption that a thread can be suspended mid-op? Anyhow, if an instruction executes, it executes in 'n' cycles, with a latency of 'p' and a throughput of 't'. Those are known values for all CPU's. If the CPU has been throttled back via speedstep, then it still takes 'n' cycles, with a latency of 'p' and the throughput remains the same. The only thing that changes is the time for a cycle, but do you really want to be measuring your code performance in seconds? Fine for us console developers i guess, but not so great for your average PC.
Also worth pointing out, that there is always a counter-example. If you want to measure your code in terms of ops, get an ATOM
Re:Android please? (Score:3, Interesting)
Flamebait? Sheer fanboyism! Android bug 3434 [google.com] is a showstopper.
Audio is critical for telephony and the media functionality expected of a smart phone, and Android's basis in Linux is only highlighting the sorry state of Linux audio.
Hopefully this may spur Google to develop something along the lines of CoreAudio that could be used in Linux as well as just Android and rid us of the ALSA, Jack, OSS, etc. mess that represents the worst of Linux.
Re:Nice accomplishment! (Score:2, Interesting)