DSGRP LDY #STRMAX LDA #' ' CLRSTR STA DATBUF-1,Y DEY BNE CLRSTR ; LDY TXTPTR DEX BEQ GETTTL DEX BEQ GETSTL DEX BEQ DEFWOP DEX BEQ DEFBOP DEX BEQ DEFCOP DEX BNE DATXIT JMP DOEJECT DATXIT RTS ; DEFWOP JSR EVALAB LDA VALUE LDX LEN STA DATBUF,X INX LDA VALUE+1 STA DATBUF,X INX STX LEN DEY LDA (TEXTP),Y INY CMP #',' BEQ DEFWOP BNE EXITWS ; GETTTL LDA #2 BNE TTLS GETSTL LDA #1 TTLS BIT TTLFLG BEQ DOTTL LDX PASSNO BNE IGNTTL DOTTL TAX LDA TTLCODE,X ORA TTLFLG STA TTLFLG BNE DEFBOP ; DEFCOP LDA #$80 BMI DEFBEN DEFBOP LDA #0 DEFBEN STA MODE LDX #0 DEFBLP LDA (TEXTP),Y CMP #$27 ;STARTING QUOTE? BEQ QTSTR CPX #STRMAX BCS TOLONG JSR EVALAB LDA VALUE LDX LEN STA DATBUF,X INX DEY ENDBS STX LEN LDA MODE EOR DATBUF-1,X STA DATBUF-1,X LDA (TEXTP),Y INY CMP #',' BEQ DEFBLP EXITBS BIT TTLFLG BMI LDTITL BVS LDSTTL EXITWS LDX #6 CPYTXT LDA DATBUF-1,X STA OPCODE-1,X DEX BNE CPYTXT STX MODE JSR DATOBJ IGNTTL CLC RTS ; QTSTR INY LDA (TEXTP),Y CMP #$27 ;END QUOTE? BEQ CLQUOT STA DATBUF,X INX CPX #STRMAX BCC QTSTR STX LEN ; TOLONG LDA #'S' STA ADRERR BNE EXITBS ; CLQUOT INY BNE ENDBS ; LDTITL LDX #60 LDTITA LDA DATBUF-1,X STA TITLE-1,X DEX BNE LDTITA TTLXIT STX LEN LDA #$80 STA ISVAL LDA TTLFLG AND #3 STA TTLFLG RTS ; LDSTTL LDX #60 LDSTTA LDA DATBUF-1,X STA SUBTTL-1,X DEX BNE LDSTTA BEQ TTLXIT ; DOEJECT LDA CURLINE BEQ ALREADY LDA #$FF STA CURLINE ;FORCE A PAGE EJECT ALREADY JSR IFARG BCC NOARG JSR EVALAB LDA VALUE+1 BNE TERROR LDA VALUE BMI TERROR STA LPP NOARG CLC RTS ; IFARG JSR NXTFLD CMP #EOL BEQ NOARG CMP #';' BEQ NOARG ; TERROR SEC RTS ; TTLCODE = *-1 DB $41,$82