Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Palm OS developer releases source to classic games, 20 years after release (retrorgb.com)
261 points by markus_zhang on June 15, 2022 | hide | past | favorite | 53 comments


My God the nostalgia. I played Pokémon in school under my desk thanks to the Gameboy emulator liberty on the m105 if I am not mistaken. Might also have been my next model a m505. Before I am being called a snob, I bought the m505 as broken on ebay for 100 DM (now around 50€) and "fixed" it by applying a hardware reset and charging it. I was beyond lucky.


Liberty + pokemon on the m505 was a dream. Before that, native palm RPGs were the shit: Dragon Bane and Kyle's Quest on Palm III. Black and white with that blue backlight felt so cool. Is it weird to miss greyscale?

My palm devices were also gifts. Dad got his black-and-white Palm III from work. Aunt got hers from the elementary school at which she taught. The common denominator was "adult who doesn't understand how these devices help productivity" --> gift to a child. Also "child who wants to play games but parents won't buy them a console" --> turns out they gave me something better.


Oh, you triggered another memory. Yes Dragon Bane was awesome but also Ackeron Dark Sun! Holy ** I spent hours with the game under my blanket. I was seeing everything in orange/red for hours because of the green backlight of the m105 :D.

Ackeron Dark Sun @ PalmDB: https://palmdb.net/app/ackeron-dark-sun


Aaaaand now you have me looking into Palm emulators, haha



> 100 DM (now around 50€)

Only if you ignore inflation. Even if you take the value from 2001 right before the switch it would be equivalent to almost 70€.


I just quoted: https://www.finanzen100.de/devisen/waehrungsrechner/?kurs=de...

According to them it is almost exactly half.


[flagged]


For my first m105 I saved 2 years (birthday / Christmas / pocket money). My parents did not want me to have an organizer. I am not saying I haven't had a good life, and maybe I am a snob. It is always a matter of perspective, I guess. I was pretty proud back in the day to get a perfectly working m505 for the friction of what it usually costs.


What is your intended contribution here?


A probable attempt to ignite a "Four Yorkshiremen" (from the recently lost Tim Brooke-Taylor - with Cleese, Chapman and Feldman) chain of Palm relevant amarcords, triggered by the OP's excuses for being a «"snob"».

But really, something so high quality like a Palm was pure wealth in one's hands. I miss the days. They haven't been really overridden - trustable, manageable system, transflective display... Fast coding...


Now, suddenly, I remember! Also: pretty straightforward on device coding... Probably PocketC at least...

On current "hyperpowerful" mobile devices I still do not have a decent on-device development environment.


No notifications! Hard to even imagine that, these days.


I looked through Oktopus and wow, that code is clean. I wonder if it was formatted before release.

Edit: does anyone want to investigate what this is about?

> // this is out 'double check' for decryption - make sure it worked :P

> #define CHECK_SIGNATURE(x) (StrCompare(x->system.signature, "|HaCkMe|") == 0)

Found here: https://github.com/ardiri/palmos-oktopus/blob/600ebccf15a113...


Something relating to a utility the same author apparently wrote. https://palmarchive.com/files/?dir=Aliosa27%27s%20Archive/Pa...

And http://www.palminfocenter.com/news/1860/hackme-program-relea...

It looks like using this utility one can bypass shareware registration.


I am amused at how every game in this list is a slight misspelling of what it's a clone of. Except Lemmings. It's just "Lemmings", not "Lemmyngs".


I'm also amused how the blogspam author didn't realize the image was from the original release of the "demo" twenty years ago.


RetroRGB is far from blogspam. They do a lot of research into retro gaming (old consoles/devices, new tech related to them, etc.) and interviews with people currently working with them. I personally have learned a lot from their site and YouTube videos, and would recommend them to anyone looking to dip a toe into the hobby.


I was really hoping that bike or die would have been among them.


Man, I can't tell the hours I spent in Bike or Die...Awesome game.


The license is pretty restrictive:

> 3. Restrictions > You agree not to modify, adapt, translate, reverse engineer, decompile, > dissasemble or otherwise attempt to discover the code and algorithms of > the Software.

I wouldn't look at the code.


When they posted it to GitHub, they explicitly granted permission for other users to view the code. It's the "License Grant to Other Users" section of the GitHub TOS. You'd be OK to view it even if it had no license at all. That license is not the thing that's allowing you to view it, so you don't have to be particularly concerned about the contents of that license if you're just looking at the code on GitHub.


I'm wondering how to test those thousands lines of C++ code, a lot of them are compute-intensive, I don't see any unit test.


Not sure if this is a joke but unit testing is generally not used in games, definitely not in plam games 20 years ago.


Games use integration tests. You push a new build to steam and check reddit to see if it worked.


Hilarious post that's also sadly quite accurate.


That's the same way Microsoft tests their updates.


Unit testing is not too rare in (modern) games.

There's a comment on HN from a Rare employee going into how they do their testing, for example - https://news.ycombinator.com/item?id=14802509

Edit: It's a 5 year old thread and I have a few comments in there... Fuck I'm old.


> Unit testing is not too rare in (modern) games.

In my experience, unit testing is _incredibly_ rare, and Rare are pretty much the only studio that I'm aware of that do it.


Unit tests are a relatively recent concept (last 15-10 years?).

I know plenty of old developers who crank out pretty awesome software without versioning and without any kind of automated testing.

For most applications (especially UIs or 2d / 3d rendered), I think there is a benefit in having a few well chosen tests but overall I think TDD does more harm than good.

I understand the mantra started in the web world, where your services needs to maintain the promised compatibility or someone else may get an error. A lot of other software can afford to be more flexible and the ability to break the API without having to fix hundreds of tests is invaluable.

Even in web services, I think the TDD religion guilt trips developers into writing more useless tests than they should.


> Unit tests are a relatively recent concept (last 15-10 years?).

I was writing unit tests 20 years ago. I generally see SUnit considered as the birth of unit testing frameworks, and that's 30 year old art to solve something that was being done before anyway.

I guess one can say that Extreme Programming made it more popular in the mid 2000s, which is when relatively new languages started including built-in/standard unit testing libraries/frameworks/semantics (Python, Ruby, D...)


I was seeing Extreme programming being a thing and using DUnit for Delphi in the late 90's (possibly early 2000, but I left the Job I was using this for by mid 2000.)


> A lot of other software can afford to be more flexible and the ability to break the API without having to fix hundreds of tests

This is really question of good high level system design, so you don't need to change all code in case of small changes in overall behavior.

Other name of this is tight coupled vs loose coupled system.


Those games are written in C, and unit tests 30 years ago?!?

The only tests were actually playing the game, over and over again.


Can confirm! Palm devices were generally tested for things like memory leaks by just running them for a really long time.

1 phone call, 1 email per minute… for a week.

I wrote some core dump readers that would look for memory patterns in crashed devices for Palm back in the day, but our QA was largely manual testers. 5-6 QA folks for every dev.


> I'm wondering how to test those thousands lines of C++ code, a lot of them are compute-intensive, I don't see any unit test.

That's not C++ code.



Used that at the time, I've never seen other platforms use that approach.


This is very cool. He also dropped the VT-OS version, including his gfx library!!

Edit: also... SlashDot still exists? Wow...


Space trader was great, spent so much time playing it back then on my old m505


I used to play a lot of Space Trader, so when I got interested in Palm programming, I worked with Pieter Spronck to write the expansion for version 1.2.0.


For those of you out there with experience, if someone wanted to plat around with a palm for games and apps, what would be the go-to/ideal device? There were so many made I don't know where to start.


Honestly? Probably the device you already have, via emulation - old Palm hardware is definitely a rabbit hole, and it's worth dipping a toe before you dive in.

CloudpilotEmu [1] is a free emulator that runs in a web browser, and works very well on smartphones. It's what I use when I feel the need to scratch my Space Trader itch, and it's definitely where I'd recommend starting. There are any number of repositories still active of old software you can run with it, and I'm sure folks will chime in with their favorites to give you some places to start.

[1] https://cloudpilot-emu.github.io/


Given the age of the devices, and that this is a retro-activity anyway, I would suggest one of the Palm III or Palm m1xx devices -- most of them take AAA batteries, not a built-in rechargeable. And will give you the experience of the typical heyday of Palm OS. (By the time large colour screens rechargeable batteries and WiFi became standard, Palm was already already well into decline.)


I like the physical keyboards so I'd go for a treo or a tungsten.

Or if you want ultra nerd cred, get the watch by fossil.


The Zire series are cheap, coloured and powerful. :)


Lemmings brings back some great memories, what a superb game that was/is.


I see these PalmOS releases pop and every time I check whether my favourite PalmOS game is in them and it never is. Mars Needs Cows was an amazing puzzle game. It's a shame it was never remade.


Cool, here's a clip on the youtubes: https://www.youtube.com/watch?v=ckA-qvqHYoc

It's got character that's for sure.


So much work..

I mean, this could be much more useful, if he created his own games based on these ideas/gameplays, not copy designs of heroes and level maps.


Is it possible to rewrite any one of the game in Rust? If yes, is there any library for that?


Yes


So, Is it possible to use game engine like bevy?


Check, how large is minimal runtime. This is hardest limitation, because palm have just 2-8mb of memory and no flash/vram/etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: