Created
November 24, 2020 01:49
-
-
Save scruss/906dd8c1aa7e000268dd1aceee35a9ba to your computer and use it in GitHub Desktop.
Hobby_builds' draw program, cleaned up - see https://old.reddit.com/r/apple2/comments/jzsgk6/can_someone_turn_this_into_a_dsk_file_for_me/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 PR# 3 | |
20 TEXT : HOME | |
30 HTAB 11 | |
40 HTAB 11 | |
50 PRINT " %,,,,,,,,,,,,,,,,,,,,,,,,, " | |
60 HTAB 11 | |
70 PRINT " (,,,,,,,*&@@@@@@@@@@@@@@@%,,,,,,,,% " | |
80 HTAB 11 | |
90 PRINT " ,,,,,,, @@@@@@@@@@@@@@@@@@@@@@@@@@,,,,,,/ " | |
100 HTAB 11 | |
110 PRINT " ,,,,,&@/ @@@@@@@@@@@@@@@@@@@@@@@@@@#,,,,, " | |
120 HTAB 11 | |
130 PRINT " ,,,,, &@@ *@@@@@@@@@@@@@@@@@@@@@@@@@@,,,,, " | |
140 HTAB 11 | |
150 PRINT " ,,,,, @@/ @@@@@@@@@@@@@@@@@@@@@@@@@@,,,,*" | |
160 HTAB 11 | |
170 PRINT " **** %@@ @@@@@@@@@@@@@@@@@@@@@@@@%****" | |
180 HTAB 11 | |
190 PRINT " ****@ @@/ /@@@@@@@@@@@@@@@@@@@@@@****" | |
200 HTAB 11 | |
210 PRINT " ****@@@@( &@@ %@@@@@@@@@@@@@@@@@@@%****" | |
220 HTAB 11 | |
230 PRINT " ****@@@@@@@ @@/ @@@@@@@@@@@@@@@@@@@@@****" | |
240 HTAB 11 | |
250 PRINT "****@@@@@@@@@@ &@@@@@ &@@@@@@@@@@@@@@@@@#***" | |
260 HTAB 11 | |
270 PRINT "****@@@@@@@@@@@@ (@@@ @@@@@@@@@@@@@@@@@@***" | |
280 HTAB 11 | |
290 PRINT "****@@@@@@@@@@@@@@ @@@, @@@@@@@@@@@@@@@@#***" | |
300 HTAB 11 | |
310 PRINT " ***/@@@@@@@@@@@@@@@ @@@ @@@@@@@@@@@@@@@****" | |
320 HTAB 11 | |
330 PRINT " ////@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@#///%" | |
340 HTAB 11 | |
350 PRINT " ////@@@@@@@@@@@@@@@@@@@@@@# @@@@@@@@@@@&////" | |
360 HTAB 11 | |
370 PRINT " ////@@@@@@@@@@@@@@@@@@@@@@@@@@@@, .@@@@@@@@@(////" | |
380 HTAB 11 | |
390 PRINT " /////@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@& @@@@@@////" | |
400 HTAB 11 | |
410 PRINT " /////@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@/////" | |
420 HTAB 11 | |
430 PRINT " /////#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(/////" | |
440 HTAB 11 | |
450 PRINT " #//////@@@@@@@@@@@@@@@@@@@@@@@@@@@//////" | |
460 HTAB 11 | |
470 PRINT " ////////#@@@@@@@@@@@@@@@(////////" | |
480 SPEED= 10 | |
490 HTAB 34 | |
500 PRINT "COREL DRAW 1979" | |
510 VTAB 23: HTAB 34 | |
520 PRINT " LOADING " | |
530 VTAB 23: HTAB 30 | |
540 INVERSE | |
550 PRINT " PRESS ANY KEY TO START " | |
560 NORMAL | |
570 GET R$ | |
580 IF R$ < > "W" THEN GOTO 590 | |
590 HOME | |
600 HGR2 | |
610 HCOLOR= 3 | |
620 HPLOT 0,10 TO 279,10:REM BORDERS | |
630 HPLOT 20,10 TO 20,191 | |
640 HPLOT 269,10 TO 269,191 | |
650 HPLOT 20,181 TO 269,181 | |
660 HPLOT 0,30 TO 20,30:REM LEFT BOXES | |
670 HPLOT 0,50 TO 20,50 | |
680 HPLOT 0,70 TO 20,70 | |
690 HPLOT 0,90 TO 20,90 | |
700 HPLOT 40,10 TO 40,0 | |
710 HPLOT 80,10 TO 80,0: HCOLOR= 1 | |
720 HPLOT9,73TO11,73:HPLOT9,73TO6,74:HPLOT6,74TO4,76:HPLOT4,76TO3,78:HPLOT3,78TO3,81:HPLOT3,81TO4,84:HPLOT4,84TO6,86:HPLOT6,86TO8,87:HPLOT8,87TO11,87 | |
730 HPLOT11,87TO14,86:HPLOT14,86TO16,84:HPLOT16,84TO17,81:HPLOT17,81TO17,78:HPLOT17,78TO16,76:HPLOT16,76TO14,74:HPLOT14,74TO11,73 | |
740 HPLOT 35,25 TO 35,166: HPLOT 35,25 TO 254,25 | |
750 HPLOT 254,25 TO 254,166: HPLOT 254,166 TO 35,166 | |
760 HCOLOR= 2 | |
770 HPLOT 255,26 TO 255,167: HPLOT 255,167 TO 36,167 | |
780 HCOLOR= 3 | |
790 HPLOT 30,181 TO 30,176 | |
800 PS = 30:REM LOOP FOR BOTTOM | |
810 PS = PS + 30 | |
820 HPLOT PS,181 TO PS,176 | |
830 IF PS = 240 THEN GOTO 850 | |
840 GOTO 810 | |
850 HPLOT 269,30 TO 264,30 | |
860 OS = 30:REM LOOP FOR SIDE | |
870 OS = OS + 30 | |
880 HPLOT 269,OS TO 264,OS | |
890 IF OS = 150 THEN GOTO 910 | |
900 GOTO 870 | |
910 HPLOT 269,20 TO 279,20 | |
920 HPLOT 269,30 TO 279,30 | |
930 HPLOT 269,40 TO 279,40 | |
940 HPLOT 269,50 TO 279,50 | |
950 HCOLOR= 1 | |
960 HPLOT 272,13 TO 277,13:REM GREEN | |
970 HPLOT 272,14 TO 277,14 | |
980 HPLOT 272,15 TO 277,15 | |
990 HPLOT 272,16 TO 277,16 | |
1000 HPLOT 272,17 TO 277,17 | |
1010 HCOLOR= 6 | |
1020 HPLOT 272,23 TO 277,23:REM BLUE | |
1030 HPLOT 272,24 TO 277,24 | |
1040 HPLOT 272,25 TO 277,25 | |
1050 HPLOT 272,26 TO 277,26 | |
1060 HPLOT 272,27 TO 277,27 | |
1070 HCOLOR= 5 | |
1080 HPLOT 272,33 TO 277,33:REM ORANGE | |
1090 HPLOT 272,34 TO 277,34 | |
1100 HPLOT 272,35 TO 277,35 | |
1110 HPLOT 272,36 TO 277,36 | |
1120 HPLOT 272,37 TO 277,37 | |
1130 HCOLOR= 3 | |
1140 HPLOT 272,43 TO 277,43:REM WHITE | |
1150 HPLOT 272,44 TO 277,44 | |
1160 HPLOT 272,45 TO 277,45 | |
1170 HPLOT 272,46 TO 277,46 | |
1180 HPLOT 272,47 TO 277,47 | |
1190 HCOLOR= 1:REM 2 POINT BEZEIR | |
1200 HPLOT3,13TO5,13:HPLOT3,13TO3,15:HPLOT3,15TO5,15:HPLOT5,13TO5,15 | |
1210 HPLOT6,16TO15,25 | |
1220 HPLOT16,26TO18,26:HPLOT18,26TO18,28:HPLOT18,28TO16,28:HPLOT16,28TO16,26 | |
1230 HPLOT3,33TO5,33:HPLOT3,33TO3,35:HPLOT3,35TO5,35:HPLOT5,33TO5,35:REM BOX | |
1240 HPLOT16,46TO18,46:HPLOT18,46TO18,48:HPLOT18,48TO16,48:HPLOT16,48TO16,46 | |
1250 HPLOT 4,35TO4,47:HPLOT6,34TO17,34:HPLOT17,35TO17,46:HPLOT15,47TO4,47 | |
1260 V = 50 | |
1270 H = 50 | |
1280 HCOLOR= 1 | |
1290 HPLOT 3,53TO7,53:HPLOT3,53TO3,57:HPLOT3,57TO7,59:HPLOT7,59TO9,57:HPLOT9,57TO7,53 | |
1300 HPLOT3,53TO5,55:HPLOT9,57TO18,66:HPLOT18,68TO18,66:HPLOT16,68TO7,59: HPLOT 18,68TO16,68 | |
1310 P = 3 | |
1320 GET P$:REM MAIN GETS | |
1330 IF P$ = "2" THEN GOTO 1380 | |
1340 IF P$ = "3" THEN GOTO 2540 | |
1350 IF P$ = "4" THEN GOTO 2850 | |
1360 IF P$ = "1" THEN GOTO 2040 | |
1370 IF P$ < > "W" AND P$ < > "A" AND P$ < > "D" AND P$ < > "S" AND P$ < > "I" AND P$ < > "O" AND P$ < > "1" AND P$ < > "2" AND P$ < > "3" AND P$ < > "4" AND P$ < > "N" AND P$ < > "M" THEN GOTO 1320 | |
1380 GET T$:REM BOX TOOL | |
1390 IF T$ = "0" THEN P = 1: GOTO 1380 | |
1400 IF T$ = "9" THEN P = 6: GOTO 1380 | |
1410 IF T$ = "8" THEN P = 5: GOTO 1380 | |
1420 IF T$ = "7" THEN P = 3: GOTO 1380 | |
1430 IF T$ = "U" THEN TM = 1 | |
1440 IF T$ = "-" THEN GOTO 3550 | |
1450 IF T$ = "1" THEN GOTO 2040 | |
1460 IF T$ = "W" THEN GOTO 1560 | |
1470 IF T$ = "A" THEN GOTO 1640 | |
1480 IF T$ = "S" THEN GOTO 1720 | |
1490 IF T$ = "D" THEN GOTO 1800 | |
1500 IF T$ = "2" THEN GOTO 1380 | |
1510 IF T$ = "3" THEN GOTO 2540 | |
1520 IF T$ = "4" THEN GOTO 2850 | |
1530 IF T$ = "I" THEN GOTO 1880 | |
1540 IF T$ = "O" THEN GOTO 1900 | |
1550 IF T$ < > "W" AND T$ < > "A" AND T$ < > "D" AND T$ < > "S" AND T$ < > "I" AND T$ < > "O" AND T$ < > "1" AND T$ < > "2" AND T$ < > "3" AND P$ < > "4" AND T$ < > "0" AND T$ < > "U" AND T$ < > "9" AND T$ < > "8" AND T$ < > "7" THEN GOTO 1380 | |
1560 V = V - 1:REM WASD MOVEMENT W | |
1570 HCOLOR= P | |
1580 HPLOT H,V | |
1590 I = V + 1 | |
1600 HCOLOR= 4 | |
1610 HPLOT H,I | |
1620 IF V = 25 THEN V = V + 1 | |
1630 GOTO 1380 | |
1640 H = H - 1:REM A | |
1650 HCOLOR= P | |
1660 HPLOT H,V | |
1670 J = H + 1 | |
1680 HCOLOR= 4 | |
1690 HPLOT J,V | |
1700 IF H = 35 THEN H = H + 1 | |
1710 GOTO 1380 | |
1720 V = V + 1:REM S | |
1730 HCOLOR= P | |
1740 HPLOT H,V | |
1750 I = V - 1 | |
1760 HCOLOR= 4 | |
1770 HPLOT H,I | |
1780 IF V = 166 THEN V = V - 1 | |
1790 GOTO 1380 | |
1800 H = H + 1:REM D | |
1810 HCOLOR= P | |
1820 HPLOT H,V | |
1830 J = H - 1 | |
1840 HCOLOR= 4 | |
1850 HPLOT J,V | |
1860 IF H = 254 THEN H = H - 1 | |
1870 GOTO 1380 | |
1880 G = H:F = V | |
1890 GOTO 1380 | |
1900 K = H:C = V:REM EAR | |
1910 HCOLOR= P | |
1920 HPLOT K,C TO G,C: HPLOT K,F TO G,F: HPLOT G,F TO G,C: HPLOT K,C TO K,F | |
1930 IF TM = 1 THEN GOTO 1950 | |
1940 GOTO 1380 | |
1950 IF F > C THEN GOTO 2000 | |
1960 LM = F | |
1970 LM = LM + 1: HPLOT G,LM TO K,LM | |
1980 IF LM = C THEN TM = 0: GOTO 1380 | |
1990 GOTO 1970 | |
2000 LM = F | |
2010 LM = LM - 1: HPLOT G,LM TO K,LM | |
2020 IF LM = C THEN GOTO 1380 | |
2030 GOTO 2010 | |
2040 GET B$:REM BEZIER TOOL | |
2050 IF B$ = "0" THEN P = 1: GOTO 2040 | |
2060 IF B$ = "9" THEN P = 6: GOTO 2040 | |
2070 IF B$ = "8" THEN P = 5: GOTO 2040 | |
2080 IF B$ = "7" THEN P = 3: GOTO 2040 | |
2090 IF B$ = "W" THEN GOTO 2200 | |
2100 IF B$ = "A" THEN GOTO 2270 | |
2110 IF B$ = "S" THEN GOTO 2340 | |
2120 IF B$ = "D" THEN GOTO 2410 | |
2130 IF B$ = "2" THEN GOTO 1380 | |
2140 IF B$ = "-" THEN GOTO 3550 | |
2150 IF B$ = "3" THEN GOTO 2540 | |
2160 IF B$ = "4" THEN GOTO 2850 | |
2170 IF B$ = "I" THEN GOTO 2480 | |
2180 IF B$ = "O" THEN GOTO 2500 | |
2190 IF B$ < > "W" AND B$ < > "A" AND B$ < > "D" AND B$ < > "S" AND B$ < > "I" AND B$ < > "O" AND B$ < > "1" AND B$ < > "2" AND B$ < > "3" AND B$ < > "4" AND B$ < > "E" AND B$ < > "-" AND B$ < > "9" AND B$ < > "8" AND B$ < > "7" THEN GOTO 2040 | |
2200 V = V - 1:REM WASD MOVEMENT | |
2210 HCOLOR= P | |
2220 HPLOT H,V | |
2230 I = V + 1 | |
2240 HCOLOR= 4 | |
2250 HPLOT H,I | |
2260 GOTO 2040 | |
2270 H = H - 1 | |
2280 HCOLOR= P | |
2290 HPLOT H,V | |
2300 J = H + 1 | |
2310 HCOLOR= 4 | |
2320 HPLOT J,V | |
2330 GOTO 2040 | |
2340 V = V + 1 | |
2350 HCOLOR= P | |
2360 HPLOT H,V | |
2370 I = V - 1 | |
2380 HCOLOR= 4 | |
2390 HPLOT H,I | |
2400 GOTO 2040 | |
2410 H = H + 1 | |
2420 HCOLOR= P | |
2430 HPLOT H,V | |
2440 J = H - 1 | |
2450 HCOLOR= 4 | |
2460 HPLOT J,V | |
2470 GOTO 2040 | |
2480 N = H:M = V | |
2490 GOTO 2040 | |
2500 X = H:Q = V | |
2510 HCOLOR= P | |
2520 HPLOT N,M TO X,Q | |
2530 GOTO 2040 | |
2540 GET N$:REM FREE DRAW TOOL | |
2550 IF N$ = "0" THEN P = 1: GOTO 2540 | |
2560 IF N$ = "9" THEN P = 6: GOTO 2540 | |
2570 IF N$ = "8" THEN P = 5: GOTO 2540 | |
2580 IF N$ = "7" THEN P = 3: GOTO 2540 | |
2590 IF N$ = "0" THEN P = 1: GOTO 2540 | |
2600 IF N$ = "A" THEN GOTO 2730 | |
2610 IF N$ = "S" THEN GOTO 2770 | |
2620 IF N$ = "D" THEN GOTO 2810 | |
2630 IF N$ = "2" THEN GOTO 1380 | |
2640 IF N$ = "1" THEN GOTO 2040 | |
2650 IF N$ = "3" THEN GOTO 2540 | |
2660 IF N$ = "4" THEN GOTO 2850 | |
2670 IF N$ = "-" THEN GOTO 3550 | |
2680 IF N$ < > "W" AND N$ < > "A" AND N$ < > "D" AND N$ < > "S" AND N$ < > "1" AND N$ < > "2" AND N$ < > "3" AND N$ < > "4" AND N$ < > "E" AND N$ < > "-" AND N$ < > "9" AND N$ < > "8" AND N$ < > "7" THEN GOTO 2540 | |
2690 V = V - 1:REM WASD MOVEMENT | |
2700 HCOLOR= P | |
2710 HPLOT H,V | |
2720 GOTO 2540 | |
2730 H = H - 1 | |
2740 HCOLOR= P | |
2750 HPLOT H,V | |
2760 GOTO 2540 | |
2770 V = V + 1 | |
2780 HCOLOR= P | |
2790 HPLOT H,V | |
2800 GOTO 2540 | |
2810 H = H + 1 | |
2820 HCOLOR= P | |
2830 HPLOT H,V | |
2840 GOTO 2540 | |
2850 GET M$:REM CIRCLE TOOL | |
2860 IF M$ = "I" THEN GOTO 3300 | |
2870 IF M$ = "9" THEN P = 6: GOTO 2850 | |
2880 IF M$ = "8" THEN P = 5: GOTO 2850 | |
2890 IF M$ = "7" THEN P = 3: GOTO 2850 | |
2900 IF M$ = "0" THEN P = 1: GOTO 2850 | |
2910 IF M$ = "W" THEN GOTO 3020 | |
2920 IF M$ = "A" THEN GOTO 3090 | |
2930 IF M$ = "S" THEN GOTO 3160 | |
2940 IF M$ = "D" THEN GOTO 3230 | |
2950 IF M$ = "2" THEN GOTO 1380 | |
2960 IF M$ = "1" THEN GOTO 2040 | |
2970 IF M$ = "3" THEN GOTO 2540 | |
2980 IF M$ = "4" THEN GOTO 2850 | |
2990 IF M$ = "O" THEN GOTO 3320 | |
3000 IF M$ = "-" THEN GOTO 3550 | |
3010 IF M$ < > "W" AND M$ < > "A" AND M$ < > "D" AND M$ < > "S" AND M$ < > "1" AND M$ < > "2" AND M$ < > "3" AND M$ < > "4" AND M$ < > "E" AND M$ < > "-" AND M$ < > "9" AND M$ < > "8" AND M$ < > "7" THEN GOTO 2850 | |
3020 V = V - 1:REM WASD MOVEMENT | |
3030 HCOLOR= P | |
3040 HPLOT H,V | |
3050 I = V + 1 | |
3060 HCOLOR= 4 | |
3070 HPLOT H,I | |
3080 GOTO 2850 | |
3090 H = H - 1 | |
3100 HCOLOR= P | |
3110 HPLOT H,V | |
3120 J = H + 1 | |
3130 HCOLOR= 4 | |
3140 HPLOT J,V | |
3150 GOTO 2850 | |
3160 V = V + 1 | |
3170 HCOLOR= P | |
3180 HPLOT H,V | |
3190 I = V - 1 | |
3200 HCOLOR= 4 | |
3210 HPLOT H,I | |
3220 GOTO 2850 | |
3230 H = H + 1 | |
3240 HCOLOR= P | |
3250 HPLOT H,V | |
3260 J = H - 1 | |
3270 HCOLOR= 4 | |
3280 HPLOT J,V | |
3290 GOTO 2850 | |
3300 N = H:M = V | |
3310 GOTO 2850 | |
3320 B = H:L = V | |
3330 IF N < B THEN GOTO 3350 | |
3340 R = B - N: GOTO 3360 | |
3350 R = N - B | |
3360 R = R / - 1 | |
3370 LET R2 = R * R | |
3380 HCOLOR= P:REM SET COLOR TO WHITE | |
3390 LET SX = N | |
3400 LET SY = M | |
3410 FOR X = 0 TO R | |
3420 LET Y = SQR (R2 - X * X):REM WE CALL SQR A LOT LESS COMPARED TO THE PREVIOUS METHOD | |
3430 IF Y < X - 1 THEN GOTO 2850 | |
3440 REM INTEGERS WHEN DRAWING PIXELS (X=7.6, Y=7.4 WILL PLOT AT 7.0,7.0). | |
3450 HPLOT SX + X,Y + SY | |
3460 HPLOT SX - X,Y + SY | |
3470 HPLOT SX + X, - Y + SY | |
3480 HPLOT SX - X, - Y + SY | |
3490 HPLOT SX + Y,X + SY | |
3500 HPLOT SX - Y,X + SY | |
3510 HPLOT SX + Y, - X + SY | |
3520 HPLOT SX - Y, - X + SY | |
3530 NEXT | |
3540 GOTO 2850 | |
3550 TEXT | |
3560 HTAB 40: VTAB 2 | |
3570 PRINT "HELP" | |
3580 HTAB 10: VTAB 4 | |
3590 PRINT "TOOLS LINE TOOL=1 BOX TOOL=2 FREEDRAW=3 CIRCLE=4" | |
3600 VTAB 6: HTAB 10 | |
3610 PRINT "COLORS GREEN=0 BLUE=9 ORANGE=8 WHITE=7 " | |
3620 VTAB 8: HTAB 5 | |
3630 PRINT " HOW TO (I) TO START LINE, (O) TO FINISH." | |
3640 VTAB 10: HTAB 5 | |
3650 PRINT " FILL PRESS (U) FOR FILL ON BOX." | |
3660 VTAB 14: HTAB 5 | |
3670 PRINT " FOR CIRCLE (I) IS CENTER (O) IS RADIUS, CAN ONLY GO LEFT OR RIGHT." | |
3680 VTAB 12: HTAB 5 | |
3690 PRINT " FILE (-) FOR HELP (+) FOR FILE OPTIONS" | |
3700 VTAB 20: HTAB 5: PRINT " (-) TO CLOSE HELP MENU" | |
3710 GET K$ | |
3720 IF K$ < > "-" THEN GOTO 3710 | |
3730 IF K$ = "-" THEN GOTO 590 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment