; ; PROMPT FOR COMMAND INPUT ; PROMPT PLA STA LOWP PLA STA LOWP+1 PRETRY LDA #11 STA ICMD LDY #1 LDX #0 STX ILEN STX ILEN+1 PMTLP LDA (LOWP),Y BEQ PMTEND INY STY TEMP JSR CIOV LDY TEMP BNE PMTLP ; PMTEND INY LDA (LOWP),Y STA HIGHP INY LDA (LOWP),Y STA HIGHP+1 STY TEMP LDA #5 STA ICMD LDA #FNSIZE-2 STA ILEN LDA #0 STA ILEN+1 LDA #LOW[FNBUF] STA IBUF LDA #HIGH[FNBUF] STA IBUF+1 JSR CIOV BMI PRETRY JSR BLDFNB LDY #$FF CPFNLP INY LDA FNBUF,Y STA (HIGHP),Y BPL CPFNLP CLC LDA TEMP ADC LOWP STA TEMP LDA LOWP+1 ADC #0 PHA LDA TEMP PHA RTS ; BLDFNB LDX #0 LDY #0 STX TEMP+1 LDA FNBUF BPL BLDFNE DEY KEEPNM INY LDA INF,Y STA FNBUF,Y BMI NOTDFLT CMP #'.' BNE KEEPNM NOTDFLT LDA #EOL STA FNBUF,Y LDY #0 BEQ BLDFNE ; BLDFNL CMP #':' BNE BLDFCP DEX BLDFCP CMP #'.' BNE BLDFND DEC TEMP+1 BLDFND INY BLDFNE LDA FNBUF,Y BPL BLDFNL LDA TEMP+1 BNE GOTEXT LDA #'.' STA FNBUF,Y INY LDA EXTTXT STA FNBUF,Y INY LDA EXTTXT+1 STA FNBUF,Y INY LDA EXTTXT+2 STA FNBUF,Y INY LDA #EOL STA FNBUF,Y GOTEXT TXA BNE GOTPFX SHFTBF LDA FNBUF,Y STA FNBUF+2,Y DEY BPL SHFTBF LDA #'D' STA FNBUF LDA #':' STA FNBUF+1 GOTPFX RTS