Authors: James L Gillaspy
Tags: #Science Fiction, #Fiction, #Hard Science Fiction
The programmers had prepared a simulation based on the
previous attacks. "Simulation started," Tommy said.
On the monitors, the Kadiil ship disappeared into a wormhole
and reappeared about ten thousand kilometers from the image of
The People's
Fist
.
"It is sending commands to create a black hole inside the
coordinates of
The People's Fist
," Leegh reported.
Tommy sent radar telemetry of the ship being atomized, then
called to the artisan on the ladder. "Pull the plug!"
They ran the simulation again with
The People's Fist
at two light seconds from the Kadiil ship, again at three light seconds, and
again at four light seconds. Each had the same result with two differences,
the messages being sent through the fake wormholes became longer and longer,
and the wormhole jump arrays were different.
"Now we will complicate things some," Tommy said,
as he added a planet below
The People's Hand
and
The People's Fist
at ten light seconds from the star. He then went through the same series of
distances. In each simulation the Kadiil ship jumped in via wormhole, destroyed
the planet and their ship, then jumped out to The People's Fist to complete the
attack.
"Determined, aren't they," muttered Tommy.
"Time to analyze the data. Pull the plug. We will
meet here tomorrow at the same time."
# # #
He and Leegh got little sleep that night. Tommy's eyes felt
like they had crusted over, and Leegh's tail dragged behind her heavily as they
walked back into the hanger. Even so, both were elated at what they had found
so far.
"All right, everyone.” Tommy said in the lords’
language. “Let us begin. Since Leegh's discoveries are the most exciting, she
will start."
Leegh stood to address the group. "We are certain we
know how to direct the drive to create a dimensional tunnel. With some
experimentation, we should be able to transport this ship anywhere in the
galaxy. The matrices we received include identical coordinate parameters to
those used by transit. The only issue is the size of the tunnel mouth. I
believe I have located that parameter, but, since our ship is much larger than
a Kadiil ship, we must be sure.
"Unfortunately, we cannot perform such experiments
here, and we would certainly be followed even if we did escape by dimensional
tunnel." Even in her fatigue, she swished her tail from side to side.
"However, I will not be discouraged again. Not until I have nothing left
to learn."
"We did not learn much from the messages that were
sent," Tommy said rising in turn. "As we expected, the code uses the
same base twelve numbers as the drives. We would have been surprised to
discover anything different. The first and last twelve digits of each
transmission are the same. We are assuming that sequence is this ship
identifying itself and signing off. We found matrices containing the Kadiil
ship's last known position in the same place after the initial sign on in each
message. Other matrices identify dimensional tunneling destinations and black
hole targets. The numbers in between are still a mystery, but we have made a
good start."
# # #
When everyone was ready, Tommy began what he intended to be
the first of several more tests. So far, everything sent to the computer had
been reasonable. In these tests, he wanted to learn what the computer did when
the data received from its sensors defied reality.
"Plug it in," he called.
What the Kadiil saw through its sensors began the same as
the first test of the day before:
The People's Fist
at one light
second. This time, however, when the Kadiil jumped in to attack,
The
People's Fist
withdrew to one light second with none of the gravity
signatures the Kadiil should expect. When the Kadiil followed,
The People's
Fist
waited and allowed the Kadiil to attack, without effect. The black
hole appeared to be instantly neutralized. On the monitor,
The People's Fist
jumped around the Kadiil, as if taunting it. Other ships materialized on the
monitor and danced around the Kadiil. Tommy had drawn on records of ships from
the eight species that traded at Toblepas to make his simulation. Each was
represented.
"We are getting a steady stream of output from the
transmitters through the internal dimensional tunnels," an artisan called.
Tommy instructed the gravity sensors to send his last piece
of misinformation: that an object of infinite mass, a black hole, enclosed the
Kadiil ship.
"The data rate has increased exponentially, but we're
getting it all," shouted the same artisan.
The steady flickering through the Kadiil computer's optical
cables stopped. All the artisans watching the data streams and Tommy's own monitor
reported output had also ceased.
"It turned itself off!" Tommy said.
He looked around at the tired faces of the workers. "Enough
for now. I want ten copies of everything that was transmitted. The Computer
Guild will meet in our guildhall in four hours. Leegh, I hope you will join
us. Everyone else get some rest. I will let you know when we will run the
next test."
# # #
After the general meeting, Tommy had large tables brought
into the guildhall. Selecting the artisans who had shown the most promise, he
put a copy of the printed transmissions, a stack at least a foot high, in front
of each one. He saved two copies for himself and Leegh.
"To begin with, I want each of you to work alone,"
Tommy said. "Try to find patterns in this data. If you get tired, give
someone else your place. Make good notes. Write in the margins. Tomorrow
morning we will compare our findings and decide what to do next."
He sat in his own chair and began slowly turning pages.
The first several hundred pages were similar to those he had
examined the night before. The same ship identification number followed by
positioning arrays mixed with other numbers. After that, the pattern changed.
He turned pages more rapidly, searching for anything familiar. Several hundred
pages later, the positioning arrays reappeared. He marked the page and
returned to the previous group of arrays he had seen. Almost twenty pages of
the earlier printout were identical with the later printout. He raised his
head and spoke aloud. "It's a memory dump. Most of this has to be a
memory dump."
Leegh looked up from her printout. "What did you
say?"
Tommy repeated his conjecture in the lords' language.
"Before the Kadiil computer shut down, it sent the contents of its entire
memory through the transmission tunnel." He examined more closely the
pages between the two groups of arrays. "If I can find where it starts.
Yes! Here is the identification number repeated twice. The second one might
be where the memory dump starts.
"Everyone come here," he said, breaking his own
work instructions. "I want to show you what I found."
An hour later, Vent came to Tommy's chair. "Maybe this
means something. Since the alphabet is base twelve, I started marking every
twelve characters to see if I could find a pattern. Look here, a couple of
pages into the dump." He put his finger on the first of some tic marks he
had drawn between two characters and repeated every twelve characters after for
several pages. "I found a pattern of sorts, but every twenty-four
characters, not every twelve characters. If the first two characters of each
twenty-four-character group were random, the numbers would range from zero to
20,736 in base ten. Instead, in the sample I marked, the highest number I
found in those two characters is four hundred twenty-eight."
"They're operation codes,” Tommy guessed. “They must
be machine language operation codes." He stood up. "Continue to
work here,” he called to the others. “Vent and I will be working on something
else."
To Vent he said, "We need the original computer data.
With your insight, we can write a program to do some analysis."
By the day's end, they had extracted just the memory dump of
the original data and had begun to write an analysis program. The program's first
task was to count the repetitions of the first two characters of what they were
calling twenty-four character words. Some of the operation codes were used a
lot more than others.
They were soon making another assumption: characters five
through fourteen and fifteen through twenty-four of each operation code
represented memory addresses within the dump. The third and fourth characters
seemed to be modifiers.
Tommy examined a group of operation codes with one address.
"These must be branch codes," he finally told Vent, "Codes that
tell the program to begin executing in some other place in memory. Let's
extend our program to build a map of from and to addresses for the jump
operations. Maybe that will show something."
At first, what they found didn't make sense, until Tommy
decided the third character pointed at one hundred forty-four registers in
memory beginning at address zero. When the indicated twelve-character
register's contents were added to the address in the last ten characters of the
operation code, the resulting address was always another segment of program,
rather than data.
That left the fourth character. For one jump operation
code, it always contained zero. The others could have any value from zero to
143.
“Maybe the first jump operation is storing a return address
in the first register,” Vent said.
“You have to be right,” Tommy said, nodding. “And the
second jump code at the end of the code segment?”
“It has to be loading the return address from the same
register and branching back to the original point in the program,” Vent
replied.
They had discovered how the language created subroutines.
“You’re getting good at this,” Tommy said, smiling as he
clapped Vent on the shoulder.
They changed their analysis program to create a map of
subroutines, and from where they were used.
Without their computer program, the job would have been too
massive; the dump contained thousands of subroutines and millions of lines of
code. They didn't have any idea what the subroutines were doing, but Vent
spotted the two things that were obvious.
"Many of these subroutines aren't being used
anymore," he observed, "and this jump with no return operation is
used to skip big chunks of code."
"And the live code is all over the place in the dump,
as if it were written by many people at different times," Tommy added.
They made more progress the next day. By identifying the
parts of the Kadiil program containing array commands to the drive, they
established the general format of device driver subroutines. Data from the
sensor logs made during the last test matched strings of characters in the
dump, establishing which driver controlled which sensor. The discovery of the
drivers associated with the radios transmitting and receiving through the
internal wormholes sent Tommy back to a full meeting of everyone involved in
the simulations.
After describing their findings, he continued, "We will
now add something new to the simulations. If we assume the Kadiil ship
receives orders through the internal dimensional tunnels and reacts to those
orders, the next step is to identify where the processing takes place in the
Kadiil operating system. We will also need a sample of those orders. I also
want to send radio messages to the Kadiil and observe what it does with them.
Is it possible to restart the internal dimension tunnels?"
Answering that question took most of a week, and it wouldn't
have been possible without Leegh. Tommy was astonished to see her on her hands
and knees, plump belly dragging on the floor in front of her short legs, tail
wagging behind her, as she helped a human artisan trace circuitry through one
of the Kadiil boxes.
With the internal wormholes restarted and new recording
devices in place, he began a simulation with a "sane" scenario.
Almost immediately, messages began arriving through the wormholes.
The Kadiil computer responded as before but after a
noticeable hesitation.
If we run enough of these tests, I wonder if it's
smart enough to figure out it's being hoaxed.
He began an "insane" scenario, where nothing the
Kadiil did was effective against its tormenters. Throughout the scenario, as
the Kadiil transmitted an increasing number of messages, the number of messages
in reply from the wormhole also increased. The Kadiil repeatedly sent commands
to the drive to jump away and finally, when nothing happened, tried to focus a
black hole on itself.
As this test ended, as had the final test of the previous
series, with the Kadiil transmitting a memory dump and shutting down, a man
shouted from the communications desk at the entry to the hanger. “Master
Tommy, the bridge officer wants to talk with you!”
“Master Tommy, this is Ulsu,” said the voice on the other
end of the wired connection to the bridge of
My Flowing Steams
. “Ten
minutes ago, a nuclear weapon exploded approximately a million kilometers from
us in the direction of the nova.”
“I will be there, immediately,” Tommy replied. “Get Leegh.”
# # #
By the time Tommy and Leegh reached the bridge, the
instruments had detected two more nuclear explosions, both between the ship and
the nova and too far away to damage the ship.
“The last was closer,” Leegh said, “but not by much.”
“They know we are still here because of the last test,”
Tommy responded. He looked at the coordinates of the blasts. “Why are they
shooting at us there? Maybe--” He pulled up the hatch to the lower deck. “I
will be right back.”