A nice fun listing in pure BASIC. It dawns on me that the Lambda joystick port is always mapped to the 4,R,F,7,U keys (the manual has an example program)
From TAST!, "Denmark's largest key-in magazine" edition number 3 (1987-03) pages 16-17
GAMES
Lambda
Dick Turpin in action
Som Dick Turpin skal du overfalde en diligence. Desværre viser ku- sken sig lidt for "besværlig", og du må derfor ty til at skyde ham. Men du skal være hurtig, for han har til- kaldt hjælp, og den er på vej. Pro- grammet er skrevet til Lambda. Marathon eller Power 3000, men kan bruges til ZX-81, hvis du und- lader musiksætningerne og tilpas- ser grafikken.
[Like Dick Turpin, you have to assault a stagecoach. Unfortunately, the driver proves to be a little too "difficult", and you therefore have to resort to shooting him. But you have to be quick, because he has called for help, and it is on its way. The program is written for Lambda. Marathon or Power 3000, but can be used with the ZX-81 if you omit the music phrases and customize the graphics.]
This listing belies TAST! promise of "All of them tried and tested". There are two uninitialized variables so I changed Line 2040 and REM out some lines. It looks like the music is longer but there are some A statements missing. But it works as listed below
The lower-case letters means INVERSE (the 8300 manual uses this convention too), but what are the other characters? I guessed at them:
BASIC LISTING lower-case means INVERSE character. Other graphics characters: refer to magazine scan
Code: Select all
100 MUSIC "E4"
110 MUSIC "C2"
120 PAUSE 2
130 MUSIC "D2"
140 MUSIC "E13"
150 MUSIC "C2"
160 PAUSE 2
170 MUSIC "D2"
180 MUSIC "E4"
190 MUSIC "A4"
200 MUSIC "B4"
210 MUSIC "C<2"
220 PAUSE 1
230 MUSIC "B2"
240 MUSIC "A4"
250 MUSIC "E4"
260 MUSIC "D4"
270 MUSIC "C4"
280 MUSIC "D4"
290 MUSIC "E4"
300 MUSIC "F4"
310 MUSIC "G13"
320 MUSIC "G4"
330 MUSIC "F4"
340 MUSIC "E4"
350 MUSIC "D4"
360 REM IF A=2 THEN GOTO 400
370 REM GOTO 90
400 MUSIC "F4"
410 MUSIC "F1"
420 PAUSE 4
430 MUSIC "E2"
440 MUSIC "F13"
450 MUSIC "A4"
460 MUSIC "G4"
470 MUSIC "F4"
480 MUSIC "E4"
490 MUSIC "C2"
500 PAUSE 1
510 MUSIC "D2"
520 MUSIC "E13"
530 MUSIC "F4"
540 MUSIC "ç4"
550 MUSIC "G4"
560 MUSIC "G4"
570 MUSIC "G2"
580 PAUSE 2
590 MUSIC "f2"
600 MUSIC "G4"
610 MUSIC "G2"
620 PAUSE 2
630 MUSIC "f2"
640 MUSIC "G4"
650 MUSIC "B4"
660 MUSIC "A4"
670 MUSIC "G4"
680 MUSIC "f8"
690 MUSIC "E8"
700 MUSIC "D8"
710 MUSIC "C8"
720 MUSIC "G4"
730 MUSIC "G2"
740 PAUSE 2
750 MUSIC "f2"
760 MUSIC "G13"
770 MUSIC "B4"
780 MUSIC "A4"
790 MUSIC "G4"
800 MUSIC "f4"
810 MUSIC "D2"
815 PAUSE 2
820 MUSIC "E2"
830 MUSIC "f13"
840 MUSIC "E4"
850 MUSIC "ç4"
860 MUSIC "G2"
870 PAUSE 10
880 MUSIC "G4"
890 MUSIC "G2"
900 PAUSE 2
910 MUSIC "f2"
920 MUSIC "G4"
930 MUSIC "G2"
940 PAUSE 2
950 MUSIC "f2"
960 MUSIC "G4"
970 MUSIC "B4"
980 MUSIC "A4"
990 MUSIC "G4"
1000 MUSIC "f8"
1010 MUSIC "E8"
1020 MUSIC "D8"
1030 MUSIC "C8"
2000 POKE 16418,0
2001 PRINT AT 21,0;"ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª(C) BY JAKOB PEDERSEN-SOFT ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª"
2002 POKE 16418,2
2003 LET X=10
2004 LET T=0
2009 PRINT AT 17,22;" ¤±±±"
2010 PRINT AT 18,22;"½±¼ ±±*±"
2020 PRINT AT 19,22;" ½/±±-±± ±"
2030 PRINT AT 20,22;" 0 ½ ½0½0"
2033 M=INT (RND*18)+1
2035 PRINT AT M,21;" "
2040 REM M=INT ( RND*20)
3000 PRINT AT M,21;"m"
3010 IF V$="J" THEN GOTO 4000
3020 IF INKEY$="L" THEN X=X-1
3030 IF INKEY$="." THEN X=X+1
3040 IF INKEY$="A" THEN GOTO 5000
3041 IF X=0 THEN X=1
3042 IF X=20 THEN X=19
3050 PRINT AT X,0;"d"
3051 PRINT AT X-1,0;" "
3052 PRINT AT X+1,0;" "
3060 LET T=T+1
3070 PRINT AT 0,15;T
3080 IF T=100 THEN GOTO 6000
3090 GOTO 2035
4000 IF INKEY$="4" THEN X=X-1
4010 IF INKEY$="R" THEN X=X+1
4020 IF INKEY$="U" THEN GOTO 5000
4021 IF X=0 THEN X=1
4022 IF X=20 THEN X=19
4030 PRINT AT X,0;"d"
4031 PRINT AT X+1,0;" "
4032 PRINT AT X-1,0;" "
4040 LET T=T+1
4050 PRINT AT 0,15;T
4060 IF T=100 THEN GOTO 6000
4070 GOTO 2035
5005 SOUND 5,5000
5008 FOR S=1 TO 20
5010 PRINT AT X,S;" . "
5020 NEXT S
5025 PRINT AT X,21;" "
5030 IF X=M THEN GOTO 5500
5040 GOTO 2035
5500 CLS
5505 PRINT "bravo YOU SHOT THE OPPONENT, AND CAN NOW ESCAPE WITH ";INT (RND*100000);" DOL- LARS. WILL YOU TRY AGAIN..."
5510 PRINT "WITH JOYSTICK (J/N)"
5520 INPUT V$
5525 IF V$="J" THEN CLS
5530 IF V$="J" THEN GOTO 2000
5535 IF V$="N" THEN CLS
5540 IF V$="N" THEN GOTO 2000
5550 GOTO 5520
6000 CLS
6005 PRINT "sorry HELP CAME AND YOU WERE TAKEN ON THE SPOT ... WITH JOYSTICK (J/N)"
6010 INPUT V$
6015 REM IF TO ="J"SOUND CLS
6016 IF V$="J" THEN CLS
6020 IF V$="J" THEN GOTO 2000
6025 REM IF TO ="N"SOUND CLS
6026 IF V$="N" THEN CLS
6030 IF V$="N" THEN GOTO 2000
6040 GOTO 6010
7000 PRINT ">>>>>>>>>±dick-turpin±<<<<<<<<<<"
7010 PRINT AT 3,0;"THIS GAME IS ABOUT YOU BEING DICK TURPIN >d<. YOUR TASK IS TOSHOOT THE COMMANDER BEFORE THE HELP COMES SO THAT YOU CAN ESCAPE WITH ALL THE MONEY. DO YOU WANT THE JOY STICK (J/N)"
7015 PRINT AT 10,0;"OTHERWISE, YOU STEER WITH"
7016 PRINT "A=SHOOT , .=DOWN , L=UP."
7020 INPUT V$
7030 IF V$="J" THEN GOTO 7100
7040 IF V$="N" THEN GOTO 7100
7050 GOTO 7020
7100 PRINT AT 13,0;"DO YOU WANT TO HEAR THE MELODY FIRST (J/N)"
7105 IF INKEY$="J" THEN CLS
7110 IF INKEY$="J" THEN GOTO 5
7115 IF INKEY$="N" THEN CLS
7120 IF INKEY$="N" THEN GOTO 2000
7130 GOTO 7105
9000 CLS
9010 SAVE "DICk"
9015 SOUND 13,1500
9020 PRINT AT 10,5;"DICK TURPIN IS LOADED"
9030 PRINT AT 21,10;"press±a±key"
9040 IF INKEY$="" THEN GOTO 9040
9045 CLS
9050 GOTO 7000