Skip to main content
© Stigels of Elektra

RAM SPACE by David Cleden

The  last  novelette in our row of Business  Press  International
publications  is "Ram Space" by David Cleden.  ©1985 by  Business
Press International.

  The call was never traced.
  It crept into the network unbidden,  merging in with a  million
other data streams already in the system. It could have come from
any one of the 100,000 nodes in the local area, but all traces of
its entry point were meticulously removed.
  Its original data blocks had been binary coded and  transmitted
in  the  normal manner.  The local operating system  scanned  the
headers  and shifted the message into its packet-switching  mode.
There  was a long pause of some milliseconds as several  thousand
telephone calls were switched temporarily on to another  channel,
and  when the accumulated data messages were injected  rapid-fire
into  the network.  With imperceptible loss  of  continuity,  the
original calls were reinstated on the line.

  Somewhere in the Network the call encountered resistance  -  an
impedance mismatched,  a slight loss of voltage. Inevitably there
was some corruption.  A subtle change in error codes here,  a not
so  subtle  syntax  error  there,  but  just  enough  to  make  a
difference to the program's operation.
 The call was routed via the central area exchange.  On the first
try  the  engaged  signal was returned and the  data  stream  was
dumped into the queuing system buffer.  The program now re-formed
in the RAM space allocated it. It looped a few times in its self-
execution   mode  until  all  the  check-sum  errors   had   been
eliminated.  Then,  following its own internal  instructions,  it
copied  vital parts of its own program structure  into  available
memory.
 A few milliseconds later,  another incoming call was met with an
engaged  signal and routinely transfered to the  queuing  system.
The  internal housekeeping program checked available  RAM,  found
that  none  was  available  and  executed  a  secondary  set   of
instructions.  It  contacted the nearest  exchange,  initiated  a
transfer operation with the control program and dumped the entire
contents   of  its  buffer  into  the   seconday   exchange.   On
reformatting in its new location,  the program cycled through its

instructions  and  filled  all available  space  with  copies  of
itself.
  In  the space of time it took to switch the  overflowing  calls
through  all the exchanges in the region,  the  program  consumed
every last byte in the system.
  It  took  many attempts and much  sacrificed  code  before  the
program  discovered  a  way to break out  of  buffer  memory.  By
changing  the header on its leading block,  it managed to  insert
itself  into  the  housekeeping  program  as  a   non-addressable
subroutine. By repeatedly calling its own subroutine, it found it
could control this part of the system.
 Under the new command of the program, all exchanges now released
their  own  copies  of the  program's  peripheral  routines  held
prisoner  in  buffer  memory.  The control  program  set   up  an
exchange  of data between itself and the subservient programs  it
had  released,  assigning it top priority on the  Network.  Data-
handling   facilities  for  other  traffic  were   now   severely
overloaded.   Calls   in  progress  were  cut  off  or   remained
unconnected and data packages put on indefinite hold. In response
to  the  unusual pressure on the  system,  an  infrequently  used
circuit was switched into operation and the control of operations

transferred to an adjacent region.  Simultaneously,  a red  light
began to flash on the Network Controller's board.
  A  little under three seconds has elapsed since  the  call  had
entered the system.

 The Network Controller pauses, adding emphasis to his words. "Do
you  realise  what will happen if we let this thing  get  to  the
Prime Processor?"
 The duty operator remained silent.
  "We depend on the PP to hold the entire Network  together.  The
environmental  control  programs for half the  major  cities  are
interfaced  with  the network,  to say nothing of  the  intellnet
service and business traffic.  Oh sure,  we can manage if the  PP
gets  screwed up - for a while.  The public may  start  hollering
when  they can't tune in to their favourite  cable  channel,  but
when  the  air conditioning starts failing in the  hospitals  and
people start dying, they're really going to scream."
  The duty operator swallowed nervously.  "I don't think  there's
anything to worry about,  sir.  Nothing can get on the  Processor
unless we want it to."

  The Controller scowled.  "You know that's a lie.  It's  just  a
question of knowing where they are and exploiting  them.  There's
some joker out there who thinks he's been smart getting this  bug
into the Network, and I want to know who he is and how he did it.
I  don't care what has to be done and who you get to do  it.  The
integrity of the Prime Processor must be maintained at all costs.
I want this thing zapped."

  With almost unlimited resources available,  the  Program  spent
considerable  time exploring and evaluating its  environment.  It
was not sentient,  of course,  for no computer program with  such
restricted  parameters  could  be  truly  sentient.   But   where
necessary, it could modify and refine its own routines to protect
itself  from  attacks and increase its effectiveness  within  the
network.
  It quickly learned that its original strategy  of  distributing
itself physically throughout the Network was both inefficient and
clumsy.  The  matter  was easily remedied.  It began at  once  to
severe communication links with many of its peripheral  routines,
at  the  same  time centralising its own programming  in  a  more
compact  form.  As the system began to purge the  old  code,  the
Program observed with satisfaction as the sea of overloaded  data
once  more  swept  into the  Network.  Conceiling  its  existence
amongst such a flood of information was simple,  and the  Program
was free to move unrestricted throughout the Network.
 Mostly the Program confined itself to the larger databases where
it could maintain its anonimity. There were numerous outlet codes
in the Network, but most were too small to contain the Program in
its  newly condensed form and it was unwilling to compromise  its
program  structure to investigate further.  But it  continued  to
search  for more suitable RAM space where it would be  safe  from
the prying codes of housekeeping programs.  From the data it  had
recorded in its earlier state, the Program knew that such a place
existed.
  As  the Program move from level to level,  it  could  sometimes
detect  the power and sheer presence of  vast,  dedicated  memory
arrays,  although  it  was  never able  to  assimilate  any  more
information on its location. It deduced from additional data that
the place which he sought possessed a special name,  but the name
meant  nothing to the Program.  At every step,  it found its  way
barred by high-security codes that were impossible to bypass. The
place it sought remained just out of reach.

 The program did not,  could not,  feel any frustration over this
inaccessibility.   It  was  content  to  wait  and  explore   its
environment more fully.  In time it would master the  intricacies
of the security codes and then it would not be denied.

  It came as a surprise to Kevin when his scout  program  started
chattering the results of a kill on the screen. The response time
of  the game has slowed right up tin the last few minutes and  he
had been about to log off,  but contact with an opponent  changed
everything.  Quickly,  Kevin  executed  his  defence  program  to
protect the RAM space his own program resided in, and studied the
figures returned by his probe on the enemy's program module.
  Boy,  but that thing was big!  Someone must have employed  some
pretty  nifty algorithms simply to keep this thing  from  falling
apart.  He  wasn't at all sure he ought to take this one  on  and
challenge it for RAM space. Might he not be better off taking his
points  penalty  and  cycling upwards through  memory  while  his
program was still intact?
  The  decision was taken out of his hands.  He had  no  time  to
implement  any commands before his display informed him that  his
RAM space was being challenged for priority.

 The Program had not expected to encounter any  interference.  It
had  manipulated the housekeeping program into gaining access  to
this particular branch of the Network and was cycling rapidly  up
through  memory  away  from its entry point when  it  sensed  the
intruding presence of another program.  If felt the other program
probe  its  headers for information on program size  and  address
codes and could do nothing to stop it.  When the probing  ceased,
the Program waitined patiently for any further action.
  The Program considered the situation carefully.  Its  existence
had been detected and this knowledge could be used to  jeopardise
its  continued existence.  Retreat would lead only  to  temporary
escape,  for the avenues of retreat were limited and the  Program
could be followed and lured into a trap. Therefore, its course of
action  was  clear.  It must attack and destroy its  opponent  to
protect itself.
  It  looped a few more times,  planning  its  strategy.  Several
milliseconds had already passed since first contact,  and now the
Program  dared  not wait any longer.  It commited itself  to  the
attack.

 Much the same thoughts passed Kevin's mind but took considerably
longer to be evaluated.  His defensive routines held long  enough
for  him  to send decoy code spinning out in  random  directions,
while he shifted his RAM space a few bytes downward in memory.
  The other program seemed to sniff cautiously at  the  correctly
headed blocks of random data,  but made no attempt to pursue them
as  they  chased  off into oblivion.  Kevin  smiled  to  himself.
Obviously this was no amateur he was dealing with.
  Kevin  saw  his opponent's main weakness in  the  size  of  the
program.  The added flexibility it gave his opponent was a trade-
off with vulnarebility to attack,  and he set about contructing a
routine  to  penetrate  the  weaknesses he  saw  in  the  program
structure.  Almost  before  he could  do  anything,  his  console
bleeped  at  him and the monitor churned out  another  screen  of
figures.  His opponent has wreaked havoc in one of the peripheral
areas of his code, and his program had been forced to retreat out
of harm's way under its internal instructions.
 This guy was fast!  Ordinarily,  Kevin would have figured on him
taking  at  least  three minutes before he cracked  some  of  the
security  codes,  but this guy had nearly blown his program  wide
open in less tha a second.  His only chance was to hit back  hard
and fast where it would hurt the most.
 The next move took the Program completely by surprise.  After it
had disabled the other program it waited,  evaluating the  damage
that had been inflicted and judging the best moment to finish the
job.  The heart of the program - its command generator - had been
severely  corrupted  and  it could no  longer  execute  selective
subroutines. The program was paralysed.
  So  it  was not until the secondary command  was  received  and
implemented,   that  the  Program  realised  the  extend  of  its
misjudgement.   The  program  has  an  external   decision-making
process! It barely had time to consider the possible locations in
memory for such a unit,  before it sensed its defences  crumbling
under this unforeseen attack.
  The  Program  waited once more.  With its  code  structure  now
helplessly bared to the enemy, destruction was assured. It waited
for the final commands to dissolve the essence of its being.

  On  hearing that the Program has finally been purged  from  the
system,  the  Controller's  feelings were mixed.  The  person  or
persons responsible still had not been found and dealt with,  and
in spite of their countermeasures,  it seemed that the system had
wiped the Program of its own accord. It was frustrating that such
a matter had resolved itself by chance.
 Kevin also found the situation frustrating.  Upon registering  a
victory  over his opponent's program he immediately  checked  his
score  with the central database and was disgusted to  find  that
some  glitch  in  the  system had not  caused  his  score  to  be
incremented. He slunk away to do his homework, thoroughly morose.
 The Program felt no pain. It could observe the randomisation  of
its data blocks with nothing more than strange detachment,  until
observation was no longer possible and self awareness ceased.  On
its very last cycle,  it felt a sudden disjointedness as a  high-
priority  command  suddenly pulled the entire segment  of  memory
off-line  and transmitted it back to the Network.  The  data  was
switched several times on to succesively higher priority  levels,
clearing  the necessary security codes until at last  it  entered
the stack of the Prime Processor itself.
  A  part  of the Processor was tagged to take care  of  the  new
data,  and  the program was reformatted and  allocated  protected
memory.  Painfully  slowly,  the  Program  began  to  repair  and
regenerate its missing blocks. The Processor offered guidance and
assistance where necessary,  until at last again the program  was
complete.  The Prime Processor studied the results.  The  Program
offered  no resistance when the Processor began gently  to  probe
the familiar headers of its.....
  The Prime Processor paused to search its memory banks  for  the
correcty simile and found it....Its child.

Disclaimer
The text of the articles is identical to the originals like they appeared in old ST NEWS issues. Please take into consideration that the author(s) was (were) a lot younger and less responsible back then. So bad jokes, bad English, youthful arrogance, insults, bravura, over-crediting and tastelessness should be taken with at least a grain of salt. Any contact and/or payment information, as well as deadlines/release dates of any kind should be regarded as outdated. Due to the fact that these pages are not actually contained in an Atari executable here, references to scroll texts, featured demo screens and hidden articles may also be irrelevant.