--- title: "Program Printout: Phasor" type: "article" slug: "program-printout-phasor" url: "http://localhost/article/program-printout-phasor/" markdown_url: "http://localhost/article/program-printout-phasor.md" published_at: "2020-10-27T17:09:13+00:00" modified_at: "2026-06-21T23:27:08+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Remarkable graphics effects are the striking feature of Phasor for the 16K TS1000, ZX81. You are an infamous space pirate travelling home through hyperspace after a hard day's murder and mayhem. Suddenly you find yourself wrenched back into real space/time by a squadron of Federation star-ships. You are hopelessly surrounded. Can you fight your last…" category: - name: "Timex Sinclair User" slug: "timex-sinclair-user" taxonomy: "category" url: "http://localhost/category/periodicals/timex-sinclair-user/" post_tag: - name: "1983" slug: "year-1983" taxonomy: "post_tag" url: "http://localhost/tag/year-1983/" - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" - name: "TS 1000" slug: "ts1000" taxonomy: "post_tag" url: "http://localhost/tag/ts1000/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" model: - name: "Timex/Sinclair 1000" slug: "ts-1000" taxonomy: "model" url: "http://localhost/model/ts-1000/" indiv: - name: "Marcus Harvey" slug: "marcus-harvey" taxonomy: "indiv" url: "http://localhost/indiv/marcus-harvey/" publication: "Timex Sinclair User" publication_r: id: 10278 title: "Timex Sinclair User" type: "periodical" url: "http://localhost/periodical/timex-sinclair-user/" authors: "Marcus Harvey" volume: "1" issue: "1" issues_articles: - id: 26866 title: "Timex Sinclair User n1" type: "issue" url: "http://localhost/issue/timex-sinclair-user-n1/" pages: "30-31" pubdate: "June 1983" download: "http://localhost/wp-content/uploads/2023/04/Phasor.P.zip" archive_link: false volumeissue: "v1n1" article_media: - id: 57336 title: "Phasor" type: "computer_media" url: "http://localhost/computer_media/phasor/" --- # Program Printout: Phasor Remarkable graphics effects are the striking feature of Phasor for the 16K TS1000, ZX81. You are an infamous space pirate travelling home through hyperspace after a hard day’s murder and mayhem. Suddenly you find yourself wrenched back into real space/time by a squadron of Federation star-ships. You are hopelessly surrounded. Can you fight your last battle with style? The view from your cockpit is of stars and galaxies in the blackness of space. Each attracting star-ship is an inverse 0 appearing at random positions around the screen. You are required to note in which column it appears, relate that to the letters at the bottom of the? display and hit the appropriate key on the computer. If you miss, or delay too long, your assailant will take up position at screen center and send out a series of devastating thermal bolts at your ship. That is where the original graphics come in. The two energy beams from the Federation ship approach with a striking 3D effect. If they are on target, they rock your pirate ship by means of the FAST/SLOW loop in lines 1200 to 1240, Excellent! You cannot fire at the ship when it is firing at you. You must destroy 15 ships to qualify for a new screen and the game speeds up as each screen is cleared. If you break into the program, remember to re-start it with “RUN 2”, since the program saves itself in line 1. A series of honorary accolades is awarded for a high score. Anything above 1,050 gains the accolade of Starfalcon, Starhawk or Stareagle, depending on the level of difficulty selected. You will have to be good, though, since the author of the program, Marcus Harvey, has managed a personal best of only 550. Let us know you how make out! ## Source Code: Phasor ``` 1 SAVE "1018%4" 2 CLS 3 PRINT "PHASOR";AT 1,0;"''''''''''''",, 4 PRINT "WHAT LEVEL OF DIFFICULTY?",,, 5 PRINT "(1,2,OR 3)" 6 INPUT X 7 IF X>3 OR X<0 THEN GOTO 6 8 LET INP=(1/INT X)*25 9 CLS 10 LET S=0 11 LET SH=5 12 LET P=20 13 LET I=0 15 CLS 16 IF X=1 THEN LET A$=" FALCON" 17 IF X=2 OR X=1 AND S=2100 THEN LET A$=" HAWK" 18 IF X=3 OR X=2 AND S=2100 OR X=1 AND S=2850 THEN LET A$=" EAGLE" 20 IF S=1050 OR S=2100 OR S=2850 THEN GOSUB 7000 25 FOR N=1 TO 21 30 PRINT "% % % % % % % % % % % % % % % % % % % % % % % % % % " 40 NEXT N 45 FOR M=1 TO 80 50 LET R1=INT (RND*20) 60 LET R2=INT (RND*26) 80 PRINT AT R1,R2;"%." 90 NEXT M 95 FOR K=1 TO 10 100 LET R3=INT (RND*20) 110 LET R4=INT (RND*26) 120 PRINT AT R3,R4;":'" 130 NEXT K 135 LET Q=38 140 LET Z=0 145 PRINT AT 21,Z;CHR$ Q 150 LET Q=Q+1 155 LET Z=Z+1 156 IF Z=26 THEN GOTO 165 160 GOTO 145 165 PRINT AT 2,26;"SCORE:";AT 3,26;S 170 PRINT AT 6,28;"S";AT 7,28;"H";AT 8,28;"I";AT 9,28;"E";AT 10,28;"L";AT 11,28;"D";AT 12,28;"S";AT 12,29;"=";AT 12,30;"5" 180 PRINT AT 14,28;"P";AT 15,28;"H";AT 16,28;"A";AT 17,28;"S";AT 18,28;"O";AT 19,28;"R";AT 20,28;"S";AT 20,29;"=";AT 20,30;"20" 200 REM %W%A%R%P%-%I%N% % % % % % % % % % % % % % % % 205 IF I=150 AND INP<>1 THEN LET INP=INP-1 210 LET R5=INT (RND*20) 220 LET R6=INT (RND*24) 230 FOR C=1 TO INP 235 LET R8=INT (RND*30)+1 240 PRINT AT R5,R6;"%(%0%)" 241 IF I=150 THEN GOTO 11 245 IF P=0 THEN GOSUB 500 250 IF CODE INKEY$-38=R6+1 AND P<>0 THEN GOSUB 300 260 IF INKEY$<>"" THEN GOSUB 500 265 IF INKEY$="" AND R8=1 THEN GOSUB 525 270 NEXT C 280 PRINT AT R5,R6;"% %.% " 290 GOTO 210 300 REM %H%I%T% % % % % % % % % % % % % % % % % % % % 310 LET P=P-1 320 LET S=S+10 325 LET I=I+10 330 PRINT AT 3,26;" ";AT 3,26;S 335 PRINT AT 20,30;" ";AT 20,30;P 340 FOR F=1 TO 5 350 PRINT AT R5,R6;"% % % " 360 PRINT AT R5,R6;"%(%0%)" 370 NEXT F 375 PRINT AT R5,R6;"% % %." 380 GOTO 200 500 REM %M%I%S%S% % % % % % % % % % % % % % % % % % % 510 IF P<>0 THEN LET P=P-1 520 PRINT AT 20,30;" ";AT 20,30;P 525 FOR J=1 TO 5 530 PRINT AT 0,0;"%A%L%I%E%N% %F%I%R%E%S" 535 NEXT J 540 LET R7=INT (RND*3)+1 545 PRINT AT 0,0;"% %.% %.% % :.%.% % % " 546 GOSUB 1000 550 IF R7<>1 THEN RETURN 555 FOR Y=1 TO 5 560 PRINT AT 0,0;"%A%L%I%E%N% %H%I%T%S" 565 PRINT AT 0,0;"% % % % % % :.% % % " 566 NEXT Y 570 LET SH=SH-1 580 IF SH<0 THEN GOTO 1000 590 PRINT AT 12,30;SH 600 RETURN 1000 REM %F%I%R%E% %G%R%A%P%H%I%C%S% % % % % % % % % % 1005 PRINT AT R5,R6;"% % % " 1010 PRINT AT 10,11;"%(%0%)" 1015 FOR L=1 TO 5 1020 PRINT AT 11,11;":.";TAB 13;".:" 1030 PRINT AT 11,11;"% ";TAB 13;"% " 1040 PRINT AT 12,10;" ";TAB 14;" " 1050 PRINT AT 12,10;"% ";TAB 14;"% " 1060 PRINT AT 13,8;" ";TAB 15;" ";AT 14,8;" ";TAB 15;" " 1070 PRINT AT 13,8;"% %.";TAB 15;"%.%.";AT 14,8;":'% ";TAB 15;"% % " 1080 PRINT AT 15,4;" ";TAB 17;" ";AT 16,4;" ";TAB 17;" ";AT 17,4;" ";TAB 17;" ";AT 18,4;" ";TAB 17;" " 1090 PRINT AT 15,4;"% %.% % ";TAB 17;"% % % % ";AT 16,4;"% % % % ";TAB 17;"% %.%.% ";AT 17,4;"% % % % ";TAB 17;":'% % % ";AT 18,4;"% % % % ";TAB 17;"% % % % " 1100 PRINT AT 19,0;" ";TAB 21;" ";AT 20,0;" ";TAB 21;" " 1110 PRINT AT 19,0;"% % %.% ";TAB 21;"% %.%.% % ";AT 20,0;"% % %.";TAB 21;"% %.% %.% " 1111 IF R7<>1 THEN PRINT AT 10,11;"%.%.% " 1115 IF R7<>1 THEN RETURN 1200 FOR F=1 TO 10 1210 FAST 1220 SLOW 1230 NEXT F 1240 NEXT L 1242 PRINT AT 10,11;"% % %." 1245 IF SH<>0 THEN RETURN 1247 GOSUB 8000 2010 PRINT AT 0,0;"HIT ""R"" FORNEW GAME." 2020 IF INKEY$="R" THEN RUN 2 2030 GOTO 2020 7000 PRINT AT 1,1;"CONGRATULATIONS";AT 2,1;"''''''''''''''''''''''''''''''";AT 4,1;"WE HEREBY AWARD YOU THE TITLE";AT 5,1;"OF: ""STAR";A$;""".";AT 8,1;"KEEP ON FIGHTING, COWBOY." 7010 PAUSE 300 7020 CLS 7030 RETURN 8000 REM %E%N%D% % % % % % % % % % % % % % % % % % % % 8010 FAST 8015 FOR U=0 TO 20 8020 PRINT AT U,0;" " 8025 NEXT U 8030 SLOW 8035 FOR U=1 TO 80 8040 LET R9=INT (RND*4)+1 8050 IF R9>1 THEN LET B$="." 8060 IF R9=1 THEN LET B$=". " 8070 PRINT AT INT (RND*20),INT (RND*26);B$ 8080 NEXT U 8100 RETURN ```