A large commit.
[pdp8.git] / sw / src / adventure / RSPEAK.RA
diff --git a/sw/src/adventure/RSPEAK.RA b/sw/src/adventure/RSPEAK.RA
new file mode 100644 (file)
index 0000000..1a94df8
--- /dev/null
@@ -0,0 +1,57 @@
+       SECT    RSPEAK\r
+/      SUBROUTINE RSPEAK(I)\r
+/C\r
+/C PRINT THE I-TH "RANDOM" MESSAGE (SECTION 6 OF DATABASE).\r
+/C\r
+/      IMPLICIT INTEGER (A-Z)\r
+/      COMMON /TXTCOM/ RTEXT\r
+/      DIMENSION RTEXT(205)\r
+\r
+       EXTERN  SPEAK\r
+       JA      #ST\r
+#XR,   ORG     .+10\r
+       TEXT    +RSPEAK+\r
+#RET,  SETX    #XR\r
+       SETB    #BASE\r
+       JA      .+3\r
+#BASE, ORG     .+6\r
+I,     ORG     .+3\r
+J,     ORG     .+3\r
+       ORG     #BASE+30\r
+       FNOP\r
+       JA      #RET\r
+       FNOP\r
+#GOBAK,        0;0\r
+       #LBL=.\r
+       COMMON  TXTCOM\r
+RTEXT, ORG     .+1147\r
+LINES, ORG     .+44\r
+ASCVAR,        ORG     .+3\r
+TXTLOC,        ORG     .+3\r
+DATA,  ORG     .+0234\r
+       ORG     #LBL\r
+#RTN,  BASE    #BASE\r
+       JA      #GOBAK\r
+#ST,   STARTD\r
+       0210\r
+       FSTA    #GOBAK,0\r
+       0200\r
+       SETX    #XR\r
+       SETB    #BASE\r
+       LDX     0,1\r
+       FSTA    #BASE\r
+       FLDA%   #BASE,1+\r
+       FSTA    I\r
+       STARTF\r
+/       IF(I.NE.0)CALL SPEAK(RTEXT(I))\r
+       FLDA%   I\r
+       JEQ     #RTN\r
+/       CALL SPEAK(RTEXT(I))\r
+       ATX     7\r
+       FLDA    RTEXT-3,7\r
+       FSTA    J\r
+       JSR     SPEAK\r
+/       RETURN\r
+       JA      #RTN\r
+       JA      J\r
+       END\r