2700K.OPT P,OO.P;DQ; ZR; LYLE GIESE oS; VERSI 1.0 T; 062186 U; V;xST $FFB7SETLFS $FFBASETNAM $FFBD $FFC0 $FFC3 CHKIN $FFC6, CHKOUT $FFC9= CHN $FFCCP CHRIN $FFCFc CHROUT $FFD2t IN $FFE4 CLALL $FFE7 ,INDEX $FB 6AM $033C;UG CASSETTE BUFFER SRE FIAMES @F $FD; GTH OF FIAME JOUTFILE $FE TRTEMP $03FF% ^ATEMP $03FE8 hPDEV $03FDK rSHFLAG $028D^ |HIGH $03FCq LOW $03FB~  $C000 ;SET UP SCREEN START LDA #$00;MAKE BDER BACKGROUND BLACK STA $D020 STA $D021 LDA #$07;MAKE THE CHARACTERS YELLOW &STA $02863 +;S FIRST MESSAGE SCREENC 0LDA #AMESSQ :STA INDEXa DLDA #AMESSq NSTA INDEX1 XJSR MESSOUT;S MESSAGE SCREEN b; FIAME DISK lLDA #AM; INDEX WITH LOCATI FIAME vSTA INDEX LDA #AM STA INDEX1 LDA #$00 STA FO JSR CHN;MAKE SURE SCREEN KEYBOARD IS ACTIVEz NOKEY JSR IN; A CHAR FROM THE KEYBUF BEQ NOKEY; HING IS IN KEYBUF A REG WILL HOLD A ZERO CMP #$14;CK DEE KEY BNE CKRT LDA F;BEE DEING MAKE SURE THAT THERE' BEQ NOKEY;IS A CHAR IN AMG LDA #$14;DEE CHAR SCREENV JSR CHROUTa DEC Fo JMP NOKEY CKRT CMP #$0D;CK EITHER EXIT PROGRAM BNE KEY; DISK FILE *LDA F;CK NUMBER OF CHAR IN KEYBUF4BNE D; ANY CHARS DISK FILE?>RTS; PRESSED WITH NO CHAR IN KEYBUF EXIT ROUTINE_HKEY LDY F; Y REG WITH FRCPY #$12;CK MAX CHAR ALLOWABLE\BEQ NOKEYfSTA (INDEX),Y;SRE IN AM BUFFERpJSR CHROUT; ECHO CHAR SCREENzINC F;INC F POERJMP NOKEYD LDY F;ADD ,S AM)LDA #",";STA (INDEX),YCINYPLDA #"S"bSTA (INDEX),YjINYuSTY F; CHANNELS DISK DRIVELDA #$00;FIRST COMM CHANNELJSR SETNAM;NO FILE NAME NEEDED HERELDA #$0F;15,8,15LDX #$08 LDY #$0F'$JSR SETLFS; ICAL FILEC.JSR ;COMM CHANNEL ED\8BCC R;CK WAS OK|BJMP DERR;COULD CHANNELLR LDA F; GTH OF FIAMEVLDX #AM`LDY #AMjJSR SETNAMtLDA #$08~LDX #$08LDY #$00JSR SETLFSJSR ;8,8,8,"FNAM,S"%BCC CKERRDJMP DERR;COULD FILEsCKERR JSR RERR;CK ERR CHAN DISK DRIVE DERR JSR CHN;MAKE SURE IO INITIALIZED JSR CLALL;MAKE SURE ALL CHANNELS ARE D LDA #CMESS;UNABLE ERR CHAN STA INDEX LDA #CMESS STA INDEX/ JSR MESSOUTe RTS;THIS ERR IS FATAL WE D'T WANT TRY AGAINRERR LDX #$0F; CK DISK ERR CHANJSR CHKINNULL JSR INBEQ NULLSTA HIGHJSR INSTA LOWCMP #$30; FIRST TWO CHARS AREBNE CK;II ZERO ZERO<LDA HIGH; NO ERR OCCUREDJCMP #$30;vBEQ EMPTY;OVE THE ENTIRE ERROR MESSAGECK LDA #$0D; ERR"JSR CHROUT;ERR MESSAGE,LDA HIGH6JSR CHROUT@LDA LOWJREPEAT JSR CHROUTTJSR IN^CMP #$0DhBNE REPEAT@rPLA:PLA;OVE RETURN ADDRESS FROM STACKM|JSR CHN`LDA #$08:JSR LDA #$0F:JSR ; DISK CHANLDA #EMESSSTA INDEXLDA #EMESSSTA INDEX1JSR MESSOUTNCR JSR INCMP #$0DBNE NCRJMP START'EMPTY JSR IN;NO DISK ERR BUTNCMP #$0D;SHOULD STILL THE ENTIREuBNE EMPTY;MESSAGE OUT OF ERR CHANJSR CHNRTSMESSOUT LDY #$00;S MESSAGE SCREENLPY LDA (INDEX),Y;INDEX POS START OF MESSAGEBEQ ; IT MUST WITH A ZERO BYTEJSR CHROUT%INYLBNE LPY;HAS Y LOOPED AROUND ZEROqINC INDEX1; IT HAS WE MUST INCJMP LPY;THE HI BYTE OF OUR INDEX ADDRESS RTSXAMESS ;ING MESSAGEb.BYTE $93;CLEARHOMEl.BYTE $0D,$0D,$0D,$0Ev. " "0.BYTE $0D,$0DT. " Y YLE IESE"f.BYTE $0D,$0D. " SE THE HIFT AND HIFT OCK TO PAUSE.BYTE $0D. " LISTING. RESS THE TRL AND HIFT TO".BYTE $0D . " EXIT CURRENT FILE. O EXIT JUST".BYTE $0DI. " HIT RETURN AT THE ILENAME > PROMPT."[.BYTE $0D,$0Dq. " ILENAME > ".BYTE $00CMESS ;UNABLE ERR CHANNEL DISK DRIVE.BYTE $0D. " NABLE TO OPEN ERROR CHANNEL TO DISK.BYTE $0D. " DRIVE. RY AGAIN LATER!"/.BYTE $0D,$00[DMESS ;DISK ERR TRYING CHANNELi.BYTE $0D. "  ".BYTE $0D,$00LEMESS ; OF FILEV.BYTE $0D`. "  RESS RETURN TO CONTINUE "j.BYTE $0D,$00