Tuesday, May 16, 2023

Oliver Marley’s ThinkPad - An Artifact for Delta Green

The following is an artifact that I wrote up for an artifact and tome jam that took place on the Night at the Opera Discord server. This one might be particularly interesting if you have a computer scientist/hacker/electrical engineer among your Agents.

Description

This laptop is an IBM ThinkPad T20, manufactured in 2000. A sticker on the underside marks it as the property of Oliver Marley. It looks old and battered, but is still functional, except the CD drive, which won’t open. The iconic ThinkPad trackpoint is missing, instead a syringe-like needle is sticking out of the keyboard.
The laptop boots a long outdated version of Debian Linux, when turned on. The home directory contains only two files: show.c and a.out

An ordinary T20

Dismantling the Laptop

Agents with Forensics might notice that the laptop has been taken apart previously. Craft (Microelectronics) reveals that the CD drive has been heavily modified, or rather repurposed. The CD tray contains a disc-shaped metallic mirror. Additional laser diodes have been added, as well as several integrated circuits.
A cable  connects to the needle in the keyboard, other cables lead to the mainboard, where they have been soldered to connect to the existing circuitry.
Those with Craft (Microelectronics) struggle to make sense of this contraption, it defies human understanding. Realizing this costs 0/1 SAN.
Though they fail to understand how the laptop works, they might be able to repair it in case it ever breaks.

Analyzing show.c

The file contains code in the C programming language and can be divided into two parts. The first part was written in a standard C-style. It is structured and contains helpful comments by the author. Input/output routines and other mundane functionality is defined in this section.
The other part is pure chaos. The code is not formatted at all, except for occasional line breaks. Variables have nonsensical names, comments are missing completely, and inline assembly is used generously. At a glance, it is not clear what this code is actually doing.
Dissecting the code further takes 1D4 days and Computer Science 40% or higher. The analysis reveals that the chaotic part of the code defines several subroutines, each of those runs a different algorithm. They have in common that they access different hardware components in a complex sequence of steps.
The subroutines are called from within the structured part of the code, in the following functions:
Subroutine 1: void obs_loc_t(gps_t loc, time_t t)
Subroutine 2: void lst_loc_t(char* name, gps_t loc, time_t t)
Subroutine 3: void snd_msg(char* name, date_t d, gps_t loc, char* msg)
Subroutine 4: void goto_lib() // goto_lib considered harmful LOL
Give any Agent that finds these functions some hints on what the corresponding subroutines might be doing and what input is expected.
Copying the code or the executable to another machine won’t result in anything useful. The program just crashes, since it relies on the specific hardware in the original ThinkPad.

Running a.out

a.out is the executable that is created when show.c is compiled. Running it opens a terminal window with a prompt, waiting for input. Agents that have analyzed show.c might know that they are expected to enter the number of the subroutine they want to run.
After selecting the subroutine they are prompted to pierce their finger on the needle in the keyboard. The needle draws a surprisingly large amount of blood. This costs WP, the amount depends on the selected subroutine.
Running the subroutines drains a large amount of power from the laptop’s battery, should it not be plugged in. The laptop can run two subroutines per day on battery power alone. Afterwards, it has to be recharged for half a day.

Subroutine 1 - obs_loc_t

Executing this subroutine costs 1D4 WP. The operator has to enter GPS coordinates and a UNIX timestamp. A window with a video feed pops up and shows a low-resolution “recording” of the events at the specified location and time. After one minute the window closes automatically.
The subroutine can show any time and any place between January 1st 1970 and now, even if no recording equipment could have possibly been there. Realizing this costs 0/1D4 SAN.

Subroutine 2 - lst_loc_t

Executing this subroutine costs 1 WP. The operator has to enter the name, birthdate and birthplace of an individual. The program runs for a little while, then terminates. A new file appears on the desktop. The content is a list of places that the specified individual has visited in their lifetime, including the dates when they have been there, down to the second. The list is not necessarily exhaustive, this is up for the Handler to decide.
Realizing that the program is capable of creating these precise and impossibly extensive lists for every possible target costs 0/1 SAN.

Subroutine 3 - snd_msg

The operator has to enter the name, birthdate and birthplace of an individual, as well as a message no longer than ten words. The target receives the message through telepathic means almost immediately.
Receiving such a message costs 0/1D4 SAN, merely realizing the capabilities of the subroutine costs 0/1 SAN.

Subroutine 4 - goto_lib

Using this subroutine initiates an immediate mind swap between the operator and a Yithian in the Great Library of Pnakotus. The Handler decides if the Yithian is hostile, neutral or friendly.
An Agent that suddenly finds themself in the body of a Yithian, in a different time and place, loses 1D6/1D20 SAN. However, now they have the chance to explore the Great Library. What they learn there and if they are able to return to their body is up for the Handler to decide.

History

The laptop was bought by Washington DC programmer Oliver Marley  on September 9th, 2001. Later the same day his body was taken over by a member of the Great Race. The Yithian wrote the core functionality of show.c in less than an hour, and then used the program to track down Colonel Henry Sanford, US Army. Two days later the Yithian crashed Oliver Marley’s car into Colonel Sanford’s car. This prevented him from being at work in time, where he would have been killed in the 9/11 terror attacks on the Pentagon.
Afterwards, the Yithian used Subroutine 4 to swap back to its cone-shaped body.
Oliver Marley found the source code on his laptop and extended it, so that he and other humans can use it.
The further history of the laptop is up to the Handler, but the following scenario seeds can serve as inspiration.

Scenario Seeds

  • After being returned to his body, Oliver Marley went crazy and started telling everyone about cone-shaped entities in a big library. This caught Delta Green’s attention. They confiscated his laptop and admitted him to a mental hospital. The laptop was stored in a Green Box, where it is still waiting to be found by the Agents.
  • After having learnt many things in the Great Library of Pnakotus, Oliver Marley became an operative of The Motion. He is now using the capabilities of his laptop to hinder the Agents in their current investigation. Alternatively, Marley could be an ally, if the Agents are on a mission where success could benefit the Great Race.
  • Teenager Natalie Marley inherited the laptop from her recently deceased uncle, Oliver. Now she is using Subroutine 3 to drive the bullies at her high school into madness. The cluster of suicides of popular teens came to DG’s attention and now the Agents have to investigate.


3 comments: