added doc files, test for display
[dcpu16] / docs / spc2000.txt
diff --git a/docs/spc2000.txt b/docs/spc2000.txt
new file mode 100644 (file)
index 0000000..94cf610
--- /dev/null
@@ -0,0 +1,84 @@
+NE_SPC2000 v1.1\r
+    \r
+                                     \ |  ___ \r
+                                   |\ \|  ___  \r
+                                   | \\r
+\r
+                                 NYA ELEKTRISKA\r
+                             innovation information\r
+\r
+\r
+DCPU-16 Hardware Info:\r
+    Name: SPC2000 - Suspension Chamber 2000\r
+    ID: 0x40e41d9d, version: 0x005e\r
+    Manufacturer: 0x1c6c8b36 (NYA_ELEKTRISKA)\r
+\r
+\r
+======================= WARNING WARNING WARNING WARNING ========================    \r
+  FERMIONS NEAR THE ACTIVATION RADIUS ARE CATASTROPHICALLY DESTROYED. DO NOT\r
+  USE NEAR EARTH OR MARS OR ANY OTHER FUTURE EARTH COLONIES. DO NOT TAMPER\r
+  WITH THE VACUUM DETECTOR. DO NOT USE IN AN UNEVEN GRAVITATIONAL FIELD. DO\r
+  NOT USE WHEN ROTATING. DO NOT USE WHEN ACCELERATING. ABSOLUTELY NO WARRANTY\r
+  IS PROVIDED, USE AT YOUR OWN RISK.\r
+  THE ZEF882 INCLUDED IN THIS SUSPENSION CHAMBER IS ILLEGAL IN ALL COUNTRIES.\r
+======================= WARNING WARNING WARNING WARNING ========================    \r
+\r
+Description:\r
+    The SPC2000 is a deep sleep cell based on the ZEF882 time dilation field\r
+    generator (available from Polytron Corporation Incorporated).\r
+    It provides safe and nearly instantaneous time passage, making long journeys\r
+    in space much easier on the passengers, and allowing cargo to reach its\r
+    destination with minimal aging occurring.\r
+    Due to the nature of the ZEF882, it affects the entire vessel (50 meter\r
+    radius, and will only engage in a near vacuum. Once the SPC2000 is active,\r
+    the vessel will be almost nowhere to an external observer, and detection of\r
+    the vessel is beyond unlikely.\r
+    Because of the strong extra-dimensional acceleration and non-linear temporal\r
+    distortion that occurs, it's highly recommended that passengers are strapped\r
+    in and asleep when triggering the SCP2000.\r
+    \r
+\r
+Improvements:\r
+    * Added the ability to set the unit to skip to something other than the\r
+      default setting of milliseconds.\r
+    \r
+    \r
+Interrupt behavior:\r
+    When a HWI is received by the SPC2000, it reads the A register and does one\r
+    of the following actions:\r
+    \r
+    0: GET_STATUS\r
+       Sets the C register to 1 if the SPC2000 is ready to trigger. If it's not,\r
+       the B register is set to one of the following values:\r
+          0x0000: ######################## - EVACUATE VESSEL IMMEDIATELY\r
+          0x0001: Not in a vacuum\r
+          0x0002: Not enough fuel\r
+          0x0003: Gravitational forces too uneven\r
+          0x0004: Too much angular momentum\r
+          0x0005: One or more cell doors are open\r
+          0x0006: Mechanical error\r
+          0xffff: Unknown error - EVACUATE VESSEL IMMEDIATELY\r
+    1: SET_UNIT_TO_SKIP\r
+       Reads the B register, and reads a 64 bit number from memory address B\r
+       in big endian, and sets the number of units to skip to that number.\r
+    2: TRIGGER_DEVICE\r
+       Performs GET_STATUS, and if C is 0, triggers the SCP2000. The status can\r
+       be read as the result of the GET_STATUS call.\r
+    3: SET_SKIP_UNIT\r
+       Reads the B register, and sets the size of the unit to skip to one of:\r
+           0x0000: Milliseconds\r
+           0x0001: Minutes\r
+           0x0002: Days\r
+           0x0003: Years\r
+       \r
+       \r
+A message from Ola:\r
+    Good morning,\r
+   \r
+    Thanks for purchasing this piece of hardware! I hope it will enlighten you\r
+    and give you new hope in life. As this suspension chamber basically works as\r
+    a one way time machine, I suppose I should wish you a pleasant journey, and\r
+    ask of you to enjoy the future. It is yours now. All of it.\r
+   \r
+    - Ola Kristian Carlsson\r
+    
\ No newline at end of file