Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Why 'iamaduck'?

185 views
Skip to first unread message

Nick Albright

unread,
Aug 26, 1994, 4:25:11 PM8/26/94
to

A while ago, a wise man came from on high carrying two stone CDs. He
declared that the 3DO uses the preinitialization string 'iamaduck' to
signify that the space on the CD is unused. He then asked if anyone knew
of the origins of this string, or another OS that uses it. There was a
great silence... I have come to break that silence.

"Nope. What's the answer?" = )

I don't remember if this was answered. (If so, I probably missed it :)
I'd e-mail him, but I don't remember who he was, or his address. So I
hope he is still reading this, or someone else knows the answer. As I am
still, very curious.

[Disclaimer: I am not sure that he said is was the 3DO, but I think it
was. And I am fairly certain about the string. (Kinda hard to forget)
And I *KNOW* that there were 15 bonus points and a few gold stars riding
on the answer ;) ]

Thanx for your time,
-Nick
--
P.S. Any spelling mistakes are not those of the author, as he can't spell. :)

EdwardS632

unread,
Aug 26, 1994, 11:20:03 PM8/26/94
to
In article <Cv5sq...@oucsace.cs.ohiou.edu>,
albr...@bobcat.ent.ohiou.edu (Nick Albright) writes:

>>>>>>>>>> A while ago, a wise man came from on high carrying two stone
CDs. He
declared that the 3DO uses the preinitialization string 'iamaduck' to
signify that the space on the CD is unused. He then asked if anyone knew
of the origins of this string, or another OS that uses it. There was a
great silence... I have come to break that silence.

"Nope. What's the answer?" = )

I don't remember if this was answered. (If so, I probably missed it :)
I'd e-mail him, but I don't remember who he was, or his address. So I
hope he is still reading this, or someone else knows the answer. As I am
still, very curious.

[Disclaimer: I am not sure that he said is was the 3DO, but I think it
was. And I am fairly certain about the string. (Kinda hard to forget)
And I *KNOW* that there were 15 bonus points and a few gold stars riding
on the answer ;) ]<<<<<<<<<<<<<<<<<<


Well, I noticed it when I put the CD in my Mac and viewed the binary just
for fun. When I was looking through I saw the string iamaduck about 200
times on the first few blocks. I posted a message before and people said
I didn't have any idea what I was talking about.

I just wonder if this is just park of the OS or what. Well if anyone else
knows about this or has the answer why that string is there, please reply.

Dave Platt

unread,
Aug 27, 1994, 3:15:37 PM8/27/94
to
> A while ago, a wise man came from on high carrying two stone CDs. He
>declared that the 3DO uses the preinitialization string 'iamaduck' to
>signify that the space on the CD is unused.

Usually so, although the init string can be overridden during the CD-ROM
layout/premastering process.

> He then asked if anyone knew
>of the origins of this string, or another OS that uses it. There was a
>great silence... I have come to break that silence.
>
> "Nope. What's the answer?" = )

OK - it's been about six months, and nobody has been able to identify
where I got this string from (not enough old-timers around, I guess).
So, I'll reveal it.

The use of this string "iamaduck" is sort of a homage to one of first
"real" operating systems I ever had a chance to hack with. It was the
CP-V (Control Program 5) operating system, which ran on the Xerox
Sigma-6 (and later) 32-bit mainframes. This OS (and its predecessor
UTS) was an extremely flexible multiuser OS, which handled both batch
jobs (typically submitted from cards), on-line interactive users, and
"ghost" jobs (what a Unix person would call a daemon). It was written
to run in a small-memory environment, by today's standards - a 256k word
(one-megabyte) CP-V system was larger than usual - and it was capable of
supporting dozens of interactive users (on Teletypes or equivalent ASCII
terminals) and running several batch jobs, all at once. It normally
used a high-speed fixed-head disk or drum as a swap device.

The string IAMADUCK was used in the CP-V operating system to
pre-initialize an error recording table known as the "75TABLE". This
table was used as a snapshot area, to record any inconsistencies in the
filesystem data structures (in memory or disk) which were detected at
runtime. Such filesystem errors (e.g. lost or inaccessible files) were
reported to the program via a standard CP-V four-hex-digit error code
beginning with the sequence 75 (e.g. 7514 means "Cannot access file due
to directory damage")... hence the name of the 75TABLE array.

Since the 75TABLE was preinitialized to a repeated series of IAMADUCK,
and was of a known fixed size, it was easy to tell whether any
filesystem errors had been detected by simply glancing at a hex/ASCII
dump of that portion of the kernel's memory region. If you didn't see
the usual number of lines of IAMADUCK, you knew that there was some
filesystem trace information in the array which was worth examining.

When I wrote the 3DO CD layout software, I decided that preinitializing
the CD image file would be a Good Thing, to help debug problems,
identify uninitialized storage at runtime, and ensure that the old
contents of the image file wasn't accidentally mastered onto a CD
(remember the Prodigy STAGE.DAT file furor? Same issue...). I decided
to resurrect an identifying string from the first real filesystem code I
ever played around with.

Now... why did CP-V use "IAMADUCK" as its logging initializer? Beats
me. I never knew who wrote that code (although I did work with many of
the CP-V developers after their move to Honeywell during the development
of the CP-6 O/S).

So... the secret is now out, and the offer of bonus points for answering
the question has hereby expired.
--
Dave Platt dpl...@3do.com
USNAIL: The 3DO Company, Systems Software group
600 Galveston Drive
Redwood City, CA 94063

0 new messages