7 REM ******************************** 8 REM ** TUTOR ** 9 REM ******************************** 10 cls$=CHR$(27)+"E"+CHR$(27)+"H": REM clear screen & home cursor 20 rvson$=CHR$(27)+"p": REM reverse video on 30 rvsoff$=CHR$(27)+"q": REM reverse video off 40 DEF FN posn$(x,y)=CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+x): REM position cursor 50 PRINT CHR$(27)+"0": REM Cuts out the notice "Drive is A"; Had you noticed? to get it back type PRINT CHR$(27)+"1" 80 ' 90 PRINT cls$: REM See line 10. 95 REM ***************************************** 96 REM ** Type GOTO 16400 then press [RETURN] ** 97 REM ***************************************** 100 PRINT FN posn$(34,5) " B A S T U T O R " 110 PRINT FN posn$(8,7) " A disc-based tutorial about MALLARD BASIC for the PCW8256 & PCW8512" 120 PRINT FN posn$(29,9)" Copyright Ron King 1990" 130 PRINT FN posn$(20,12)" 1) INTRO - Introductory text 140 PRINT FN posn$(20,14)" 2) PRIMER - First steps" 150 PRINT FN posn$(20,16)" 3) INTER - Intermediate " 163 PRINT FN posn$(20,20)" 4) Return to DIRECT MODE in BASIC " 165 PRINT FN posn$(20,22)" 5) Return to CP/M " 170 PRINT rvson$ FN posn$(8,24) SPC(67) rvsoff$ 180 PRINT rvson$ FN posn$(8,25)" Please press the number of the section you require, then RETURN " rvsoff$ 190 INPUT n 195 IF n<1 OR n>5 THEN PRINT "Please enter a number between 1 and 5" : GOTO 190 197 ON ERROR GOTO 600 200 IF n=1 THEN 400 210 IF n=2 THEN 410 220 IF n=3 THEN 420 240 IF n=4 THEN PRINT " You are now in DIRECT MODE; to return to program type RUN then press RETURN": END 250 IF n=5 THEN INPUT " RETURN TO CP/M ; Are you sure ? y/n ", y$ 260 IF y$="y" OR y$="Y" THEN SYSTEM ELSE GOTO 90 300 GOSUB 40300:CHAIN MERGE " INTRO",2000,ALL,DELETE 2000-30000:END 310 GOSUB 40300:CHAIN MERGE "PRIMER",2000,ALL,DELETE 2000-30000:END 320 GOSUB 40300:CHAIN MERGE "INTMENU ",2000,ALL,DELETE 2000-30000:END 400 IF filename$ = "INTRO" THEN 2000 ELSE 300 410 IF filename$ = "PRIMER" THEN 2000 ELSE 310 420 IF filename$ = "INTMENU" THEN 2000 ELSE 320 600 PRINT " The file you need is not on this side; turn the disc over and try again" 610 GOSUB 40100 : RUN 39990 END 40000 REM ++++++ Subroutine for EDITING LINE NOTICE ++++++ 40010 PRINT"To experiment with the program, first press STOP to enter DIRECT MODE" 40020 PRINT "Type EDIT nnnn ( where nnnn is the line number of your choice) then press RETURN" 40030 PRINT " This prints the line in EDIT MODE and allows it to be altered " : PRINT 40040 RETURN 40050 REM ++++ SUBROUTINE for TEXT WARNING +++ 40060 PRINT TAB(14)"Text follows. Get ready to control it with the f5 Key " 40070 PRINT TAB(15)" ***** Press RETURN when ready to continue ***** 40080 WHILE INKEY$<>CHR$(13):WEND 40090 RETURN 40100 REM ++++ SUBROUTINE ++++ 40110 PRINT "Press RETURN to continue": WHILE INKEY$<>CHR$(13):WEND:RETURN 40120 PRINT "Press RETURN to return to games menu":WHILE INKEY$<>CHR$(13):WEND:RETURN 40130 PRINT "Press RETURN to continue to next section ": WHILE INKEY$<>CHR$(13):WEND:RETURN 40150 REM ++++ SUBROUTINE for section menu ++++ 40160 PRINT:PRINT TAB(10) rvson$ " Type C to continue / R to reread the last text / M for section Menu " rvsoff$ 40170 answer$=INKEY$ 40180 IF answer$ = "" THEN 40170 40190 code = INSTR(1,"cCrRmM",answer$) 40200 IF code = 0 THEN GOTO 40160 40210 RETURN 40300 PRINT rvson$ " LOADING - Please wait " rvsoff$:RETURN CrRmM",answer$) 40200 IF code = 0 THEN GOTO 40160 40210 RETURN 40300 PRINT rvson$ " LOADIN