10 ' Karnov Cheat Mode
20 '(C) 1989 1st Choice Software
30 MEMORY &3FFF:CALL &BC02:CALL &BBFF:BORDER 0:INK 0,0:INK 1,25:PAPER 0:PEN 1:MODE 1
40 PAPER 3:PEN 1
50 RESTORE 330:GOSUB 120:PAPER 0:PEN 2:PRINT:PRINT:GOSUB 120:GOSUB 2000:MODE 1:GOSUB 120:PRINT:PRINT:GOSUB 120
60 RESTORE 460:FOR i=&A000 TO &A04D:READ a$:POKE i,VAL("&"+a$):NEXT
70 a$=INKEY$:IF a$<>" " THEN 70
80 MODE 1:RESTORE 440:PEN 3:PRINT:GOSUB 120
90 a$=INKEY$:IF a$<>" " THEN 90
100 PEN 1:PRINT:a$="O.k. Here We Go...":GOSUB 150:|DISC:CALL &A000
110 END
120 ' Messages
130 READ a$:IF a$="XX" THEN RETURN
140 GOSUB 150:GOTO 130
150 ' Print Routine For Mode 1 - Rather Long Winded N'est Pas ?
160 t=1:b$="":ma=39
170 IF LEN(a$)<ma+1 THEN c$=a$:GOTO 320
180 c$=""
190 mat=1
200 b$="":tt=0
210 WHILE MID$(a$,t,1)<>" " AND t<>LEN(a$)+1
220 b$=b$+MID$(a$,t,1):IF MID$(a$,t,1)="" THEN tt=tt+2
230 t=t+1:WEND
240 IF MID$(a$,t,1)=" " THEN b$=b$+" ":t=t+1
250 mat=mat+LEN(b$)-tt
260 IF mat>ma THEN 290
270 IF mat<ma+1 THEN c$=c$+b$:IF t<LEN(a$)+1 THEN 200
280 IF t=LEN(a$) OR t>LEN(a$) THEN GOSUB 320:PRINT:RETURN
290 t=t-LEN(b$)
300 GOSUB 320:PRINT
310 c$="":GOTO 190
320 FOR x=1 TO LEN(c$):GOSUB 1000:SOUND 1,ASC(MID$(c$,x,1))+100,1:SOUND 2,ASC(MID$(c$,x,1))+200,1:NEXT:PAPER 0:PRINT" ":RETURN
330 ' Place Instruction Data
340 DATA "KARNOV - Cheat Mode"
350 DATA "(C) 1989 1st Choice Software."
360 DATA XX
370 DATA "This Cheat For U.S. Golds Karnov Gives You Infinite Lives."
375 DATA XX
380 DATA "1Please Note!2","The Instructions That Follow Must Be Obeyed Exactly For The Cheat To Work."
390 DATA "11.2 Reset The Computer By SHIFT, CONTROL & ESCAPE."
400 DATA "12.2 Empty Your Disc Drive and type 3|CPM"
410 DATA "13.2 Reset The Computer Again When The Error Message 1DISC MISSING2 Appears.
420 DATA "14.2 Run This Cheat Again."
425 DATA XX
427 DATA "If You Have Just Followed All These Instructions Press 3SPACE2 To Continue."
430 DATA XX
440 DATA "Please Insert Your KARNOV Disc In Drive A Then Press Space."
450 DATA XX
460 DATA 21,08,A0,0E,FF,CD
470 DATA 16,BD,CD,CB,BC,21
480 DATA 41,A0,CD,D4,BC,22
490 DATA 42,A0,79,32,44,A0
500 DATA 21,00,01,11,00,00
510 DATA 0E,41,DF,42,A0,21
520 DATA 45,A0,22,06,02,3A
530 DATA 44,A0,4F,CD,0F,B9
540 DATA 21,33,C0,11,80,BE
550 DATA 01,3F,00,ED,B0,01
560 DATA 7F,C1,C3,00,01,84
570 DATA 00,00,00,AF,32,DB
580 DATA 40,C3,00,40,4A,42
590 CALL &BC02:CALL &BBFF
1000 Z$=MID$(c$,x,1)
1100 IF Z$="" THEN PRINT Z$; ELSE PRINT Z$;CHR$(24);" ";CHR$(24);CHR$(8);
1200 RETURN
2000 i=TIME+450:WHILE i>TIME:WEND
2100 PAPER 1:PEN 3:LOCATE 10,25:PRINT "HIT SPACE TO PROCEED";
2200 WHILE INKEY$<>" ":WEND
2300 PAPER 0:RETURN
