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