1 REM *** GYPSY *** 2 REM FILES 'GYPSY VIDEO' AND 'GYPSY PLANETS' MUST BE ON DISK! 3 REM USE 'VIDEO SETUP' AND 'PLANET SETUP' TO CREATE THESE FILES 5 POKE 55,255:POKE 56,127:POKE 643,255:POKE 644,127:CLR 6 REM (TYPING THIS PROGRAM IS EASIER IF YOU GOSUB 95 IN DIRECT MODE RIGHT AWAY) 7 F$=" ":C0%=0:C1%=0:C2%=0:C3%=0:C4%=0:C5%=0:C6%=0:SP%=0 8 IF PEEK(37952)<>16 OR PEEK(37953)<>20 THEN 2000 9 DIM VV$(24) 10 GOSUB 700:GOSUB 2100 12 GOSUB 90:GOSUB 600:PRINT "[147]";:GOSUB 95:GOSUB 900:L=FRE(9) 13 PRINT VV$(23)"[146] "; 14 SYS 38046:POKE 648,140:PRINT VV$(23)BB$BB$" "; 15 GOSUB 260:POKE 33767,32 16 FOR I=0 TO 63:POKE 35840+I,0:NEXT:POKE ES,31 17 GOTO 100 39 REM READ JOYSTICK 40 JY=255-PEEK(56320):JB=JY AND 16 41 JY=JY AND 15:IF JY=0 AND JB=0 THEN 40 42 RETURN 50 I=INT(RND(0)*I):RETURN 55 FOR I=19 TO 23:PRINT VV$(I)" ";:NEXT 56 PRINT VV$(19);:RETURN 60 C4%=0:FM=FM-1:IF FM>0 THEN RETURN 62 FM=TS/2:QF=QF-1:IF QF=0 THEN PRINT VV$(23)BB$;:RETURN 64 PRINT VV$(23)BB$VV$(23)LEFT$(FF$,QF);:RETURN 70 TM=TS:QS=QS-1:IF QS=0 THEN PRINT VV$(24)BB$;:RETURN 72 PRINT VV$(24)BB$VV$(24)LEFT$(SS$,QS);:RETURN 90 POKE 53265,0:RETURN 95 POKE 53265,91:RETURN 98 REM *** ACTION LOOP *** 100 TM=TM-1:IF TM<1 THEN GOSUB 70:IF QS<1 THEN 275 105 IF C4%>0 THEN GOSUB 60:IF QF<1 THEN 270 110 IF C4%>0 AND C5%>0 THEN GOSUB 200 120 C0%=0:C5%=0 130 IF SP%>0 THEN 280 196 GOTO 100 200 I=C5%:C5%=0:C4%=0:J=I AND 10:K=I AND 20 201 WP=1:IF I>2 THEN WP=2:IF I>4 THEN WP=3:IF I>8 THEN WP=4 204 IF C0%>0 THEN 230 205 IF J>0 THEN 220 210 QF=QF+LV:IF QF>33 THEN QF=33 215 PRINT VV$(23)LEFT$(FF$,QF);:RETURN 220 IF QS<17 THEN QS=QS+LV:IF QS>17 THEN QS=17 225 PRINT VV$(24)LEFT$(SS$,QS);:RETURN 230 ON WP GOTO 400,240,400,240:RETURN 240 IF RP(WP)>0 THEN 400 245 PRINT VV$(23)BB$VV$(23)"[211][207][210][210][217][173][173][206][207][160][211][213][210][198][193][195][197][160][198][207][210][160][204][193][206][196][201][206][199]";:GOSUB 800 250 PRINT VV$(24)BB$VV$(24)"PRESS BUTTON TO GO ON";:C0%=0 255 IF C0%=0 THEN 255 256 IF C0%=1 THEN C0%=0:GOTO 256 260 PRINT VV$(23)BB$VV$(24)BB$; 265 PRINT VV$(23)LEFT$(FF$,QF)VV$(24)LEFT$(SS$,QS);:RETURN 270 PRINT VV$(23)"[207][213][212][160][207][198][160][198][213][197][204][146]";:FOR I=0 TO 1999:NEXT:GOTO 280 275 PRINT VV$(24)"[207][213][212][160][207][198][160][193][201][210][146]";:FOR I=0 TO 1999:NEXT 280 SP%=0:GOSUB 90:POKE ES,0:SYS 40768 281 POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND 252)OR 3 282 POKE 53272,20:POKE 648,4:PRINT "[147]"; 283 GOSUB 95:PRINT " "GB$" HAS REMOVED YOU AS PILOT.":I=LEN(GL$):GOSUB 50 284 PRINT:PRINT " WITH LUCK, "GN$(I)" CAN PILOT" 285 PRINT " THE FAMILY TO FORTUNE--AND SURVIVAL!"; 286 PRINT VV$(24)"[208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][146]"; 287 GOSUB 40:IF JB=0 THEN 287 295 GOTO 300 300 PRINT "[147]"VV$(10)"[160][160][160][160][160][160][208][204][193][217][160][193][199][193][201][206][191]"VV$(12)"[160][160][160][160][160][160][209][213][201][212][191][160][160][160][160][160][160]"; 305 PRINT VV$(2)"CARGO VALUE [146]\"STR$(CV*10000) 306 PRINT VV$(4)"SURVIVING CREW [146] "STR$(LEN(GL$)) 307 LV=10:XV=10:FOR I=0 TO 599:NEXT 308 PRINT VV$(XV)RX$VV$(LV)"[173][146]":XV=LV 309 GOSUB 40:IF JB>0 THEN 315 310 IF(JY<>1)AND(JY<>2) THEN 309 311 IF LV=10 THEN LV=12:GOTO 308 312 LV=10:GOTO 308 315 IF LV=12 THEN 370 320 GL$=LEFT$(PZ$,33):PY$=LEFT$(PZ$,TN) 321 GB=INT(RND(0)*33):GB$=GN$(GB):I=GB:GOSUB 875:PV=0 330 GOSUB 700 335 GOTO 12 370 PRINT VV$(24)"TILL NEXT TIME, GYPSY PILOT[146]";:FOR I=0 TO 1999:NEXT 379 REM ** REENABLE SHIFT/COMMODORE AND RUN-STOP/RESTORE 380 POKE 657,0:POKE 792,71:POKE 808,237 390 SYS 65126 400 QS=33:PRINT VV$(24)LEFT$(SS$,QS);:POKE ES,0:SYS 40768 401 VT(WP)=1:DG$=LEFT$(PZ$,3):TR$=LEFT$(PZ$,HT(WP)):FT=0 405 POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND 252)OR 3 410 POKE 53272,20:POKE 648,4 415 PRINT "[147][146]";:GOSUB 95 416 PRINT " YOU HAVE LANDED A GROUP OF GYPSIES ON" 417 PRINT " "MM$(0,2-RP(WP));:IF PN(WP)<254 THEN PRINT " NAMED "NM$(PN(WP)) 418 PRINT VV$(2)" (IT IS "MM$(1,HB(WP))")" 419 PRINT VV$(4)" YOUR FIRST REPORT TO THE SHIP NOTES:" 420 PRINT ""VV$(5)PM$(PD(WP),HB(WP))VV$(8)"[215][200][193][212][160][215][201][204][204][160][217][207][213][160][196][207][160][206][207][215][191][146]"; 421 ON HB(WP) GOTO 500,500 422 PRINT ""VV$(9)"[160][160][204][207][207][203][160][193][210][207][213][206][196]"VV$(10)"[160][160][212][193][203][197][160][215][200][193][212][160][215][197][160][206][197][197][196]"; 423 PRINT VV$(11)"[160][160][199][197][212][160][194][193][195][203][160][212][207][160][212][200][197][160][211][200][201][208]"VV$(12)"[160][160][210][197][211][201][199][206][160][193][211][160][208][201][204][207][212][154]"; 424 K=9:L=K 425 PRINT VV$(L)RX$VV$(K)RR$;:L=K 426 GOSUB 40:IF JB>0 THEN 431 427 IF JY=1 THEN K=K-1:IF K<9 THEN K=12 428 IF JY=2 THEN K=K+1:IF K>12 THEN K=9 429 IF K=L THEN 426 430 GOTO 425 431 PRINT VV$(L)RX$;:ON K-8 GOTO 432,435,480,470 432 I=DL(WP):GOSUB 50:IF I<3 THEN 440 433 I=EF(WP):GOSUB 50:IF I<3 AND LEN(TR$)>0 THEN 450 434 GOSUB 55:PRINT "[160][198][207][213][206][196][160][206][207][212][200][201][206][199][160][215][207][210][212][200][215][200][201][204][197][160]";:GOTO 424 435 IF FT>0 THEN GOSUB 55:PRINT "[160][199][207][212][160][201][212][161][160]";:CV=CV+FT:FT=0:GOTO 424 436 I=DL(WP):GOSUB 50:IF I<3 THEN 440 437 GOSUB 55:PRINT "[160][215][200][193][212][167][211][160][212][207][160][212][193][203][197][191][160]";:GOTO 424 440 GOSUB 55:PRINT " PILOT! IT'S AWFUL! "; 441 I=LEN(GL$):GOSUB 50:PRINT GN$(I)" JUST" 442 GOSUB 875:IF LEN(GL$)<5 THEN SP%=1:PRINT VV$(23)" TOO MANY LOST, PILOT!"; 443 PRINT AM$(PD(WP),HB(WP),ASC(LEFT$(DG$,1)),0)"[146]"; 444 I=LEN(DG$):IF I<2 THEN 446 445 DG$=RIGHT$(DG$,I-1):ON HB(WP) GOTO 507,507:GOTO 424 446 PRINT VV$(24)"[160][208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][160]"; 447 GOSUB 40:IF JB=0 THEN 447 448 PRINT VV$(18)GN$(GB)" ORDERS YOU: RETURN TO THE SHIP!"; 449 GOTO 480 450 GOSUB 55:PRINT "[160][208][201][204][207][212][161][160][160][204][207][207][203][160][215][200][193][212][160][215][197][160][198][207][213][206][196][161][160][160]" 451 PRINT AM$(PD(WP),HB(WP),ASC(LEFT$(TR$,1)),1)"[146]"; 452 I=10:GOSUB 50:FT=1+(I*LV):I=12-DL(WP):IF I<1 THEN 454 453 GOSUB 50:FT=FT-I 454 IF FT=0 THEN FT=1 455 I=LEN(TR$):IF I=1 THEN TR$="":GOTO 457 456 TR$=RIGHT$(TR$,I-1) 457 ON HB(WP) GOTO 507,507:GOTO 424 470 SP%=1:GOSUB 90:GOTO 490 480 GOSUB 55 481 PRINT "[211][213][210][214][201][214][201][206][199][160][195][210][197][215][160][160]"LEN(GL$)VV$(20)"[195][193][210][199][207][160][214][193][204][213][197][160][160][160][160][220]"CV*10000 482 PRINT VV$(24)"[160][208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][195][207][206][212][201][206][213][197][160][146]"; 483 FOR I=0 TO 599:NEXT 484 GOSUB 40:IF JB=0 THEN 484 490 GOSUB 800 491 IF(PEEK(52)-PEEK(50))<4 THEN L=FRE(9) 495 GOSUB 600:SYS 38046:POKE 648,140:POKE ES,31 496 RETURN 500 PRINT ""VV$(9)"[160][160][204][207][207][203][160][193][210][207][213][206][196]"VV$(10)"[160][160][193][211][203][160][209][213][197][211][212][201][207][206][211]"; 501 PRINT VV$(11)"[160][160][208][213][212][160][207][206][160][193][160][211][200][207][215]"VV$(12)"[160][160][207][198][198][197][210][160][212][207][160][212][201][206][203][197][210]"; 502 PRINT VV$(13)"[160][160][196][201][195][203][197][210][160][215][201][212][200][160][212][200][197][160][204][207][195][193][204][211]"VV$(14)"[160][160][193][211][203][160][198][207][210][160][200][197][204][208]"; 503 PRINT VV$(15)"[160][160][212][193][203][197][160][215][200][193][212][160][215][197][160][206][197][197][196]"VV$(16)"[160][160][199][197][212][160][194][193][195][203][160][212][207][160][212][200][197][160][211][200][201][208]"; 504 PRINT VV$(17)"[160][160][210][197][211][201][199][206][160][193][211][160][208][201][204][207][212][154]"; 507 K=9:L=K 508 PRINT VV$(L)RX$VV$(K)RR$;:L=K 509 GOSUB 40:IF JB>0 THEN 515 510 IF JY=1 THEN K=K-1:IF K<9 THEN K=17 511 IF JY=2 THEN K=K+1:IF K>17 THEN K=9 512 IF K=L THEN 509 513 GOTO 508 515 PRINT VV$(L)RX$;:ON K-8 GOTO 520,530,540,550,560,570,580,480,470 520 I=DL(WP):GOSUB 50:IF I<3 THEN 440 521 I=EF(WP):GOSUB 50:IF I<3 AND LEN(TR$)>0 THEN 450 522 GOSUB 55:PRINT "[160][198][207][213][206][196][160][206][207][212][200][201][206][199][160][215][207][210][212][200][215][200][201][204][197][160]";:GOTO 507 529 GOTO 507 530 IF HB(WP)<>1 THEN 532 531 IF DL(WP)<5 THEN DL(WP)=3:GOSUB 55:PRINT "[162][199][207][160][193][215][193][217][162]";:GOTO 507 532 IF DL(WP)>7 AND LEN(TR$)>0 THEN 450 533 GOSUB 55:IF HB(WP)=1 THEN PRINT "[162][211][207][210][210][217][173][173][195][193][206][167][212][160][200][197][204][208][160][217][207][213][162]";:GOTO 507 534 PRINT "[162][206][207][160][211][208][197][193][203][160][199][193][204][193][195][212][201][195][160][204][193][206][199][213][193][199][197][160][211][207][160][211][207][210][210][217][162]";:GOTO 507 540 IF DL(WP)<7 THEN DL(WP)=DL(WP)+1:GOTO 542 541 GOSUB 55:PRINT "[160][212][200][197][160][217][207][203][197][204][211][160][196][207][206][167][212][160][193][208][208][210][197][195][201][193][212][197][160][193][210][212][160]";:GOTO 507 542 GOSUB 55:PRINT "[160][200][197][193][210][160][212][200][197][160][193][208][208][204][193][213][211][197][191][160][160][212][200][197][217][160][204][207][214][197][160][213][211][161][160]";:GOTO 507 550 IF HB(WP)=1 THEN I=DL(WP):GOSUB 50:IF I<3 THEN DL(WP)=DL(WP)+1:GOTO 552 551 GOSUB 55:PRINT "[160][212][200][197][217][167][214][197][160][199][207][212][160][206][207][212][200][201][206][199][160][198][207][210][160][213][211][160][212][207][160][198][201][216][160]";:GOTO 507 552 GOSUB 55:PRINT "[160][212][200][197][217][160][204][201][203][197][196][160][207][213][210][160][215][207][210][203][172][160][208][201][204][207][212][160]"; 553 IF EF(WP)>4 THEN EF(WP)=EF(WP)-1 554 GOTO 507 560 IF FT<>0 THEN 563 561 IF (DL(WP)>6)AND(EF(WP)<10)AND LEN(TR$)>0 THEN 565 562 GOSUB 55:PRINT "[162][206][207][160][196][197][193][204][211][160][215][201][212][200][160][199][217][208][211][201][197][211][161][162]";:GOTO 507 563 IF DL(WP)<4 THEN 562 564 GOSUB 55:PRINT "[160][199][207][212][160][201][212][161][160]";:CV=CV+FT:FT=0:GOTO 507 565 GOSUB 55:PRINT "[160][193][204][204][160][210][201][199][200][212][172][160][199][217][208][211][201][197][211][174][160][160][217][207][213][160][215][193][206][212][160][212][207][160][194][213][217][160]" 566 PRINT ""AM$(PD(WP),HB(WP),ASC(LEFT$(TR$,1)),1)"[160][191][146]"; 567 GOTO 452 570 IF HB(WP)=1 THEN 573 571 DL(WP)=DL(WP)+1:IF EF(WP)>6 THEN EF(WP)=EF(WP)-1 572 GOSUB 55:PRINT "[162][215][197][167][204][204][160][196][207][160][215][200][193][212][160][215][197][160][195][193][206][173][173][203][197][197][208][160][204][207][207][203][201][206][199][162]";:GOTO 507 573 IF DL(WP)>7 THEN 575 574 GOSUB 55:PRINT "[162][202][213][211][212][160][215][200][193][212][160][215][197][160][206][197][197][196][173][173][199][217][208][211][217][160][194][197][199][199][193][210][211][161][162]";:GOTO 507 575 IF EF(WP)>4 THEN EF(WP)=EF(WP)-1:GOTO 572 576 GOSUB 55:PRINT "[162][212][200][197][210][197][167][211][160][206][207][212][200][201][206][199][160][215][197][160][195][193][206][160][196][207][173][173][211][207][210][210][217][160][162]";:GOTO 507 579 GOTO 507 580 IF FT<>0 THEN GOSUB 55:PRINT "[160][199][207][212][160][201][212][161][160]":CV=CV+FT:FT=0:GOTO 583 581 I=DL(WP):GOSUB 50:IF I<3 THEN 440 582 GOSUB 55:PRINT "[160][215][200][193][212][167][211][160][212][207][160][212][193][203][197][191][160]":DL(WP)=DL(WP)-2:GOTO 585 583 IF DL(WP)<8 THEN 440 584 DL(WP)=DL(WP)-3:I=DL(WP):GOSUB 50:IF I<3 THEN 440 585 PRINT "[162][215][197][160][196][207][206][167][212][160][204][201][203][197][160][217][207][213][172][160][212][200][201][197][214][201][206][199][160][199][217][208][211][201][197][211][161][162]":GOTO 507 586 IF DL(WP)<8 THEN 440 587 DL(WP)=DL(WP)-3:I=DL(WP):GOSUB 50:IF I<3 THEN 440 589 GOTO 507 600 VB=32768:POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND 252)OR 1 602 SB=0:POKE 53272,(SB*16)+4:SB=VB+1024*SB 604 BB=SB/256:POKE 648,BB 611 REM ** SPRITE COLOR TABLE 612 CT(0)=53287:FOR I=1 TO 7:CT(I)=CT(I-1)+1:NEXT 613 HH(0)=53248:VV(0)=53249:FOR I=1 TO 7:HH(I)=HH(0)+I*2:VV(I)=VV(0)+I*2:NEXT 618 HR=53264 620 ES=53269 622 POKE 53271,0 624 POKE 53277,0 626 POKE 53275,0 628 POKE 53276,30 630 POKE 53285,15:POKE 53286,7 635 FOR I=0 TO 7:BC(I)=255-BS(I):NEXT 638 REM *** INITIALIZE VALUES *** 640 PRINT "[154]"; 642 POKE 53281,0 644 POKE 53280,0 646 POKE CT(0),7:POKE CT(1),5:POKE CT(2),2:POKE CT(3),6:POKE CT(4),12 659 REM *** ML TABLE SETUP *** 661 POKE 37920,4:POKE 37921,4 663 POKE 37922,1 665 POKE 37923,0 667 POKE 37924,1:POKE 37925,1 669 POKE 37936,1 671 POKE 37940,1 673 POKE 37941,0 674 REM ** GO-SPEED TIMER (NUMBER OF SPRITE 0 MOVES PER INTERRUPT [1=SLOWEST]) 675 POKE 37926,3:POKE 37928,3 677 POKE 37927,0:POKE 37935,0:POKE 37943,0 679 POKE 53282,1:POKE 53283,7:POKE 53284,9 693 REM ** SAFETY PROCEDURES *** 694 POKE 657,128:REM DISABLE SHIFT/COMMODORE CHARACTER SET SWITCH 695 POKE 808,234:POKE 792,193:REM DISABLE STOP AND STOP/RESTORE 696 RETURN 699 REM *** INTRO SCREEN *** 700 POKE 53281,0:POKE 53280,4:POKE 53265,PEEK(53265)OR 64:PRINT "[154][147]"; 701 POKE 53282,7:POKE 53283,9:POKE 53284,1 705 PRINT ""TAB(14)"[199][217][208][211][217][160][160][208][201][204][207][212][146]":PRINT:PRINT 710 PRINT " YOU HAVE BEEN CHOSEN TO PILOT THE" 711 PRINT "FAMILY'S STARSHIP IN SEARCH OF WORLDS 712 [153] "WHERE WE CAN TRADE, PUT ON SHOWS, AND" 713 [153] "PERHAPS FIND SOME SPECTACULAR TREASURE.":[153] 714 [153] " MOST IMPORTANT, THOUGH, IS TO KEEP 715 PRINT "THE FAMILY SAFE. THERE ARE DANGERS OUT" 716 PRINT "AMONG THE STARS. AND YOU MUST ANSWER" 717 PRINT "FOR ANY LIVES THAT ARE LOST.":PRINT:PRINT 720 PRINT " HOW DANGEROUS A VOYAGE DO YOU DARE ATTEMPT?" 721 PRINT "[160][160][160][160][160][214][197][210][217][160][196][193][206][199][197][210][207][213][211][160][160][160][160]" 722 PRINT "[160][160][160][160][160][194][207][204][196][160][194][213][212][160][206][207][212][160][195][210][193][218][217]" 723 PRINT "[160][160][160][160][160][208][210][197][212][212][217][160][211][193][198][197][160][160][160][160][160][160][160]":PRINT:PRINT "(USE JOYSTICK IN PORT 2)"; 724 VV$(0)="":FOR I=1 TO 24:VV$(I)=VV$(I-1)+"":NEXT:RR$="=[146]":RX$="[160]":LV=18 725 RR$="=[146]":RX$="[160]":LV=18:XV=LV 726 PRINT VV$(XV)RX$VV$(LV)RR$;:XV=LV 727 JB=0:JY=0:GOSUB 40:IF JB>0 THEN LV=LV-17:GOTO 731 728 IF JY=1 THEN LV=LV-1:IF LV<18 THEN LV=20 729 IF JY=2 THEN LV=LV+1:IF LV>20 THEN LV=18 730 GOTO 726 731 PRINT "[147][204][193][211][212][160][205][201][206][213][212][197][160][201][206][211][212][210][213][195][212][201][207][206][211]" 735 PRINT:PRINT " THE SHIP'S COMPUTER WILL LOCATE PLANETS:":PRINT 736 PRINT " [199][193][211][160][199][201][193][206][212][211][160][160][160] FOR HYDROGEN FUEL ":PRINT 737 PRINT " [210][207][195][203][217][160][208][204][193][206][197][212][211] FOR THE ELEMENTS THAT " 738 PRINT " SUPPORT LIFE--CARBON, OXYGEN, NITROGEN" 740 PRINT:PRINT " YOUR JOB IS TO PILOT THE SHIP INTO" 741 PRINT " STATIONARY ORBIT, SO IT FOLLOWS RIGHT" 742 PRINT " ALONG WITH THE PLANET. FUEL AND" 743 PRINT " SUPPLIES ARE TAKEN ABOARD BY MACHINES.":PRINT 744 PRINT " TO VISIT A PLANET, PRESS THE BUTTON" 745 PRINT " WHILE IN STATIONARY ORBIT." 750 PRINT VV$(24)"[208][210][197][211][211][160][194][213][212][212][207][206][160][212][207][160][199][207][160][207][206]"; 751 GOSUB 40 760 PRINT "[147] YOU CAN TAKE A NAP NOW--IT TAKES A "; 761 PRINT " WHILE TO LOAD SUPPLIES ABOARD THE SHIP." 765 RETURN 800 RP(WP)=0:J=0 805 IF(WP=2)OR(WP=4) THEN J=RND(0)*100 807 IF J>88 THEN RP(WP)=1:IF J>96 THEN RP(WP)=2:PN(WP)=254:PD(WP)=10 810 HB(WP)=INT(RND(0)*3):IF RP(WP)=2 AND HB(WP)=0 THEN HB(WP)=1 811 DL(WP)=3+INT(6*RND(0))+LV-HB(WP):EF(WP)=6+INT(6*RND(0))-LV-HB(WP) 812 HT(WP)=1+INT(3*RND(0)) 820 IF RP(WP)=2 THEN RETURN 822 PV=PV+1:IF PV>28 THEN SP%=1:GOTO 885 825 I=LEN(PX$(HB(WP))):IF I<1 THEN 810 830 J=INT(RND(0)*I)+1:GOSUB 860 835 PD(WP)=ASC(MID$(PX$(HB(WP)),J,1)) 840 IF I>2 THEN GOTO 855 845 IF I=1 THEN PX$(HB(WP))="":RETURN 850 PX$(HB(WP))=MID$(PX$(HB(WP)),XQ(J),1):RETURN 855 IF J=1 THEN PX$(HB(WP))=RIGHT$(PX$(HB(WP)),I-1):RETURN 856 IF J=I THEN PX$(HB(WP))=LEFT$(PX$(HB(WP)),I-1):RETURN 857 PX$(HB(WP))=LEFT$(PX$(HB(WP)),J-1)+RIGHT$(PX$(HB(WP)),I-(J+1)):RETURN 860 K=LEN(PY$):L=1+INT(RND(0)*K) 865 PN(WP)=ASC(MID$(PY$,L,1)) 868 IF L=1 THEN PY$=RIGHT$(PY$,K-1):RETURN 869 IF L=K THEN PY$=LEFT$(PY$,K-1):RETURN 870 PY$=LEFT$(PY$,L-1)+RIGHT$(PY$,K-(L+1)):RETURN 875 IF I=0 THEN GL$=RIGHT$(GL$,LEN(GL$)-1):RETURN 876 IF I=LEN(GL$)-1 THEN GL$=LEFT$(GL$,I-1):RETURN 880 GL$=LEFT$(GL$,I)+RIGHT$(GL$,LEN(GL$)-(I+1)):RETURN 885 PRINT VV$(23)"[160][160][217][207][213][160][204][197][196][160][213][211][160][212][207][160][178][185][160][215][207][210][204][196][211][173][173][199][207][207][196][160][215][207][210][203][161][160][160][160]"BB$; 890 RETURN 900 FOR I=1 TO 4:POKE HH(I),20+INT(RND(9)*220) 901 POKE VV(I),50+INT(RND(9)*190):NEXT 902 POKE HR,0 909 REM ** PUT STARS ON THE SCREEN 910 PRINT "[147]";:FOR I=0 TO 49:POKE VB+INT(RND(9)*1024),46:NEXT 915 FOR I=0 TO 8:POKE VB+INT(RND(9)*1024),42:NEXT 919 REM ** STARSHIP POSITION 920 POKE 53248,175:POKE 53249,150 921 REM ** STARSHIP DIRECTION 922 POKE VB+1016,16 929 REM ** SETUP STRINGS 931 BB$="[146] " 935 FF$="FUEL " 936 SS$="[211][213][208][208][204][201][197][211][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]" 937 QF=33:QS=33 938 FOR I=0 TO 2:PX$(I)=LEFT$(PZ$,10):NEXT 939 REM ** LEVEL OF PLAY 940 TS=50:IF LV<3 THEN TS=20:IF LV<2 THEN TS=10 941 TM=TS:FM=TS/2 942 XQ(1)=2:XQ(2)=1 944 PRINT VV$(23)" PAUSE A MOMENT FOR GARBAGE DISPOSAL ..."; 945 FOR WP=1 TO 4:GOSUB 800:NEXT 946 CV=1 947 RETURN 1998 REM *** MACHINE LANGUAGE *** 1999 REM LOAD ML FILE 2000 LOAD "GYPSY VIDEO",8,1 2100 OPEN 2,8,2,"GYPSY PLANETS" 2110 DIM NM$(254),GN$(33),MM$(1,2),PM$(10,2),AM$(10,2,2,1) 2120 TN=0:NM$(254)="[193][210][212][201][198][201][195][201][193][204][160][211][193][212][197][204][204][201][212][197]" 2130 INPUT#2,NM$(TN):IF NM$(TN)="XXXXX" THEN 2145 2140 TN=TN+1:GOTO 2130 2145 PZ$="":FOR I=0 TO 254:PZ$=PZ$+CHR$(I):NEXT:PY$=LEFT$(PZ$,TN):L=FRE(9) 2150 FOR I=0 TO 1:FOR J=0 TO 2:INPUT#2,MM$(I,J):NEXT:NEXT 2160 FOR I=0 TO 32:INPUT#2,GN$(I):NEXT:GL$=LEFT$(PZ$,33) 2161 PRINT "[147][160][160][160][160][160][160][160][160][200][197][210][197][160][201][211][160][212][200][197][160][199][217][208][211][217][160][198][193][205][201][204][217][160][160][160][160][160][160][160][160]" 2163 GB=INT(RND(0)*33):GB$=GN$(GB):I=GB:GOSUB 875 2164 PRINT "";:FOR I=1 TO 32 STEP 2 2165 PRINT ,GN$(ASC(MID$(GL$,I,1))),GN$(ASC(MID$(GL$,I+1,1))):NEXT:PRINT "[154]"; 2166 A$="[160]"+GB$+"[154][160][201][211][160][200][197][193][196][160][207][198][160][212][200][197][160][198][193][205][201][204][217][174]":L=INT((42-LEN(A$))/2) 2167 B$="":FOR I=1 TO L:B$=B$+"[160]":NEXT:A$=B$+A$:FOR I=LEN(A$) TO 42 2168 A$=A$+"[160]":NEXT:PRINT:PRINT A$ 2169 PRINT " NOW THE COMPUTER WILL UPDATE ITS STAR" 2170 PRINT " CHARTS--AND THEN WE'RE ON OUR WAY!" 2180 FOR I=0 TO 2:FOR J=0 TO 9:INPUT#2,PM$(J,I) 2190 FOR K=0 TO 1:FOR L=0 TO 2:INPUT#2,AM$(J,I,L,K):NEXT:NEXT:NEXT:NEXT 2195 FOR I=1 TO 2:READ PM$(10,I):FOR K=0 TO 1:FOR L=0 TO 2 2196 READ AM$(10,I,L,K):NEXT:NEXT:NEXT 2200 CLOSE 2:RETURN 2210 DATA A SPANKING NEW SPACE STATION WITH A CREWOF LONELY HUMANS 2211 DATA GOT WAYLAID BY SEX-STARVED CREW MEMBERS AND NOW REFUSES TO LEAVE 2212 DATA STUMBLED ON ILLEGAL DRUGS AND WAS SHOT,WAS CAUGHT SELLING HOOCH 2213 DATA AN URGENT MESSAGE OF AN ALIEN INVASION,VITAL DATA ABOUT THIS SYSTEM 2214 DATA A THRILLING NOVEL THE CREW HAS WRITTEN IN THEIR ENDLESS SPARE TIME 2220 DATA AN ANCIENT ALIEN ORBITAL VESSEL WITH A CREW OF GIANT SPEECHLESS BEES 2221 DATA WENT EXPLORING--FOUND THE QUEEN AND WAS STUNG TO DEATH 2222 DATA TRIED TO BREATHE THE ALIEN AIR,WAS KIDNAPPED AND USED FOR LARVA FOOD 2223 DATA A KIND OF HONEY THAT GIVES TEMPORARY TELEPATHIC ABILITIES 2224 DATA A STRUCTURAL BEESWAX STRONGER THAN STEEL 2225 DATA OBSERVATIONS OF THE BEES--INCLUDING THEIR MAGNIFICENT DANCING