8-Bit Software Online Conversion

Bazzasoft BASIC II ROM - Listing

10MODE7:PRINT'"BBC Computer"''"Bazzas oft Filing System 2.34"''"BASIC"' 20end%=0:err%=0 30ONERRORPRINT'"Escape" 40INP$=FNinput(0) 50IFINP$="" GOTO 40 60PROCanalyse 70IFend%=0 GOTO40 80DEFFNinput(C%):IFC%=0INPUTLINE">"C$ ELSE INPUTLINE" "C$ 90=C$ 100DEFPROCanalyse:Y$=FNfunc(INP$):IFY$ ="" PROCerror:err%=err%+1:ENDPROC 110IFVAL(LEFT$(Y$,1))>0 PRINT'"I can't be bothered remembering your petty l ittle programs for you.":ENDPROC 120IFY$="PRINT" PROCprint:ENDPROC 130IFY$="LIST" PROClist:ENDPROC 140IFY$="OLD" PRINT'"Bad program":ENDP ROC 150IFY$="RUN" PRINT'"Jog... Jog... Pan t... Pant...":ENDPROC 160IFY$="LOAD" OR Y$="SAVE" OR Y$="CHA IN" ORY$="*."PROCdisc:ENDPROC 170IFY$="CLS" PROCcls:ENDPROC 180IFY$="AUTO" PRINT'"Silly":ENDPROC 190IFY$="*" PRINT'"Oscli, oscli, oscli , tht's all your sortever wants. Well I' m not having it, you hear? From now on I 'll decide when I'm going to oscli.":EN DPROC 200IFY$="COLOUR" ORY$="MODE" OR Y$="CL G" PRINT'"Oh, one of those arty types, e h? Do us afavour and get lost.":ENDPROC 210IFY$="CALL" PRINT'"Cheek! If you th ink you're poking about in my memory, yo u've got another think coming!":ENDPROC 220IFY$="PROC" PRINT'"PROC yourself":E NDPROC 230IFY$="FOR" PRINT'"You're driving me loopy. Loopy! Geddit?":ENDPROC 240IFY$="VDU" PRINT'"Was that VDU7?":V DU7:ENDPROC 250IFY$="ENVELOPE" PRINT'"Put on the a ddress, lick it, stick on a stamp and th ere you go...":ENDPROC 260IFY$="SOUND" PROCsound:ENDPROC 270IFY$="GOTO" OR Y$="GOSUB" PRINT'"No such line":ENDPROC 280IFY$="END" PRINT'"There is no escap e! Ha Ha Ha!":ENDPROC 290IFY$="NEW" PRINT'"Why? What's wrong with the old one?":ENDPROC 300IFY$="DELETE" PRINT'"You keep your hands off my algorithms, you pseudocode wimpster!":ENDPROC 310IFY$="HELP" PRINT'"You do look as i f you need help. Tell me, how long hav e you been having these strange delusion s that you're a human being?" 320ENDPROC 330DEFFNfunc(INP$) 340IFVAL(LEFT$(INP$,1))>0 =INP$ 350INF$=INP$:FORI=1TOLENINF$:IFMID$(IN F$,I,1)="." OR MID$(INF$,I,1)=" " INF$=L EFT$(INF$,I-1) 360IFLEFT$(INP$,2)="*."="*." 370 NEXT:Z$="":IFLENINF$=0 ="" 380RESTORE590:FORI=1TO25:READA$:IFLEFT $(A$,LENINF$)=INF$ AND Z$="" Z$=A$ 390IFLEFT$(INF$,LENA$)=A$ Z$=A$:I=25 400NEXT:=Z$ 410DEFPROCerror:IFerr%<5 PRINT'"Mistak e":ENDPROC 420IFerr%<6PRINT'"Another mistake":END PROC 430IFerr%<7PRINT'"And another one":END PROC 440IFerr%<10 PRINT'"Does the word thic k mean anything to you, you moronic f ailure?":ENDPROC 450 IFerr%<15 PRINT'"Look, face it, yo u're no good at this programming lark, are you?":ENDPROC 460PRINT'"Get lost":ENDPROC 470DEFPROClist:I=RND(10):J=RND(100):PR INTFNlistl(J):FORK=1TOI:J=J+RND(100):PRI NTFNlistl(J):NEXT:ENDPROC 480DEFFNlistl(J%):RESTORE(480+10*RND(1 0)):READG$:G$=STRING$(5-LENSTR$J%," ")+S TR$J%+" "+G$:=G$ 490DATAREMThis line is totally and utt erly pointless 500DATAMODE(?&54 MOD 254!R%):F=RAD(ARC SIN(LOMEM+34))/245+75:CLG 510DATA"MOVE0,423:DRAW522,413:PLOT522, 421,423523527624:GCOL0,2:DRAW 24352452,2 62262*A%/32:NEXT" 520DATAFORi=1TO432 STEP0.54/PI+54:i1=i +R3*FNlogrt(i/2):NEXT:i1=0 530DATAX%=VPOS-2.6*XPOS:Y%=XPOS+2.1*VP OS:P.TAB(X%)STR$Y%:CLS:CALL&900 540DATARANDOMISE:F=RND(2):IFF=2 THEN C LS:P.'"Error!":END ELSE F=RN(4):GOTO75 550DATA"P.TAB(0,4);""XXXXX"";:INPUTLIN E""What mode:""MD%:MD%=RND(8):MODEMD%:EN D" 560DATA"CALL&5600:REM cursor redirecti on entry point, via 6502 processor" 570DATA[:OPTR%:TTY#43:FWH&43:LDA#&43:J MPdoobrey:THI#43:SIS&54:ALO ado:FRU#bb:I SH!&54:] 580DATA@&234T498H84Y984OSCLIOSCLIOSCLI OSCLIOSCLI 590DATAPRINT,LIST,OLD,RUN,LOAD,CHAIN,P ROC,COLOUR,MODE,*,SAVE,FOR,AUTO,CALL,CLS ,CLG,ENVELOPE,SOUND,VDU,GOTO,GOSUB,DELET E,END,NEW,HELP 600DEFPROCcls 610CLS:PRINT">";:PROCdel(100):PRINTTAB (1,0);"And now I'll mess it all up!":FOR I=1TO200:VDU(64+RND(54)):NEXT:ENDPROC 620DEFPROCdel(TT%):TTT%=TIME+TT%:REPEA TUNTILTIME>TTT%:ENDPROC 630DEFPROCprint:Q1=0:Q2=0:FORI=1TOLENI NP$:IFMID$(INP$,I,1)="""" AND Q1=0 Q1=I: NEXT:PROCerror:ENDPROC 640IFMID$(INP$,I,1)="""" AND Q2=0 Q2=I :I=LENINP$:NEXT:GOTO660 650NEXT:PROCerror:ENDPROC 660PRINTFNmix(MID$(INP$,Q1+1,Q2-Q1-1)) 670ENDPROC 680DEFFNmix(TI$):ONRND(3) GOTO 690,700 ,710 690GT$="":FORI=LENTI$TO1STEP-1:GT$=GT$ +MID$(TI$,I,1):NEXT:=GT$ 700="No I won't." 710GT$="":FORI=1TORND(24):GT$=GT$+CHR$ (RND(54)+64):NEXT:=GT$ 720DEFPROCdisc:VDU21:*. 730VDU6:PRINT'"I've just done somethin g really nasty toyour disc. I'm afraid t hat one will not work again. But then, t hat's the sort ofprogram I am!" 740PROCdel(750):PRINT"Only joking!":VD U14:*. 750VDU15:ENDPROC 760DEFPROCsound:FORI=1TO3:V=-RND(15):P =RND(255):D=RND(50):SOUNDI,V,P,D:NEXT:EN DPROC