Commit | Line | Data |
---|---|---|
84b5715c PH |
1 | SECT PSPEAK\r |
2 | / SUBROUTINE PSPEAK(MSG,SKIP)\r | |
3 | / C\r | |
4 | / C FIND THE SKIP+1ST MESSAGE FOR OBJECT MSG AND PRINT IT.\r | |
5 | / C MSG SHOULD BE THE INDEX OF\r | |
6 | / C THE OBJECT. (INVEN+N+1 MESSAGE IS PROP=N MESSAGE).\r | |
7 | / C\r | |
8 | / IMPLICIT INTEGER (A-Z)\r | |
9 | / COMMON /TXTCOM/ RTEXT,LINES,ASCVAR\r | |
10 | / COMMON /PTXCOM/ PTEXT\r | |
11 | / DIMENSION RTEXT(205),LINES(36),PTEXT(100)\r | |
12 | \r | |
13 | EXTERN IO\r | |
14 | EXTERN SPEAK\r | |
15 | JA #ST\r | |
16 | #XR, ORG .+10\r | |
17 | TEXT +PSPEAK+\r | |
18 | #RET, SETX #XR\r | |
19 | SETB #BASE\r | |
20 | JA .+3\r | |
21 | #BASE, ORG .+6\r | |
22 | MSG, ORG .+3\r | |
23 | SKIP, ORG .+3\r | |
24 | ONE, F 1.0\r | |
25 | #DOTMP, ORG .+3\r | |
26 | OLDLOC, ORG .+3\r | |
27 | ORG #BASE+30\r | |
28 | FNOP\r | |
29 | JA #RET\r | |
30 | FNOP\r | |
31 | #GOBAK, 0;0\r | |
32 | I, ORG .+0003\r | |
33 | M, ORG .+0003\r | |
34 | #LBL=.\r | |
35 | COMMON PTXCOM\r | |
36 | PTEXT, ORG .+0454\r | |
37 | COMMON TXTCOM\r | |
38 | RTEXT, ORG .+1147\r | |
39 | LINES, ORG .+0044\r | |
40 | ASCVAR, ORG .+0003\r | |
41 | TXTLOC, ORG .+0003\r | |
42 | DATA, ORG .+0352\r | |
43 | ORG #LBL\r | |
44 | #RTN, BASE #BASE\r | |
45 | JA #GOBAK\r | |
46 | #ST, STARTD\r | |
47 | 0210\r | |
48 | FSTA #GOBAK,0\r | |
49 | 0200\r | |
50 | SETX #XR\r | |
51 | SETB #BASE\r | |
52 | LDX 0,1\r | |
53 | FSTA #BASE\r | |
54 | FLDA% #BASE,1+\r | |
55 | FSTA MSG\r | |
56 | FLDA% #BASE,1+\r | |
57 | FSTA SKIP\r | |
58 | STARTF\r | |
59 | / M=PTEXT(MSG)\r | |
60 | FLDA% MSG\r | |
61 | ATX 7\r | |
62 | FLDA PTEXT-0003,7\r | |
63 | FSTA M\r | |
64 | / IF(SKIP.LT.0)GOTO 9\r | |
65 | FLDA% SKIP\r | |
66 | JLT #9\r | |
67 | / OLDLOC=MSG\r | |
68 | FLDA% MSG\r | |
69 | FSTA OLDLOC\r | |
70 | / DO 3 I=1,SKIP+1\r | |
71 | FLDA ONE\r | |
72 | FSTA I\r | |
73 | FLDA% SKIP\r | |
74 | FADD ONE\r | |
75 | FSTA #DOTMP\r | |
76 | \r | |
77 | #G0001,\r | |
78 | / 1 READ(2'M)LOC,LINES\r | |
79 | #1, JSR IO\r | |
80 | JA .+0004\r | |
81 | JA M\r | |
82 | / M = ASCVAR\r | |
83 | FLDA M\r | |
84 | FADD ONE\r | |
85 | FSTA M\r | |
86 | / IF(LOC.EQ.OLDLOC) GO TO 1\r | |
87 | FLDA TXTLOC\r | |
88 | FSUB OLDLOC\r | |
89 | JEQ #1\r | |
90 | / OLDLOC=LOC\r | |
91 | FLDA TXTLOC\r | |
92 | FSTA OLDLOC\r | |
93 | / 3 CONTINUE\r | |
94 | #3, FLDA I\r | |
95 | FADD ONE\r | |
96 | FSTA I\r | |
97 | FSUB #DOTMP\r | |
98 | JLE #G0001\r | |
99 | / M=M-1\r | |
100 | FLDA M\r | |
101 | FSUB ONE\r | |
102 | FSTA M\r | |
103 | / CALL SPEAK(M)\r | |
104 | #9, JSR SPEAK\r | |
105 | / RETURN\r | |
106 | / END\r | |
107 | JA #RTN\r | |
108 | JA M\r | |
109 | END\r |