5 *FX21 10 *KEY10OLD|MRUN|M 20 *FX229,1 30 ENVELOPE1,1,4,5,0,255,255,0,127,-1,-1,-1,0,0 40 MT%=0 50 VE%=0 60 MODE7 70 VDU23;8202;0;0;0; 80 PRINT"//// / / / //// //// / / /" 90 PRINT"/ / // / // / / / // / //" 100 PRINT"//// / // / //// //// // / //" 110 PRINT"/ / / / // / / / ///////" 120 PRINT"/ / / / / / / //// /////" 130 PRINTTAB(0,5);CHR$129;CHR$157;CHR$131;CHR$141;"WESTON'S BASIC SIMULATOR" 140 PRINTTAB(0);CHR$129;CHR$157;CHR$131;CHR$141;"WESTON'S BASIC SIMULATOR" 150 PRINT''"Press to enter" 160 G$=GET$ 170 CLS 180 PRINT'"BBC Computer 32K" 190 PRINT'"Acorn DFS" 200 PRINT'"Andylang"' 210 INPUTLINE">"A$ 220 IFMT%=2 THEN GOSUB 530 230 IFVAL(LEFT$(A$,1))>0 THEN PRINT'"Memory reduced-No room" 240 IFLEFT$(A$,3)="*FX"THENVDU22,3:PRINT'"<*FX..> selects MODE 8" 250 IF LEFT$(A$,1)="*"THENPROCosc 260 IFA$="OLD"THEN PRINT'"Program Access Denied" 270 IFA$="LIST"THENPRINT'"Lazy slacker" 280 IFA$="NEW"THENPRINT'"Date of birth:1981" 290 IFLEFT$(A$,4)="DRAW"OR LEFT$(A$,4)="MOVE"THEN PRINT'"No drawing,mate!" 300 IFLEFT$(A$,4)="MODE"THEN VDU 22,5:PRINT'"Available : Mode 5 only" 310 IFA$="RUN"THEN PRINT'"Unknown Command" 320 IFLEFT$(A$,3)="VDU"AND VE%=0 THENPRINT'"Forbidden Command":VE%=VE%+1:GOTO440 330 IFLEFT$(A$,3)="VDU"ANDVE%=1THENPRINT'"FINAL WARNING"'"Forbidden Command":VE%=VE%+1:GOTO 440 340 IFLEFT$(A$,3)="VDU"ANDVE%=2THEN GOSUB 530 350 IFLEFT$(A$,5)="PRINT"THENFORA%=1 TO 1000:PRINTCHR$(64+RND(54));:NEXT A%:PRINT'"Sorry" 360 IFLEFT$(A$,3)="CLS"ORLEFT$(A$,3)="CLG"THEN VDU22,4:VDU19,0,2;0;:PRINT'"Green-Screen enabled" 370 IFLEFT$(A$,5)="HIMEM"ORLEFT$(A$,5)="LOMEM"ORLEFT$(A$,4)="PAGE"THEN PRINT'"Don't touch my memory again.":MT%=MT%+1 380 IFLEFT$(A$,5)="SOUND"ORLEFT$(A$,8)="ENVELOPE"THENSOUND 1,1,80,10:SOUND0,-15,3,10:PRINT'"*!#@? off!" 390 IFLEFT$(A$,5)="CHAIN"OR LEFT$(A$,4)="LOAD"THEN PRINT'"? ?" 400 IFLEFT$(A$,4)="AUTO"THEN PRINT'"Stupid" 410 IFLEFT$(A$,4)="CALL"THEN PRINT'" you what?" 420 IFA$=""THEN GOTO440 430 IFLEN(A$)<3THENPRINT'"Mistake" 440 GOTO210 450 END 460 DEF PROCosc 470 IF A$="*DISC"THEN PRINT"TAPE":ENDPROC 480 IFA$="*TAPE"THEN PRINT"DISC":ENDPROC 490 IFA$="*CAT"THENPRINT'"Disc empty":ENDPROC 500 IFLEFT$(A$,5)="*EXEC"OR LEFT$(A$,4)="*RUN"THEN GOSUB 660:ENDPROC 510 ENDPROC 520 REM*SHUTDOWN* 530 TIME=0 540 VDU22,2 550 VDU23;8202;0;0;0; 560 *FX9,1 570 *FX10,50 580 COLOUR8:PRINTTAB(1,1);"SIM. SHUTDOWN IN" 590 COLOUR14:PRINTTAB(5,3);"20 SECONDS" 600 PRINTTAB(5,15);TIME/100" Seconds" 610 IFTIME>2000THEN 620 ELSE GOTO 580 620 COLOUR129:CLS:FORW1%=1TO2000:NEXTW1% 630 *FX200,3 640 CALL!-4 650 REM******************************** 660 REM** 670 *. 680 FORW1%=1 TO 5000:NEXT W1% 690 VDU6 700 PRINT'"Drive fault OC at 00/00" 710 FORW2%=1TO4000:NEXT W2% 720 PRINT'"Sorry mate" 730 *CAT 740 PRINT'"Can only catalogue" 750 ENDPROC