*********************************
*             PRIME             *
*     Bulletin Board System     *
*                               *
*       (C)opyright 1989        *
*       By Daniel Haynes        *
*********************************


********************************
*                              *
*  AMPER.1.A  PRIME SOURCE     *
*                              *
********************************

DELFIL JSR GETNAM
 JSR CHRGET
 JSR MLI
 DFB $C1 ;DESTROY
 DA DSTRY
 BCS DKERR
 LDA #$00
 BEQ DKERR1
DKERR LDA #$01
DKERR1 JMP SAVNUM1

BLOAD JSR MRKTIM1
 JSR GTBYTCM1
 STX MFLAG
 BEQ :NORMAL
 CMP #$01
 BEQ :NORMAL
 JSR CHRGET
 JSR INPNAM
:NEXT JSR CHRGET
 JMP :OPEN
:NORMAL JSR GETNAM
 JSR CHRGET
:OPEN JSR MLI
 DFB $C8 ;OPEN
 DA OPNPRM
 BCC :READ
 LDA #$01
 JMP SAVNUM1
:READ LDA #$FF
 STA TXTSTAT
 LDA OPNPRM+5
 STA RDPRM+1
 LDA #$04
 STA RDPRM
:READ1 JSR SHLOAD
 LDA #$00
 STA REQLEN
 LDA #$08
 STA REQLEN+1
 LDA #MSGBUF
 STA DSKBUF
 LDA #>MSGBUF
 STA DSKBUF+1
 JSR MLI
 DFB $CA ;READ
 DA RDPRM
 BCC :PRINT
 JSR DOCLOSE
 LDA #$01
 JMP SAVNUM1
:PRINT LDA MFLAG
 BEQ :CLOSE
 CMP #$02
 BEQ :CLOSE
 JSR LDMSG
 JSR TEXT1
 LDA TXTSTAT
 BNE :CLOSE
 LDA READLN+1
 CMP #$08
 BEQ :READ1
:CLOSE JSR DOCLOSE
 BCC OKCLOSIT
BADDSK LDA #$01
 BNE OKCLOSI1
OKCLOSIT LDA #$00
OKCLOSI1 JMP SAVNUM1


DOCLOSE LDA #$01
 STA RDPRM
 LDA #$00
 STA RDPRM+1
 JSR MLI
 DFB $CC ;CLOSE
 DA RDPRM
 RTS

GETNAM LDY #>FILNAM
 LDA #FILNAM
 STY MSGNAM+1
 STA MSGNAM
 JSR CHRGET
 JSR STRCOM
 LDY #$01
 JSR MOVFOR
 LDY #14
 LDA (PTR),Y
 STA FILNAM+3
 LDY #$04
GETNAM1 LDA (PTR),Y
 STA FILNAM+7,Y
 DEY
 BPL GETNAM1
 LDY #>FILNAM
 LDA #FILNAM
 STY OPNPRM+2
 STA OPNPRM+1
 LDX #$0B
:LOOP LDA FILNAM,X
 STA $0200,X
 DEX
 BPL :LOOP
 RTS

INPNAM LDY #>$0200
 LDA #$0200
 STY MSGNAM+1
 STA MSGNAM
 JSR FRMEVL
 JSR CHKSTR
 JSR FREFAC
 TAX
 STA $0200
 LDY #$00
 INX
:LOOP DEX
 BEQ :END
 LDA (INDEX),Y
 STA $0200+1,Y
 INY
 BNE :LOOP
 JMP SYNERR
:END RTS

*1

*===============================
*                              *
*   GLOBAL DOS FILE MANAGER    *
*            PARMS             *
*                              *
*===============================

RDPRM DFB 4
 DFB 0
DSKBUF DA MSGBUF
REQLEN DA $0800
READLN DA 0
 DA 0,0

OPNPRM DFB 3
MSGNAM DA FILNAM
 DA MSGBUF-$0400
 DFB 0


FILNAM DFB 11
 ASC 'B.0/B.12345'

DSTRY DFB 1
 DA FILNAM

ADRTBL
 DA END-1 ;128 - END
 DA PARSE-1 ;129 - FOR
 DA BLOAD-1 ;130 - NEXT (TYPE)
 DA SYNERR-1 ;131 - DATA
 DA MINPUT-1 ;132 - INPUT
 DA ERASE-1 ;133 - DEL
 DA WORDS-1 ;134 - DIM
 DA INPANY-1 ;135 - READ (INPUT ANYTHING)
 DA SYNERR-1 ;136 - GR
 DA EXTRACT-1 ;137 - TEXT
 DA SYNERR-1 ;138 - PR#
 DA SYNERR-1 ;139 - IN#
 DA SYNERR-1 ;140 - CALL
 DA WRPINP-1 ;141 - PLOT
 DA SYNERR-1 ;142 - HLIN
 DA SAVABRT-1 ;143 - VLIN set abort characters
 DA SYNERR-1 ;144 - HGR2
 DA SYNERR-1 ;145 - HGR
 DA SYNERR-1 ;146 - HCOLOR=
 DA SYNERR-1 ;147 - HPLOT
 DA SYNERR-1 ;148 - DRAW
 DA SYNERR-1 ;149 - XDRAW
 DA SYNERR-1 ;150 - HTAB
 DA DHOME-1 ;151 - HOME
 DA SYNERR-1 ;152 - ROT=
 DA FNDMSG-1 ;153 - SCALE=
 DA SHLOAD-1 ;154 - SHLOAD
 DA VARPTR-1 ;155 - TRACE
 DA SYNERR-1 ;156 - NOTRACE
 DA SYNERR-1 ;157 - NORMAL
 DA SYNERR-1 ;158 - INVERSE
 DA SYNERR-1 ;159 - FLASH
 DA SYNERR-1 ;160 - COLOR=
 DA POP-1 ;161 - POP
 DA SYNERR-1 ;162 - VTAB
 DA HIMEM-1 ;163 - HIMEM:
 DA LOWMEM-1 ;164 - LOMEM:
 DA TONERR-1 ;165 - ONERR
 DA ISEOF-1 ;166 - RESUME
 DA RSTOR-1 ;167 - RECALL
 DA MSTORE-1 ;168 - STORE
 DA SETEOL-1 ;169 - SPEED=
 DA SYNERR-1 ;170 - LET
 DA GOTO-1 ;171 - GOTO
 DA SYNERR-1 ;172 - RUN
 DA IF-1 ;173 - IF
 DA SYNERR-1 ;174 - RESTORE
 DA AMPHK-1 ;175 - &
 DA ZGOSUB-1 ;176 - GOSUB
 DA ZRETURN-1 ;177 - RETURN
 DA SYNERR-1 ;178 - REM
 DA STOP-1 ;179 - STOP
 DA ONCASE-1 ;180 - ON
 DA SYNERR-1 ;181 - WAIT
 DA MTEST-1 ;182 - LOAD
 DA PACK-1 ;183 - SAVE
 DA AMPHK-1 ;184 - DEF
 DA POKE-1 ;185 - POKE
 DA MPRINT-1 ;186 - PRINT
 DA SYNERR-1 ;187 - CONT
 DA LIST-1 ;188 - LIST
 DA CLRWRP-1 ;189 - CLEAR
 DA MGET-1 ;190 - GET
 DA SYNERR-1 ;191 - NEW
 DA SYNERR-1 ;192 - TAB(
 DA SYNERR-1 ;193 - TO
 DA MDMFN-1 ;194 - FN
 DA SYNERR-1 ;195 - SPC(
 DA THEN-1 ;196 - THEN
 DA PREFIX-1 ;197 - AT
 DA DELFIL-1 ;198 - NOT
 DA EDTINP-1 ;199 - STEP
 DA SYNERR-1 ;200 - +
 DA SYNERR-1 ;201 - -
 DA SYNERR-1 ;202 - *
 DA SYNERR-1 ;203 - /
 DA SYNERR-1 ;204 - ^
 DA SYNERR-1 ;205 - AND
 DA PRTTTL-1 ;206 - OR
 DA CHANGE-1 ;207 - >
 DA SWAP-1 ;208 - =
 DA SYNERR-1 ;209 - <
 DA UCASE-1 ;210 - SGN
 DA INSTR-1 ;211 - INT
 DA LCASE-1 ;212 - ABS
 DA GETYN-1 ;213 - USR
 DA FRE-1 ;214 - FRE
 DA SYNERR-1 ;215 - SCRN(
 DA SYNERR-1 ;216 - PDL
 DA POS-1 ;217 - POS
 DA SYNERR-1 ;218 - SQR
 DA SYNERR-1 ;219 - RND
 DA USING-1 ;220 - LOG
 DA RDBUFF-1 ;221 - EXP
 DA SYNERR-1 ;222 - COS
 DA SYNERR-1 ;223 - SIN
 DA INPPRFX-1 ;224 - TAN
 DA SYNERR-1 ;225 - ATN
 DA PEEK-1 ;226 - PEEK
 DA MLEN-1 ;227 - LEN
 DA MSTRNG-1 ;228 - STR$
 DA SYNERR-1 ;229 - VAL
 DA SYNERR-1 ;230 - ASC
 DA TRIM-1 ;231 - CHR$  TRIM
 DA LTRIM-1 ;232 - LEFT$ LTRIM
 DA RTRIM-1 ;233 - RIGHT$ RTRIM
 DA INMID-1 ;234 - MID$

OFSTR
 ASC 'PRIME Bulletin Board System -=- Ver 2.2a',0D
 ASC '  (C)opyright 1989    By Daniel Haynes  ',0D
 DFB 0
