Macintosh Error Codes in Marathon

System error #25 at FFC9747A _Jackson


They're everywhere apparently... Macintosh error codes in Marathon that is. As Leela began to succumb to the relentless attack of the S'pht (Compilers) she spewed out increasing amounts of garbaged text. Some of this included bona fide Macintosh error codes. This section attempts to identify them.

The first Macintosh error code was found by Randall Shaw <rms8254@imap1.asu.edu> back in April '97. Randall opened his Note Pad and BOOM he got a System error #25 at FFC9747A _Jackson.

This is in fact a line from a terminal on "Never Burn Money"

~~hen she had it just so the room flickered and tore, bending
into somewhere else: ~~~ffs`~~~~f~~~[system error #25 at
_Jackson]~~~~%*|\]~``se which she caused to be consumed by an
ashless fire.

<Never Burn Money (Terminal 4)>

Randall explained how he got it:

connect via ot/ppp 1.1.2, open emailer, open ircle, read mail message from seig, talk in irc, open mesage from seig and then copy all the mail, then opened notepad... second goes by before i get a chance to do anything and it pops up macsbug with error

You can read the gory details in his MacsBug's log here.

Chad Poland <proedge@mindspring.com> quotes from the Apple Tech Info Library:

The meaning of System Error 25 is often listed as "out of memory". It is usually an indication that the stack has temporarily overrun the heap and the computer should be restarted.

The _Jackson is an abbreviated label for _JacksonPollack. Jackson Pollack was the development name for the ColorQuickDraw project and this area of ROM contains routines of Color QuickDraw.




Steven Ryan <smryan@mail.com> writes concerning this line:

<unimplemented inline trap $A9FF>

on "Smells Like Napalm, Tastes Like Chicken!" (Terminal 2)

On the 68K Macs, instructions A000-AFFF are undefined by the hardware and used to jump to operating system routines (the a-traps). If you use new software on old systems, you can get these.




Steven Ryan <smryan@mail.com> writes further on the above error code:

In particular, trap A9FF (Debugger()) passes control from the program to MacsBug. I guess someone forgot to remove some debugging code.


Steven also identifies some new ones. On Never Burn Money we read

settled in a pile on ~~~~4*)
where she had been standing.<'scod BFB1 0002'+1Ad2>
14 seven hundred miles away, eyes on fire, tearing at her

<Never Burn Money (Terminal 4)>

Steven explains:

The Inside Macintosh manuals don't explain what 'scod' resources are. If you hit the interrupt button (or the Programmer's Key) while running MPW, you find 'scod BFB1 0002' is being called by the console reader:

Calling chain using A6 links:

ConsRead+000E2
ReadTillEnter+000AE
'scod BFB1 0002'+01A58
'scod BFB1 0002'+04A5C
et cetera
Patch code?

and on Welcome to the Revolution...

~:(((okg~~fx**eff~~~~~~~`
(`(((%_YLOEP&```~`*K
^:E
[raw core #A8AF] [idiomatic natural language template]

<Welcome to the Revolution... (Terminal 2)>

Steven writes:

Trap A8AF (StdRRect) is used to draw rectangles in Quickdraw.




When Durandal sends you to the Pfhor ship on the level Pfhor Your Eyes Only... you will meet the Pfhor Enforcers.

Leela mentioned them on Cool Fusion. ref

I have obtained more debriefing reports from the crew whom you rescued earlier.

They have reported seeing two types of Pfhor that you have not yet encountered. Evidently, these are two of the other "clans" which Durandal alluded to in earlier communications.

One is taller than the Fighters. Oddly, the report indicated that this new Pfhor fired only upon other Pfhor and never on any humans. Because of this and their general appearance, the crew who saw them referred to them as Enforcers.

While the Enforcers never fire on humans they do fire on you! (hint hint).

If you pick up one of their odd looking weapons you will see this displayed in your heads up display.

Of course this makes perfect sense as it is an alien weapon so how could your heads up display make any sense of it.

But what did 'system error 0xfded' mean?

Back in Jan 30, 1998 Mark Tomczak <mtomczak@mindspring.com> wrote:

The Alien Weapon may contain another tribute to the old Apple II: 0xFDED is COUT-- the main character output routine-- in the Apple II ROM. And clearly there's a problem outputting the name of the Alien Weapon.

Could these be Apple II references? Jason Jones when asked about how he first started programming in an Inside Mac Games magazine interview (Oct '93) replied:

"Like a lot of programmers my age, I started way back on the Apple II when I was in high school. I first learned Applesoft Basic and then 6502 Assembly. As soon as Apple came out with the Macs my family got a Macintosh 128k, but I never did any development on that machine, except in Microsoft Basic 1.0, which was really awful. After high school my family bought a Mac II and I got a job programming in C for a CAD/CAM company on PCs. Needless to say, I didn't go to college for a year. During this year off, I bought MPW for the Macintosh and started doing Mac development on the side. All I ever did on the Apple II was write games, and it seemed logical to continue that on the Mac. Honestly, it's the only good use of computers that I can think of. The first thing I did on the Mac was to port a modem game I'd written called Minotaur from 6502 Assembly on the Apple II into MPW C on the Mac. I was still finishing that when I came to college. By that time, I knew I wanted to write games. So I guess it all goes back to the Apple II."


The Apple II reference was later confirmed by Alex Rosenberg (former Bungie employee who worked on Marathon Infinity and the porting of Marathon 2: Durandal to Windows 95) in an alt.games.marathon post.


On July 15, 1999 Paul Bryant <Paul.Bryant@choicepointinc.com> wrote:

On the weapons page of (bungie.org/marathon), there is a shot of the error message produced by the Alien Weapon. If you take the useable hexadecimal characters out of the error code (0xfded) you get "fded", which is 65005 in decimal.

6 + 5 + 0 + 0 + 5 = 16
1 + 6 = 7


And on November 2, 2000 Mark Levin <haveblue@mac.com> wrote:

Random tidbit from the Source: When Marathon initializes its internal random number generator, the default seed value it uses is 65005, or hexadecimal 0xfded. That looks familiar. :)

Mark Levin would later go on to port Marathon 2: Durandal to Xbox. True story.




In Marathon: The Official Strategy Guide on page 17 there is the following entry for the Alien Weapon.

The entry starts  Unknown Weapon Class System Error 0xFFBD (Alien Weapon)

A simple mistake of something more?

The Official Strategy Guide was written by Tuncer Deniz. Tuncer Deniz was the editor and publisher of Inside Mac Games magazine at the time. He was also a regular visitor to the Bungie office during the development of Marathon.

So how did he get it so wrong?

Well he didn't... not really.

System Error 0xFFBD is the message you get in the Marathon Demo... but only if you cheat!

Yes folks people cheated playing the Marathon Demo. "The horror! The horror!"

The Marathon Demo came with three solo levels and one net level but the Alien Weapon was not available on any of them. However if you used a cheater program you could give yourself the Alien Weapon. The Marathon Demo HUD would display System Error 0xFFBD and the Alien Weapon would use Pirated Copland Betas (a computer industry in-joke at the time) as ammunition.

Copland was an operating system developed by Apple between 1994 and 1996 but never commercially released. It was intended to be a successor to System 7. Its failure lead to Apple buying NeXT in 1997 to obtain their operating system NeXTSTEP which would eventually become Mac OS X. It also lead to the return of Steve Jobs. The rest they say is history.

More details about the alien weapon and its unique ammunition can be found on the Weapons in Marathon section.


Go Back to Marathon's Story Home Page
***TRANSPORT WHEN READY***


Page maintained by Hamish Sinclair
Hamish.Sinclair123@gmail.com
Previously updated July 23, 1997
Last updated July 6, 2023