+++ /dev/null
- SECT PSPEAK\r
-/ SUBROUTINE PSPEAK(MSG,SKIP)\r
-/ C\r
-/ C FIND THE SKIP+1ST MESSAGE FOR OBJECT MSG AND PRINT IT.\r
-/ C MSG SHOULD BE THE INDEX OF\r
-/ C THE OBJECT. (INVEN+N+1 MESSAGE IS PROP=N MESSAGE).\r
-/ C\r
-/ IMPLICIT INTEGER (A-Z)\r
-/ COMMON /TXTCOM/ RTEXT,LINES,ASCVAR\r
-/ COMMON /PTXCOM/ PTEXT\r
-/ DIMENSION RTEXT(205),LINES(36),PTEXT(100)\r
-\r
- EXTERN IO\r
- EXTERN SPEAK\r
- JA #ST\r
-#XR, ORG .+10\r
- TEXT +PSPEAK+\r
-#RET, SETX #XR\r
- SETB #BASE\r
- JA .+3\r
-#BASE, ORG .+6\r
-MSG, ORG .+3\r
-SKIP, ORG .+3\r
-ONE, F 1.0\r
-#DOTMP, ORG .+3\r
-OLDLOC, ORG .+3\r
- ORG #BASE+30\r
- FNOP\r
- JA #RET\r
- FNOP\r
-#GOBAK, 0;0\r
-I, ORG .+0003\r
-M, ORG .+0003\r
- #LBL=.\r
- COMMON PTXCOM\r
-PTEXT, ORG .+0454\r
- COMMON TXTCOM\r
-RTEXT, ORG .+1147\r
-LINES, ORG .+0044\r
-ASCVAR, ORG .+0003\r
-TXTLOC, ORG .+0003\r
-DATA, ORG .+0352\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 MSG\r
- FLDA% #BASE,1+\r
- FSTA SKIP\r
- STARTF\r
-/ M=PTEXT(MSG)\r
- FLDA% MSG\r
- ATX 7\r
- FLDA PTEXT-0003,7\r
- FSTA M\r
-/ IF(SKIP.LT.0)GOTO 9\r
- FLDA% SKIP\r
- JLT #9\r
-/ OLDLOC=MSG\r
- FLDA% MSG\r
- FSTA OLDLOC\r
-/ DO 3 I=1,SKIP+1\r
- FLDA ONE\r
- FSTA I\r
- FLDA% SKIP\r
- FADD ONE\r
- FSTA #DOTMP\r
-\r
-#G0001,\r
-/ 1 READ(2'M)LOC,LINES\r
-#1, JSR IO\r
- JA .+0004\r
- JA M\r
-/ M = ASCVAR\r
- FLDA M\r
- FADD ONE\r
- FSTA M\r
-/ IF(LOC.EQ.OLDLOC) GO TO 1\r
- FLDA TXTLOC\r
- FSUB OLDLOC\r
- JEQ #1\r
-/ OLDLOC=LOC\r
- FLDA TXTLOC\r
- FSTA OLDLOC\r
-/ 3 CONTINUE\r
-#3, FLDA I\r
- FADD ONE\r
- FSTA I\r
- FSUB #DOTMP\r
- JLE #G0001\r
-/ M=M-1\r
- FLDA M\r
- FSUB ONE\r
- FSTA M\r
-/ CALL SPEAK(M)\r
-#9, JSR SPEAK\r
-/ RETURN\r
-/ END\r
- JA #RTN\r
- JA M\r
- END\r