Garbage in Bureaucracy

Someone asked me about error messages that Frotz produces when getting the mail from the macaw. These are caused by the game trying to do stuff with object 0. It’s a common error that Frotz can be made to ignore using the -Z0 flag. The report alerted me to a strange problem of which I was previously unaware. (see https://gitlab.com/DavidGriffith/frotz/-/issues/248 if you’re curious).

Here’s what I got when I ran the game (release 160 and the one in historicalsource COMPILED/b.z4):

>take mail
The macaw, apparently exhausted by the ferocity of its attack on the painting,
doesn't seem to notice you.

Most of the mail is rather useless, not even worth picking up. You do find a x
cL, though

>take mail
The macaw, apparently exhausted by the ferocity of its attack on the paint
doesn't seem to notice you.

You probably shouldn't push your luck in illegally looking at other people
mail.

The macawgyfrom ad     zzz.

The thing you find in the mail should be Popular Paranoia magazine. The macaw should be saying something about the painting it just attacked. I tried the game with xzip and jzip (both under Linux). Windows Frotz reacts the same way. The same garbage was printed. What’s going on here?

This scene is within the first few moves of the game. To get there, fill out the form, then do this:

west
get all
east
open door
give beezer
take bag
open door
open mailbox
east
take leaflet
south
ring bell
north
east
south
open screen door
west
south
take painting
north
show painting to macaw
take mail
drop painting
take mail

As I understand this is a problem with how ZILF compiles the code and not a bug in Frotz?

I tried this version (compiled in Zilch by Infocom):

BUREAUCRACY
A Paranoid Fantasy
Copyright (C) 1987 Infocom, Inc. All rights reserved.
Bureaucracy is a trademark of Infocom, Inc.
Interpreter 4 Version F
Release 116 / Licence Number 870602

in Windows Frotz 1.21

and the game printed this:

>get mail
The macaw, apparently exhausted by the ferocity of its attack on the painting, doesn't seem to notice you.

Most of the mail is rather useless, not even worth picking up. You do find a Popular Paranoia magazine, though.

[Your score just went up.]

The macaw looks at you with one half-closed eye.

>drop painting
Dropped.

>get mail
The macaw, apparently exhausted by the ferocity of its attack on the painting, doesn't seem to notice you.

You probably shouldn't push your luck in illegally looking at other people's mail.

The macaw groans defiance at you. "Death to the running dogs of imperialism."

The radio in the next room begins to play "Tie a Yellow Ribbon 'Round the Old Oak Tree," performed by a world-famous kazoo soloist.
>

Since Release 160 was not an official release (according to The Infocom Fact Sheet) perhaps something went wrong when compiling it? ZILCH seems to have been pretty forgiving about certain types of errors. I don’t see that bug if I run Release 116 in DOSBox, but if I replace it with Release 160 it crashes.

The sources do not compile with ZILF 0.9 out of the box, but if I compile the ones from The Infocom Files I don’t see this bug. Of course, I don’t know if these sources correspond exactly to Release 160 or not.

Txd isn’t much help. It complains that there are “too many orphan code fragments”. (I tried recompiling txd with MAX_PCS set to 1000 instead of 100, but the result was the same.)

1 Like

This makes sense now. Thanks!

I guess it might be useful to make a list of which of the preserved Infocom data files work and which don’t. Unfortunately, that’s a pretty massive undertaking because Zarf’s archive contained 255 such data files last time I checked.

On the upside, who knows what neat or unexpected things might turn up in that process? I already know of a couple of things in early test versions of some games that were changed for the final version, and I haven’t looked very hard.

@ChristopherDrum and I made some changes to r160 to get a working version (r161). Unfortunately I don’t think the fix for the mangled output from the macaw is included.

@heasm66 No, there is no fix for mangled output. There is another instance of mangled output that I’m aware of. The nerd that follows the player around tries to sell things and the object being offered for sale sometimes prints out as gibberish. Of note, I believe the gibberish is identical every run so something isn’t getting parsed right, but is also being consistently misparsed.