The Missing Floppies

Windows 11 updates for Mega Math Blaster and Reading Blaster 2000!

  • 200
  • 0
UPDATE: Simpler archives that just contain the needed registry files and SmartHeap are now available. Obviously, the different Atlas engine versions can't just be mixed and matched because the games' personality files had to be built for a specific version.

It took some work, but I've released updates for Mega Math Blaster and Reading Blaster 2000, which will allow them to run in Windows 11!

Although the games themselves use 32-bit executables, the installers are still in 16-bit. These registry files allow you to put the needed settings to run the games without the need to run the installer.

Partial Mega Math Blaster source found?

  • 172
  • 0
It seems like someone at Davidson accidentally shipped a development file for Mega Math Blaster onto a retail CD!

That's right, my CD of Math Blaster Ages 6-9, a 1998 re-release of Mega Math Blaster that I got as a kid, contains a file called MEGAMB.APP. You can view it here.

I've been trying to reverse-engineer the Blaster series' engine, which is called Atlas Game Engine. I've posted my findings here, but here it is again:

The Atlas Game Engine is a proprietary game engine developed by Davidson & Associates for use in their games in the Blaster Learning System. It was originally developed for the classic Mac OS and Windows.

Much of the game data is stored in three game files that use the game's ID as the name. They contain the extensions DLL, BAP, and RES. The DLL file is referred to as the "personality". It...

Starting on AGI decompilations

  • 218
  • 0
I've just started a new decompilation archive for AGI games. Check it out here.

I Wanna Go Fast

  • 220
  • 0
Most SCI games keep track of CPU speed. They do this at startup in a room commonly known as speedTest, and save the recorded speed in a global variable commonly known as machineSpeed.

Initially, there was no upper limit. This leads to bugs in Leisure Suit Larry 3.
In the exercise room, the amount of exercise you needed to become fit depends on your computer's speed; the slower your system, the less exercise required. At the time of release, this was reasonable, but as computers grew faster, it became practically impossible to get past this.
At the hotel lobby, the slower your computer, the less time it takes for the elevator to arrive. On faster computers, the elevator never arrives, leading to another bug that makes the unwinnable.

Fortunately, the developers soon realized this, and added the howFast global. This is set at the speed tester, based on the machineSpeed value. It has only a few values that determine the approximate speed, and has an upper limit if the speed is any...

SCUMM Nutcracker Utilities

  • 378
  • 0
I've just been informed on Mixnmojo of a set of utilities called Nutcracker. It's a set of tools for editing resources in SCUMM games. Its decompiler outputs code that very closely matches that of the original SCUMM syntax, as shown in the official SCUMM documentation. If this were an IDE, it'd be really useful. Right now, v5 and v6 are supported.

I've now started work on new decompilations of compatible games here.

Nutcracker
Download the latest binary release here
Here's an example script from Secret of Monkey Island:
Code:
room recipe {

    exit { ; EXCD LECF_0001\LFLF_0084\ROOM\EXCD
    local variable L.0

        set-screen 0 to 144...

Maniac Mansion decompilation finished, Zak McKracken up next

  • 320
  • 0
The decompilations for Maniac Mansion V1 and V2 are complete. All that is needed are comments describing what is going on.

Next up, Zak McKracken and the Alien Mindbenders!
lot_of_work.png

A Fresh Restart

  • 257
  • 0
Restarting a 16-bit SCI game is pretty simple. In Game:restart...

Code:
   (method (restart)
        (if modelessDialog
            (modelessDialog dispose:)
        )
        (RestartGame)
    )

In other words, it clears any modeless dialog, and invokes the kernel call RestartGame to clear everything - globals, cast, sounds, etc. Then the game is re-initialized.
This behavior is unchanged from early SCI0 to late SCI1.1.

When SCI moved to 32-bit, however, things changed. While the interpreter still has the RestartGame kernel call, it does absolutely nothing!
For this reason, restarting had to be re-implemented in script code. Each game had its own restart code that re-initializes everything that needs to be cleared on restart.

Zak McKracken's Gambling Problem

  • 346
  • 0
Here's my first SCUMM-related discovery!

One of the things you need to keep track of in Zak McKracken and the Alien Mindbenders is your characters' CashCard balance. Just like reality!

The best way for Zak to replenish his savings is to play the lottery, which only he can do. You can rig the odds in your favor by reading the Lott-O-Dictor on the King's ship. Note the number, then go back to San Francisco. You can go back by inputting the button combination or giving an artifact to the king - but don't worry, you can get the artifacts back if you choose the latter.

Once Zak's back home, he can go to Lou's Loans and buy a lottery ticket. Input the number that was on the Lott-O-Dictor. Eventually, the numbers will be picked, and Zak will win $10000! If only it were that easy in real life...

But how many times can Zak do this? The answer is five. You see, every time you win big, the game remembers. Once you've won the lottery five times, Lou will pay up one last time, and...

Microsoft to Purchase Activision-Blizzard

  • 275
  • 0
Microsoft is on a roll. The company previously acquired Zenimax, Bethesda and id's parent company, as well as Double Fine. Soon to become part of the Xbox family is Activision-Blizzard, for the price of $68.7 billion.
The company is behind franchises such as Call of Duty, Warcraft, Starcraft, Overwatch, Diablo, Crash Bandicoot, Spyro the Dragon...

Oh yeah, and the Sierra properties as well, except for anything sold off during the Activision-Blizzard merger (Leisure Suit Larry and Hoyle, for example). Who knows what this will bring?

At least we know that this won't necessarily result in all these franchises becoming Xbox exclusives. Microsoft is a friendly rival of Nintendo's, after all; Minecraft and Skyrim are available on Switch, and Banjo-Kazooie will be released on N64 Switch Online.

Source

"Put bag in bottle"

  • 367
  • 0
In Leisure Suit Larry 2, an oversight in the game's vocab makes it so that mere "put bag in bottle" doesn't work... supposedly. From the Leisure Suit Larry Collection's readme:

When you reach the top of the volcano at the end of the game, be sure to include the word "the" in your commands, such as "put THE bag in THE bottle" or "drop THE bottle in THE crevice." A subtle bug slipped into Larry 2 just before it shipped. This eliminates it.

Is there any truth to this? Let's find out.

The most common version of the game (the one included in collections) is 1.200 (January 11, 1989). It's not the absolute newest version (the Amiga port is), but that's a subject for another post.

"The" is just an article, so I think the parser just ignores it. None of the said specs in rm82:handleEvent use it.
"Put" is an imperative verb.
"Bag" is both a noun and an imperative verb.
"Airsick" is a qualifying adjective, but it only appears as an optional said spec for the inventory...

Portal is set up

  • 249
  • 0
Now when you go to the root directory, you'll find all the threads in the news forum. Check back every now and then for adventure game-related news!

Flagged: A History of SCI Game Flags

  • 337
  • 0
KQ4 and LSL2, the first-ever SCI games, did not have many of the luxuries that later games did.

For starters, there were no special procedures to handle event flags. All events were flagged using global variables directly. This way is obviously inefficient and a waste of heap space.

To address this issue, PQ2 introduced the Bset, Bclr, and Btst procedures, which use a global array in which each variable could have 16 flags. That saves a lot of heap space!
Of course, the downside of global variables is that the original programmers could not declare them as arrays with square brackets. This required them to take an educated guess as to how many flags they would need for their games, and note the beginning and end points for the gameFlags array. (SCICompanion has no such limitation.)

Also noteworthy is a procedure or method that not only gives puzzle points, but sets a flag so that the points for that puzzle are only given once. Its name and implementation vary, but the basic idea...

The Virgin Suicide

  • 300
  • 0
We all know how, in the original Leisure Suit Larry, the title character would commit suicide if he didn't lose his virginity by sunrise. I even uploaded a video of this on YouTube.


But what causes this? When does it happen? Does sleeping with the prostitute prevent it? And can this happen in the VGA remake?

Well, let's look at the game's code, in any sidewalk room:

Code:
if (initLog)
    {
    if  (watchHours > 4 &&            [    Anything after 5 am.
        watchHours < 10)
        {
        NewRoom( rmSunrise);
        }
So we know that it happens at 5 AM, when entering any sidewalk room.
Contrary to popular belief, doing the deed with the prostitute does NOT remove this time limit, since the code doesn't check for that.

Also contrary to popular belief, this death DOES occur in the VGA remake. From script 700, sidewalk:init...
Code:
        (if (> (GameHour) 7)    ;anytime after 5 am
            (self setScript: virginScript)...

New board!

  • 283
  • 0
I'm planning to move the various resources over from SCIProgramming to the new board. I've been taking account of things that I could bring over...

Arcade
Doesn't work at all. Probably don't need it anyway.

Shop
Uses SMFShop. I can replace this with trophies, which are standard in XenForo.

Gallery
Uses SMF Gallery, can be replaced with XenForo Media Gallery... later.

Tools, Fan Games, Tutorials
XenForo Resource Manager can handle these easily. The AGI and SCI wikis have a wide variety of tutorials.
Top