20 BORDER 5: PAPER 5: INK 0: CLS
100 LET h$="": LET m=1: LET ct=1: LET block=(m-1)*100
2000 CLS
2002 PRINT BRIGHT 1;AT 0,0;" WORD-LIST EDITOR "
2005 GO SUB 2500: IF m=6 THEN PRINT AT 5,0;" 1 :Level";AT 5,10;" Magic Words ": GO TO 2010
2007 PRINT AT 5,0;" 1 :Level"; PAPER 7;AT 5,10;" ";m+4;" letter words "
2010 PRINT AT 7,0;" 2 :View complete level";AT 9,0;" 3 :Edit single word";AT 11,0;" 4 :Edit whole level";AT 13,0;" 5 :Step backwards through level";AT 15,0;" 6 :Step forwards through level";AT 17,0;" 7 :Save/Load word-block";AT 19,0;" 8 :Help Page"
2060 LET i$=INKEY$: IF i$="" THEN GO TO 2060
2062 IF i$="5" AND ct>1 THEN LET ct=ct-1: BEEP .05 TO ,0: GO SUB 2500
2064 IF i$="6" AND m<6 AND ct<100 THEN LET ct=ct+1: BEEP .05 TO ,10: GO SUB 2500
2065 IF i$="6" AND m=6 AND ct<30 THEN LET ct=ct+1: BEEP .05 TO ,10: GO SUB 2500
2066 IF i$="1" THEN BEEP .05 TO ,10: GO TO 5500
2068 IF i$="2" THEN BEEP .05 TO ,10: GO TO 3000
2070 IF i$="3" THEN BEEP .05 TO ,10: GO TO 6000
2072 IF i$="4" THEN BEEP .05 TO ,10: GO TO 7000
2074 IF i$="7" THEN BEEP .05 TO ,10: GO TO 4000
2080 IF i$="8" THEN BEEP .05 TO ,10: GO TO 8000
2099 GO TO 2060
2500 PRINT AT 2,0;" CURRENT WORD "; BRIGHT 1; PAPER 0; INK 7;AT 2,15; PAPER 7; INK 0;" ";w$(block+ct): RETURN
3002 IF m=6 THEN GO TO 3500
3005 LET f=block+1: CLS : PRINT PAPER 7;AT 0,0;" Level ";m;" Word List Page 1 ": FOR g=2 TO 21: PRINT PAPER 4;AT g,0;w$(f): LET f=f+1: NEXT g: FOR g=2 TO 21: PRINT PAPER 2; INK 7;AT g,11;w$(f): LET f=f+1: NEXT g: FOR g=2 TO 21: PRINT PAPER 6; INK 0;AT g,22;w$(f): LET f=f+1: NEXT g
3010 PRINT #0;" Press any key ": PAUSE 0: BEEP .05 TO ,0: CLS : PRINT PAPER 7;AT 0,0;" Level ";m;" Word List Page 2 "
3020 FOR g=2 TO 21: PRINT PAPER 4;AT g,0;w$(f): LET f=f+1: NEXT g: FOR g=2 TO 21: PRINT PAPER 2; INK 7;AT g,11;w$(f): LET f=f+1: NEXT g
3030 PRINT #0;" Press any key ": PAUSE 0: BEEP .05 TO ,0: GO TO 2000
3510 LET f=block+1: CLS : PRINT PAPER 7; BRIGHT 1;AT 0,0;" Magic Words "
3520 FOR g=3 TO 17: PRINT PAPER 4;AT g,4;w$(f): LET f=f+1: NEXT g
3530 FOR g=3 TO 17: PRINT PAPER 2; INK 7;AT g,18;w$(f): LET f=f+1: NEXT g
3550 PRINT #0;" Press any key ": PAUSE 0: BEEP .05 TO ,0: GO TO 2000
4010 CLS
4500 PRINT AT 3,0;" R:- RETURN TO MENU "
4510 PRINT AT 7,0;" S:- SAVE CURRENT WORD-LIST "
4520 PRINT AT 11,0;" L:- LOAD NEW WORD-LIST "
4525 PRINT AT 18,1;"SELECT: R S L "
4530 IF INKEY$="s" THEN BEEP .05 TO ,10: GO TO 4900
4540 IF INKEY$="l" THEN BEEP .05 TO ,0: GO TO 4800
4550 IF INKEY$="r" THEN BEEP .05 TO ,20: GO TO 2000
4560 GO TO 4530
4805 CLS
4810 PRINT AT 0,0;" LOAD NEW WORD-LIST "
4820 PRINT AT 3,0;"1. Enter the name of the word- list you wish to LOAD and press <ENTER>."
4830 PRINT AT 7,0;"2. Press any key and load in new word-list from your data tape."
4840 GO SUB 5000
4845 PRINT AT 21,0,,
4850 PRINT PAPER 6;AT 16,0,,;AT 16,0;" Searching for ";v$;" on tape.";AT 17,0;" If no word-list of this name is found then press <BREAK> and re-load. "
4870 RANDOMIZE USR 15619: REM : LOAD v$ DATA w$()
4875 IF w$(531)="TERMINATED" THEN PRINT AT 21,0;" WORD-LIST LOADED CORRECTLY ": FOR f=1 TO 300: NEXT f: GO TO 2000
4880 IF w$(531)<>"TERMINATED" THEN PRINT AT 21,0;" ERROR: LOAD IN WORD-LIST AGAIN ": FOR f=1 TO 300: NEXT f: GO TO 4800
4901 IF w$(531)="TERMINATED" THEN GO TO 4930
4905 PRINT AT 16,0;" WORD LIST ERROR: CHECK WORDS "
4915 FOR f=1 TO 300: NEXT f
4925 GO TO 2000
4930 CLS : PRINT AT 0,0;" SAVE CURRENT WORD-LIST "
4940 PRINT AT 3,0;"1. Your word-list must be saved to tape, so insert blank tape into cassette and set up for recording."
4945 PRINT AT 8,0;"2. Enter the name you wish this word-list to be called and press <ENTER>."
4948 PRINT AT 12,0;"3. Press any key and save your new word-list to tape."
4950 PRINT AT 15,0;"4. Make a note of your new word- list's name and use this tape in conjunction with Henrietta's Book of Spells."
4960 GO SUB 5000
4990 RANDOMIZE USR 15619: REM : SAVE v$ DATA w$()
4995 PRINT AT 20,0;" Word-list now SAVED & may be used in future games. "
4996 FOR f=1 TO 300: NEXT f: GO TO 2000
5010 LET h$=""
5020 LET aa=7
5030 PRINT AT 21,0;" Name of word-list: "
5040 FOR f=1 TO aa: LET h$=h$+"-": NEXT f
5050 LET v$="": PRINT AT 21,22;h$
5060 LET i$=INKEY$: IF i$="" THEN GO TO 5060
5070 IF i$=CHR$ 13 THEN BEEP .05 TO ,0: RETURN
5080 IF i$=CHR$ 12 THEN BEEP .05 TO ,-10: GO TO 5050
5090 IF CODE i$<32 OR CODE i$>122 THEN GO TO 5060
5100 IF LEN v$<aa THEN LET v$=v$+i$: PRINT AT 21,22;v$: BEEP .05 TO ,10: FOR f=1 TO 10: NEXT f
5110 GO TO 5060
5510 LET m=m+1: IF m=7 THEN LET m=1
5530 LET ct=1: LET block=(m-1)*100
5540 GO TO 2005
6005 LET stage=6200: PRINT AT 21,0;" 0=Quit "; PAPER 7;w$(block+ct);" to:"
6010 LET h$="": IF m=6 THEN LET aa=5: GO TO 6040
6020 LET aa=m+4
6040 FOR f=1 TO aa: LET h$=h$+"-": NEXT f
6050 LET k$="": PRINT AT 21,23;h$
6060 LET i$=INKEY$: IF i$="" THEN GO TO 6060
6070 IF i$=CHR$ 13 AND LEN k$=aa THEN GO TO stage
6080 IF i$=CHR$ 12 THEN BEEP .05 TO ,-10: GO TO 6050
6085 IF i$="0" THEN BEEP .05 TO ,-20: GO TO stage
6090 IF CODE i$<97 OR CODE i$>122 THEN GO TO 6060
6100 IF LEN k$<aa THEN LET k$=k$+i$: PRINT AT 21,23;k$: BEEP .05 TO ,10: FOR f=1 TO 10: NEXT f
6110 GO TO 6060
6200 IF i$="0" THEN GO TO 2000
6210 BEEP .05 TO ,0: LET w$(block+ct)=k$: GO TO 2000
7003 IF m=6 THEN LET set=30
7007 IF m<6 THEN LET set=100
7010 LET ct=1: GO SUB 2500
7050 LET stage=7100: LET t=1
7055 FOR e=block+1 TO block+set
7070 PRINT AT 21,0;" 0=Quit "; PAPER 7;w$(e);" to:"
7075 GO TO 6010
7100 IF i$="0" THEN GO TO 2000
7110 BEEP .05 TO ,0: LET w$(e)=k$: LET t=t+1
7115 LET ct=ct+1: GO SUB 2500
7120 NEXT e: LET ct=1
7130 GO TO 2000
8010 CLS
8020 PRINT AT 0,0;" HENRIETTA's BOOK of SPELLS "
8030 PRINT AT 2,0;" WORD-LIST EDITOR "
8040 PRINT AT 4,0;"This program will allow you to change some, or all of the wordsused in Book of Spells."
8050 PRINT AT 8,0;"When complete, you can then savethe word-list to tape and use the new words by loading them into future games of Henrietta'sBook of Spells."
8060 PRINT AT 14,0;"For ease of use, you are advisedto keep all word-lists on a separate tape."
8065 PRINT AT 18,0;"Select options from 1 to 8 and follow any on-screen prompts."
8070 PRINT AT 21,9;" Press any key "
8080 FOR f=1 TO 10: NEXT f
8085 IF INKEY$="" THEN GO TO 8085
8090 BEEP .05 TO ,10: GO TO 2000
8999 STOP
58624RND RESTORE m[T] POKE [S]loc FOR NEW PRINT CLOSE # BORDER TO t LLIST POKE & RETURN COPY M [R] LLIST PkCOS tag RESTORE 8COS e POKE BEEP NOT arrow apron alley apple alarm ankle amber bully brush brick block beach broom break cruel chair crown cabin chest chalk cloud drown drive daisy dream dance drink dress earth elbow empty enjoy frost flour field flame fence fight fruit grape gravy glass glove group heart hurry happy heavy honey house jelly knife knock lemon light large laugh magic match metal money mouth music nurse noise punch paint plane party penny prize paste quick robot round river ruler salad sword spade scarf shake shape sleep slate taste train table thick thumb truck uncle verse wrist waste watch water wheel young zebra advice afraid amount animal badger ballet beauty belong cactus camera centre colour defeat danger decide digest edible effort either employ famine family female friend garden gentle garage gossip hollow handle health honest icicle import insect injury jacket jungle jumble junior kennel kettle knight kitten lawyer length lesson listen muscle magnet manage meadow middle nimble narrow nature needle notice object occupy office orange puzzle parade pencil phrase picnic quaint quarry quench quaver rodent ramble reason rotate rumour system salmon school search signal tunnel tablet tennis throat toilet umpire unique urgent useful vacant vacuum vanish vapour walnut warren weapon winter yellow zodiac academy address average apology arrange balcony bicycle between bonfire buffalo cabinet cabbage canteen caravan collect deliver diagram diamond dungeon drought dentist fashion feature forward furnish general garbage gallery genuine garment husband harvest hostage hammock isolate invalid include jealous journey justice knuckle kitchen lantern library luggage leisure leather measles mermaid message measure majesty novelty nursery naughty neglect nourish observe officer orchard opinion pendant prepare padlock plumber poverty passage quarrel quarter quality reflect romance release routine regular session sheriff skipper segment shallow soldier surgery tremble trigger tantrum theatre tragedy thunder uniform vinegar valiant variety verdict victory without weather whisper whistle whimper yoghurt affluent announce asteroid approach audition antelope bracelet barbecue brochure bachelor boundary business currency carousel carriage charcoal collapse carnival dominate delicate dynamite dissolve domestic dandruff enormous exchange epilogue elephant electric familiar fraction function flattery fortress garrison graphite gruesome gorgeous generous hesitate hospital heptagon hedgehog inspired ignorant illusion infinite junction juvenile jeopardy kangaroo lavender lollipop language literate location luscious mountain material marzipan multiply migraine national nitrogen nuisance occasion omelette operator organism persuade platform peculiar physical parallel question relation ridicule reckless register receiver reindeer squirrel sabotage shepherd scramble tentacle toboggan trousers transfer thorough umbrella ultimate universe violence vicinity volatile vacation wardrobe withdraw wishbone auxiliary advantage aeroplane architect asparagus butterfly barometer barricade beautiful behaviour culminate captivate celebrate champagne coastline duplicate deficient delicious dimension dormitory eccentric education efficient equipment favourite flammable frequency furniture gymnastic gentleman generator geography gratitude harmonica hibernate holocaust hydraulic identical illogical incentive indignant jewellery knowledge librarian limousine liquorice lifeguard lubricate machinery magnitude moustache manoeuvre margarine moonlight municipal negotiate narrative necessity neighbour nocturnal nostalgia obedience obnoxious officiate orchestra punctuate publicity permanent parachute paragraph penetrate prosecute quotation retaliate reservoir rebellion recipient redundant reinforce religious speculate sacrifice sanctuary satirical satellite sensitive tarantula tarpaulin technique telegraph turquoise upholster vaccinate valentine vegetable venerable vengeance voluntary wonderful xylophone whale shark eagle horse zebra skunk camel koala panda otter mouse tiger hyena snail sheep moose robin raven chick corgi flies cobra bison goose llama adder stork heron sloth snake TERMINATEDVKpermanentHI