Hacker News new | past | comments | ask | show | jobs | submit login
Assimilate: A Flood-It game for Mac OS 9, released in 2021 (theztd.com)
120 points by namu-313 on Feb 3, 2022 | hide | past | favorite | 29 comments



> Quick Question: Why?

>People still use OS9! It's me, I'm people. I just like programming, I like this style of game, and I like giving myself a reason to turn on my iBook or iMac.

So good


If you don't happen to have your 2000s-era iMac or iBook running OS 9 currently in arm's reach here's an online version of the same sort of game: https://www.unixpapa.com/floodit/?sz=14&nc=6


Thank you for the link, fun game! Took me a while to win, but this is what immediately made my strategy work:

From http://retirementexperiment.blogspot.com/2009/03/flood-it-ga...:

> The approach I use is to play for penetration. I aim for the opposite corner. Rarely the obstacles have too much repetition. I would allow for this by requiring a wedge shape having a favorable ratio of base size to length.

Bonus, a paper on flood-it: https://arxiv.org/abs/1001.4420


This one is a guaranteed win: https://www.unixpapa.com/floodit/?sz=2&nc=8


You can emulate it with ease with qemu-system-ppc.


SheepShaver is much faster at the expense of not being able to run the latest version of OS 9, only 9.0.


I wonder why it's faster - specifically *how* it's more efficient.

(Admittedly an expansively broad question; summary responses accepted!)


If my understanding is correct, it doesn't implement the MMU (which latest OS 9 versions require), takes some other shortcuts and does JIT.


qemu actually tries to emulate all of the hardware in a Mac; also, I believe its CPU emulation is just interpreted though someone correct me if I'm wrong. SheepShaver emulates the CPU with a JIT and then patches the emulated MacOS so that calls to it run as native code.


SheepShaver is hacky, I know it since BasiliskII times, same people. SS is faster, but nowadays the gap against Qemu is not that big on a modern machine. Also, Qemu will provide an ATI Rage device for the G3/G4 machine, so you may be able to correctly play a good chunk of 3D games released for Mac OS 9.

>I believe its CPU emulation is just interpreted

Something between interpreted and a JIT. TCG:

https://wiki.qemu.org/Documentation/TCG

That's why I say Qemu is not as slow as Bochs.



Note that their goal is to master programming on a new platform, not just to play it in a browser.


That puzzle pack uses GTK too, porting them to Carbon or whatever API Mac OS 9 uses wouldn't be too difficult with some libre SDK targetting OS9.

https://github.com/autc04/Retro68

Also, this guy has a Classic Mac tool sw "runner" a la Wine:

https://github.com/autc04/executor

Forked, that's true, but that's the best Ardi Executor fork by a mile.


Writing a Mac application in GTK is, again, not conducive to the goal of learning to program a new platform. Wrappers such as GTK around native objC, Cocoa, and Swift are a distraction from the main purpose of learning those things.


No, I didn't mean to GTK, but for Carbon or whatever API Mac OS used. The game is already on GTK and JS, so it would be easily portable as they are really simple games (they have even an Android port).


Good timing, I just set up a RaSCSI to use with a PowerMac 5400! There was certainly a charm that Classic Mac OS has that was missing in OSX-onward.


wine em, dine em, OS 9 em


I wonder if it actually needs OS9, PPC supported started (barely) in the System 7.1 era


Yes, but lots of software made for PPC began requiring OS8, then 8.6, and then a bunch required OS 9 to run.


How far back did Carbon support go?


It's not that easy. Carbon is largely a subset of the classic MacOS toolkit APIs reimplemented in MacOS X to provide a migration path for existing application to MacOS X. IIRC carbonized applications commonly targeted version going back to MacOS 8.6 - 10.x with a single executable. From my unreliable childhood memories the next common range started at MacOS 9.0 (or 9.1).


native mac os 8 and 9 applications could only be run under rosetta. they could be rebuilt to run under cocoa.


They required some Carbonization. Also then would run under Classic or Carbon. Rosetta was for Cocoa I think.


Rosetta was a PowerPC CPU emulator that allowed running any kind of PowerPC OS X application on Intel Macs.

Carbon was a set of largely OS 9 compatible APIs that allowed an easy transition for apps that could be recompiled.

Classic was a virtualized OS 9 environment available on OS X (up to 10.4 Tiger, PPC Mac only) that allowed running unmodified binaries for pre-OS X Macs. Most things that didn't require special hardware access or precise timing ran fine, but things like real-time audio and MIDI applications did not.


Not Rosetta, Classic


speaking of OS 9, windowshade was so great.


I miss the spatial properties of classic MacOS. Windows would always be in the same spot when you window shaded them, files would be in the same spot in a folder unless you cleaned it up.

It was an aid to my memory.


Emulator?


https://github.com/autc04/executor

Clone the repo recursively. It needs SDL2 and QT5 devel libraries.




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

Search: