• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

New version of Tetris Max

bigmessowires

Well-known member
Tetris Max development may have officially ended in 1998, but recently I became aware of some serious bugs with the final version of the game under System 6, as well as other crashes on B&W compact Macs. The game also didn't work correctly when run directly from a locked disk, like a ROM disk. Not too surprising, since at the time of the game's release I only owned one Mac with one OS version, so that's all that got tested. But in the years since then, System 6 has grown in importance among Mac collectors who want a lean-and-mean setup requiring minimal disk space. A Tetris Max crash on launch under System 6 was no good. Time to fix some ancient bugs!

It took several days to reconstruct a working build environment and remember what the hell was going on with code I wrote in the 1990s, plus a few down-and-dirty MacsBug sessions chasing corrupted memory, but everything worked out nicely in the end. For anyone who's interested, there's a long blog post with more detail about the work involved at the BMOW web site.

Look for an updated version of the game at Macintosh Garden. Post your high scores here!

tetris-max-debug.png
 

joshc

Well-known member
Thanks for doing this; I actually like System 6 and I love Tetrix Max so I'll definitely be trying this out. I bet it was an interesting experience going back through your old code and getting the development environment working again.

Any plans for other changes/updates now that you've got a working dev environment for it? Carbon port? A macOS rewrite? ;) (I am not really being serious, I do realise both of those would involve a lot of work)...
 

Phipli

Well-known member
Thanks for doing this; I actually like System 6 and I love Tetrix Max so I'll definitely be trying this out. I bet it was an interesting experience going back through your old code and getting the development environment working again.

Any plans for other changes/updates now that you've got a working dev environment for it? Carbon port? A macOS rewrite? ;) (I am not really being serious, I do realise both of those would involve a lot of work)...
I vote for a version optimised to use the DSP in the 660AV and 840AV 🤣
 

Snial

Well-known member
Tetris Max development may have officially ended in 1998, but recently I became aware of some serious bugs with the final version of the game under System 6, as well as other crashes on B&W compact Macs. The game also didn't work correctly when run directly from a locked disk, like a ROM disk. Not too surprising, since at the time of the game's release I only owned one Mac with one OS version, so that's all that got tested. But in the years since then, System 6 has grown in importance among Mac collectors who want a lean-and-mean setup requiring minimal disk space. A Tetris Max crash on launch under System 6 was no good. Time to fix some ancient bugs!

It took several days to reconstruct a working build environment and remember what the hell was going on with code I wrote in the 1990s, plus a few down-and-dirty MacsBug sessions chasing corrupted memory, but everything worked out nicely in the end. For anyone who's interested, there's a long blog post with more detail about the work involved at the BMOW web site.

Look for an updated version of the game at Macintosh Garden. Post your high scores here!

View attachment 60192
In your blog post, you said there wasn't a colour emulator that can run System 6. However, doesn't InfiniteMac.org support a Mac II with 8Mb of RAM running System 6 in colour?

https://infinitemac.org/1990/System 6.0.7?machine=Mac+II

There are colour issues with that emulator (probably Basilisk), the colour palette got messed up a bit playing Solarian II.
 
Last edited:

LaPorta

Well-known member
Wait...you're the guy who wrote Tetris Max?? That was one of my favorite games as a kid! In fact, with the except of EV: Override when I got older, yours was the first and only game I ever paid the shareware fee for. Still have my legit serial number :p
 

bigmessowires

Well-known member
Basilisk II can emulate a color Mac II, but can't run System 6, which I think is because of 24-bit addressing. There's a Mac II version of Mini vMac which can run System 6, and I think that's also what Infinite Mac uses under the hood. Unfortunately I found that version to be somewhat unstable, and it crashed with every version of Tetris Max I tried, all the way back to the original release. The Gryphel page does mention that Macintosh II emulation in Mini vMac is incomplete and may not give accurate results, but I thought it was mainly a FPU emulation problem. I didn't look into it any further.

It was fun poking around in Codewarrior and MacsBug and revisiting some territory I hadn't seen in a very long time. But no, no plans for further updates. The way we left things with The Tetris Company in 1998, I wouldn't want to risk poking the bear and making him angry.

Looking back at the application code (which you can find on Macintosh Garden), it's truly horrible. It's all K&R style C with far too many global variables. I didn't know what I was doing, I had only learned C a year or two before, and Macintosh development techniques were a total mystery. I had the printed copies of Inside Macintosh I through III and V, but those are references and not tutorials. I had no example code and nobody who could answer Mac programming questions, except a few on comp.sys.mac.programmer (Google still preserves these). No developer CDs - I don't think CD-ROMs had even been invented yet. And obviously no web resources, nothing like Stack Overflow. Ironically I lived with Raymond Lau (the author of StuffIt) who probably could have answered all my Mac programming questions, but I never spoke to him.

with the except of EV: Override when I got older, yours was the first and only game I ever paid the shareware fee for. Still have my legit serial number :p

This is awesome. Thank you! Thank you for supporting my beer and hamburger habit. A sad fact: while the source code of Tetris Max was preserved, the database of shareware registrations is well and truly gone. It was originally a FileMaker DB and later converted to Microsoft Access. Hmm, actually I just thought of a backup that might have the Access version...

The registration code algorithm was incredibly naive. It took the letters of a person's name and performed some XOR calculations on them to produce a serial number. I thought I was being so clever. When somebody attempted to register, the code would calculate the correct serial number for their name and then compare it to the serial number that was entered. Using MacsBug, it was pretty trivial to step through this code and just read the correct serial number out of memory. Or change a single branch-if-equal instruction to branch-if-not-equal, so any incorrect serial number could be used to successfully register the game.
 

LaPorta

Well-known member
Interesting regarding Raymond Lau. I remember that the original Stuffit versions had a shareware address to Forest Hills, NY. Growing up on Long Island, I found it fascinating that the company was there. Is that where you were living as well?

As far as Tetris, what was the deal? They came after you legally?
 

bigmessowires

Well-known member
Raymond Lau was a high school student when he wrote the first version of StuffIt in '87, so that's probably when he was at Forest Hills. Later he and I were students in the same class at MIT, and lived in the same apartment building in Cambridge during the time of Tetris Max's development. I knew who he was, but he had his circle of friends and I had mine, and they didn't really intersect. If I want to feel bad about my lack of professional attainment, I just think about my other classmates from that same year who are now wildly successful, VPs at Apple, federal judges, executive directors of federal departments, US congressmen... and no I'm not exaggerating. :)

Yes the Tetris people pursued me multiple times and in different ways, justifiably. I was foolish. It was an unpleasant time. There's more info about the history here.
 

LaPorta

Well-known member
Don't feel bad: we don't know those people, but Tetris Max is certainly some people's favorite version! I also liked Quinn under early OS X...until it, too, got canned. I didn't mean to derail your thread here; it would be interesting to see what you come up with. Sometimes, my brother and I let it run on computer deep thought mode and see how far it can get. We had it running on a G4 at the time, so it was insanely fast. We wanted to see how far it could take it...but after a while it just froze! We were disappointed. Just as an aside, attached is a diamond pieces file I made for the game. I personally think it makes it more challenging, as the spaces between the diamonds kind of messes with your head.
 

Attachments

  • Diamond Pieces.zip
    2 KB · Views: 2

LaPorta

Well-known member
By the way (and more to the point), I have a working Macintosh II in storage if you need anything tested on that particular machine with System 6.
 

Phipli

Well-known member
If I want to feel bad about my lack of professional attainment, I just think about my other classmates from that same year who are now wildly successful, VPs at Apple, federal judges, executive directors of federal departments, US congressmen... and no I'm not exaggerating.
And yet you're the only one of them I've bought stuff from and spent hours reading their website 😆

You've done some pretty cool things that are beyond most people.
 

MOS8_030

Well-known member
Back in the mid 90's when I was working weekend night shifts at Motorola I spent hours playing TM on the SE's and IIci's we had in the office.
 

joshc

Well-known member
And yet you're the only one of them I've bought stuff from and spent hours reading their website 😆

You've done some pretty cool things that are beyond most people.
Same here actually. The FloppyEmu is a really good product.
 
Top