075a Beagle Bros Shape Mechanic (Side 1)
Emulation Item Preview
Share or Embed This Item
075a Beagle Bros Shape Mechanic (Side 1)
- Language
- English
Notes
Disk info for 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk:
File Name: 075a_Beagle_Bros_Shape_Mechanic_Side_1/075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 17920
Used Space (bytes): 125440
Physical Size (KB): 140
Free Space (KB): 17
Used Space (KB): 122
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 70
Used Sectors: 490
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk:
075a_Beagle_Bros_Shape_Mechanic_Side_1/075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk DISK VOLUME #254
* A 007 STARTUP
* A 002 NOTES
* T 001 A
* T 001 SHAPE PROGRAMS:
* A 008 SHAPE.EDITOR
* B 018 SHAPE.EDITOR.ML
* A 009 SHAPE.CAPTURE
* B 017 SHAPE.CAPTUR.ML
* A 009 SHAPE.APPEND
* B 004 SHAPE.APPEND.ML
* A 009 FONT.EDITOR
* B 017 FONT.EDITOR.ML
* A 012 XTYPER
* B 013 XTYPER.ML
* B 011 HI.WRITER
* T 001 B
* T 001 DEMOS:
* A 015 HI.WRITER.DEMO
* A 021 SHAPETABLE.DEMO
* A 022 GREETINGS
* T 001 C
* T 001 EXTRAS:
* A 007 BEAGLE.NEWS
* A 024 SONG.SUBROUTINE
* A 009 TEXT.TRICKS
* T 001 D
* T 001 SHAPES, PICS & FONTS:
* B 003 CURSORS
* B 005 DEMO.SHAPES
* B 034 PIC.BBROS.LOGO
* B 034 PIC.SHAPE.MECH
* B 034 PIC.FONT.MECH
B 007 F.ASCII.SMALL
* B 007 F.SQUARE.SMALL
* B 016 F.APPLE
* B 017 F.BLOCK
* B 020 F.STENCIL
A 003 IHIW
A 004 TT
DOS 3.3 format; 17,920 bytes free; 125,440 bytes used.
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/BEAGLE.NEWS.bas:
10 NOTRACE :ND = 22: DIM A$(ND): GOSUB 30: TEXT : PRINT CHR$(21): HOME : SPEED= 255: INVERSE : PRINT A$(0);: NORMAL : FOR V = 1 TO ND: INVERSE : VTAB V +1: PRINT SPC( 40): FOR J = 1 TO 99: NEXT : NORMAL : FOR H = 40 TO 1 STEP -3: CALL -998: HTAB H: PRINT LEFT$(A$(V),41 -H);: NEXT : NEXT
20 VTAB 23: END
30 A$(0) = " BEAGLE BROS APPLE DISKS--NOVEMBER 1985 "
40 A$(1) = "ALPHA PLOT...... HI-RES GRAPHICS..$39.50"
50 A$(2) = "BEAGLE BAG...... 12 GREAT GAMES... 29.50"
60 A$(3) = "BEAGLE BASIC.... BASIC ENHANCER... 34.95"
70 A$(4) = "BEAGLE GRAPHICS. DOUBLE HI-RES.... 59.95"
80 A$(5) = "D CODE.......... BASIC DE-BUGGER.. 39.95"
90 A$(6) = "DISKQUIK........ DISK EMULATOR.... 29.50"
100 A$(7) = "DOS BOSS........ COMMAND EDITOR... 24.00"
110 A$(8) = "DOUBLE-TAKE..... 2-WAY SCROLLER... 34.95"
120 A$(9) = "EXTRA-K......... MORE MEMORY...... 39.95"
130 A$(10) = "FATCAT.......... DISK LIBRARY..... 34.95"
140 A$(11) = "FLEX TYPE....... FLEXIBLE TEXT.... 29.50"
150 A$(12) = "FONT MECHANIC... FONTS & UTILITIES 29.95"
160 A$(13) = "FRAME-UP........ APPLE SLIDE SHOWS 29.50"
170 A$(14) = "GPLE............ APPLESOFT EDITOR. 49.95"
180 A$(15) = "I. O. SILVER.... ARCADE GAME...... 29.95"
190 A$(16) = "PRO-BYTER....... DISK ZAP UTILITY. 34.95"
200 A$(17) = "PRONTO-DOS...... TRIPLE-SPEED DOS. 29.50"
210 A$(18) = "SHAPE MECHANIC.. HI-RES ANIMATION. 39.95"
220 A$(19) = "SILICON SALAD... TIPS & UTILITIES. 24.95"
230 A$(20) = "TIP DISK #1..... 100 TIPS ON DISK. 20.00"
240 A$(21) = "TRIPLE-DUMP..... PICTURE PRINTER.. 39.95"
250 A$(22) = "UTILITY CITY.... 21 UTILITIES..... 29.50"
260 RETURN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/FONT.EDITOR.bas:
0 REM =============== FONT EDITOR (C) 1985 MARK SIMONSEN BEAGLE BROS===============
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN FONT.EDITOR"
2 SPEED= 255: NOTRACE : LOMEM: 32768: PRINT CHR$(21): TEXT : NORMAL :D$ = CHR$(4): PRINT D$"MONICO"
3 PRINT D$"BLOAD CURSORS,A24576": PRINT D$"BLOAD FONT.EDITOR.ML"
4 S = 6:D = 1:F = 24832:B$ = "LOAD"
5 DIM E$(13):E$(4) = "WRITE-PROTECT":E$(6) = "FILE NOT FOUND":E$(8) = "I/O":E$(9) = "DISK FULL":E$(10) = "FILE LOCKED":E$(11) = "SYNTAX":E$(13) = "FILE TYPE MISMATCH"
6 ONERR GOTO 22
7 Z = PEEK(F +1) -1: IF PEEK(F +2) < >208 OR PEEK(F +3) < >0 OR Z <0 OR Z >1 THEN 32
8 IF B$ = "LOAD" THEN CALL 3968
9 POKE 49232,0: POKE 49239,0: POKE 49235,0
10 POKE 49168,0: POKE 233,96: HOME : VTAB 21: PRINT "SELECT:": GOSUB 31
11 PRINT "EDIT LOAD CATALOG" SPC( 13)"QUITTYPE SAVE DRIVE (S"S",D"D")";
12 INVERSE : VTAB 23: HTAB 1: PRINT "E";: HTAB 9: PRINT "L";: HTAB 17: PRINT "C";: HTAB 37: PRINT "Q": HTAB 1: PRINT "T";: HTAB 9: PRINT "S";: HTAB 17: PRINT "D";: NORMAL
13 VTAB 21: HTAB 8: GET A$:A$ = CHR$( ASC(A$) -32 *( ASC(A$) >95)): HOME : IF A$ = "Q" THEN VTAB 21: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y" AND A$ < >"y" GOTO 10: HOME : VTAB 23: DEL 3,3: END
14 ON A$ = "E" GOTO 26: ON A$ = "S" OR A$ = "L" GOTO 16: ON A$ = "C" GOTO 15: ON A$ = "D" GOTO 27: ON A$ = "T" GOTO 30: GOTO 10
15 TEXT : HOME : PRINT : PRINT D$"CATALOG,S"S",D"D: PRINT : GOSUB 31: PRINT "ANY KEY:";: GET A$: POKE -16304,0: GOTO 10
16 B$ = "LOAD": IF A$ = "S" THEN B$ = "SAVE"
17 HOME : VTAB 24: PRINT " TO ESCAPE";: VTAB 22: HTAB 1: PRINT B$" FONT NAMED";: GOSUB 20: IF B$ = "LOAD" THEN PRINT D$"BLOAD "F$",A"F",S"S",D"D:Z = PEEK(F +1) -1: IF Z <0 OR Z >1 THEN POKE 222,13: GOTO 23
18 IF B$ = "SAVE" THEN PRINT D$"BSAVE "F$",A"F",L"2 + PEEK(F +200) + PEEK(F +201) *256",S"S",D"D
19 GOTO 8
20 INPUT ":";F$: CALL -958: IF NOT LEN(F$) THEN POP :B$ = "": GOTO 9
21 RETURN
22 CALL -3288
23 HOME : VTAB 22:I = PEEK(222)
24 INVERSE : IF I <14 THEN PRINT CHR$(7)" "E$(I)" ERROR "
25 FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 9
26 CALL 3968 +3: GOTO 10
27 HOME : VTAB 22: PRINT "SLOT "S", DRIVE "D;: HTAB 6: GET A$: ON A$ = CHR$(13) GOTO 28: ON VAL(A$) >7 OR VAL(A$) <1 GOTO 27:S = VAL(A$)
28 VTAB 22: HTAB 6: PRINT S;: HTAB 15: PRINT D;: HTAB 15: GET A$: ON A$ = CHR$(13) GOTO 29: ON VAL(A$) <1 OR VAL(A$) >2 GOTO 28:D = VAL(A$)
29 GOTO 10
30 CALL 3968 +6: GOTO 10
31 FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN
32 RESTORE : FOR I = F TO F +3: READ J: POKE I,J: NEXT : FOR I = F +4 TO F +192 STEP 2: POKE I,216: POKE I +1,0: NEXT : FOR I = F +194 TO F +252: READ J: POKE I,J: NEXT : GOTO 7
33 DATA 100,2,208,0,223,0,232,0,241,0,250,0,0,0,0,0,0,0,73,137,146,146,146,146,18,0,150,146,146,146,146,9,0,64,192,64,192,64,192,64,24,0,64,192,64,192,64,192,64,88,0,64,192,64,192,64,192,64,8,0,25,0,0
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/GREETINGS.bas:
77 REM =========== SHAPE MECHANIC "GREETINGS" PROGRAM BY BERT KERSEY BEAGLE BROS ===========
83 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN GREETINGS"
84 SPEED= 255: NOTRACE :A = 1:B = 2:C = 3:D = 4:E = 5:F = 31:G = 99:H = 100:Q = -16384:BUZZ = -16336:MUSIC = 771: GOSUB 60000: ONERR GOTO 273
91 TEXT : PRINT CHR$(21): HOME : HGR : HCOLOR= 3: FOR I = 85 TO 155 STEP 2: HPLOT 29,I TO 249,I: HPLOT 29,168 -I TO 249,168 -I: NEXT : PRINT CHR$(4);"BLOAD PIC.BBROS.LOGO,A$2000": PRINT CHR$(4);"BLOAD F.SQUARE.SMALL,A$6100":P1 = 1:P2 = 2: GOSUB 308: GOSUB 329
98 ROT= 0: SCALE= 1: HCOLOR= 3: POKE 232,0: POKE 233,97: POKE -16302,0: POKE -16304,0: POKE -16300,0: POKE -16297,0
105 P1 = 2:P2 = 1: GOSUB 308: FOR I = 1 TO 999: NEXT
112 C$ = CHR$(34) +"APPLE" + CHR$(34) +" is a registered tm of You-Know-Who": XDRAW H AT 0,178: FOR I = 1 TO 42: XDRAW ASC( MID$ (C$,I,1)) -31: XDRAW G: NEXT : FOR I = 1 TO 555: NEXT
119 POKE 230,64:C$ = "Copyright 1985, Beagle Bros Micro Software": XDRAW H AT 1,178: FOR I = 1 TO LEN(C$): XDRAW ASC( MID$ (C$,I,1)) -31: XDRAW G: NEXT :P1 = 2:P2 = 1: GOSUB 308
126 POKE 230,32: GOSUB 280
133 FOR I = 1 TO 1500: NEXT :A$ = " WELCOME": GOSUB 140:A$ = " TO": GOSUB 140:A$ = " SHAPE": GOSUB 140:A$ = "MECHANIC": GOSUB 140:P1 = 2:P2 = 1: GOSUB 308: GOTO 161
140 FOR J = 0 TO A: XDRAW 100 AT 12,59: POKE 8376,31 *(J = 0): POKE 9399,96 *(J = 0): POKE 9400,15 *(J = 0): POKE 10424,67 +12 *J: POKE 11447,18 +32 *J: POKE 11448,32 +6 *J: POKE 13368,7 *(J = 0): POKE 14391,96 *(J = 0): POKE 14392,31 *(J = 0): POKE 15415,112 -16 *J: FOR I = A TO LEN(A$)
147 X = ASC( MID$ (A$,I,A)): XDRAW X -F: XDRAW G: FOR K = A TO B:S = PEEK(BU): NEXT : IF NOT J THEN POKE 0,(J +A) *X: POKE A,E: CALL MU: FOR K = A TO E:S = PEEK(BU): NEXT
154 NEXT : NEXT : RETURN
161 FOR I = 1 TO 666: NEXT : GOSUB 294: FOR I = 1 TO 1555: NEXT
168 FOR K = 4 TO 7:J = K - INT(K/B) *B: POKE 10430,24 +96 *J: POKE 10431,48 +15 *J: POKE 12478,62 +64 *J: POKE 12479,124 +C *J: POKE 13375,A -J: POKE 14398,64 -64 *J: POKE 14399,C -C *J: POKE 15422,96 -96 *J: POKE 15423,7 -7 *J
175 IF J = 0 THEN FOR L = A TO 5: FOR M = 1 TO L:S = PEEK(BU) + PEEK(BU) + PEEK(BU): NEXT : FOR M = 1 TO 22: NEXT : NEXT
182 NEXT
189 GOSUB 294: GOSUB 287:Y = 0
196 FOR I = 1 TO 99: NEXT :HT = 217:VT = 52:A$ = "PLEASE": GOSUB 231:VT = 60:A$ = "PRESS A": GOSUB 231:VT = 68:A$ = "KEY (A-X).": GOSUB 231: POKE -16368,0
203 K = PEEK(Q): IF K <128 THEN A$ = "PRESS A": XDRAW 100 AT 217,60: FOR I = 1 TO 7: XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW G: NEXT :K = PEEK(Q): IF K <128 THEN XDRAW 100 AT 217,68:A$ = "KEY": FOR I = 1 TO 3: XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW G: NEXT :Y = Y +1: IF Y - INT(Y/6) *6 = 0 THEN GOSUB 294
210 K = PEEK(Q): IF K <128 THEN 203
217 PRINT CHR$(7) CHR$(7) CHR$(7): POKE -16368,0:K = K -32 *(K >223): IF K <193 OR K >216 THEN FOR K = 1 TO 99:S = PEEK(BU): NEXT : GOTO 203
224 GOSUB 322: FOR I = 1 TO 31: POKE -16298 +I - INT(I/2) *2,0: POKE 0, INT( RND(1) *200) +20: POKE 1,4: CALL MU: FOR J = 1 TO 22: NEXT : NEXT : GOSUB 308: GOTO 252
231 FOR J = 0 TO 1: XDRAW 100 AT HT,VT: POKE 10430,24 +96 *J: POKE 10431,48 +15 *J: POKE 12478,62 +64 *J: POKE 12479,124 +C *J: POKE 13375,A -J: POKE 14398,64 -64 *J: POKE 14399,C -C *J: POKE 15422,96 -96 *J: POKE 15423,7 -7 *J
238 HCOLOR= 0: FOR I = 1 TO LEN(A$):X = ASC( MID$ (A$,I,1)): DRAW X -F: XDRAW G: IF NOT J THEN FOR K = 1 TO 3:S = PEEK(BU): NEXT : POKE 0,X +50: POKE A,I *1: CALL MU: FOR K = 1 TO 5:S = PEEK(BU): NEXT
245 NEXT : NEXT : RETURN
252 FOR X = 1 TO 90: READ I,J: POKE I,J:S = PEEK(BU): NEXT : FOR X = 1 TO 67: READ I: POKE I,0:S = PEEK(BU): NEXT : FOR X = 1 TO 68: READ I:S = PEEK(BU): POKE I,127: NEXT :P1 = 1:P2 = 2: GOSUB 308
259 FOR I = 1 TO 1500: NEXT : GOSUB 280:A$ = " THANKS": GOSUB 140:A$ = " A LOT.": GOSUB 140:P1 = 2:P2 = 1: GOSUB 308: HOME : POKE 230,64: HCOLOR= 0: GOSUB 329: POKE 230,32:P1 = 2:P2 = 1: GOSUB 308: POKE -16301,0
266 VTAB 24: HTAB 9: PRINT "(PROGRAM BY BERT KERSEY)";: FOR I = 1 TO 3: FOR J = 1 TO 555: NEXT : VTAB 24: PRINT : NEXT : VTAB 24: HTAB 1: PRINT "]";: FLASH : PRINT " ";: NORMAL : FOR I = 1 TO 3: FOR J = 1 TO 555: NEXT : PRINT : NEXT
273 POKE -16301,0: HOME : VTAB 20: END
280 HCOLOR= 3: FOR Y = 47 TO 80: HPLOT 9,Y TO 70,Y: NEXT : FOR Y = 66 TO 70: HPLOT 96,70 TO 70,Y: NEXT : HCOLOR= 0: HPLOT 100,70 TO 71,64 TO 71,46 TO 8,46 TO 8,81 TO 71,81 TO 71,71 TO 100,70: RETURN : REM LEFT.BALLOON
287 HCOLOR= 3: FOR Y = 47 TO 80: HPLOT 213,Y TO 270,Y: NEXT : FOR Y = 65 TO 70: HPLOT 180,70 TO 213,Y: NEXT : HCOLOR= 0: HPLOT 179,71 TO 212,71 TO 212,81 TO 271,81 TO 271,46 TO 212,46 TO 212,64 TO 179,71: RETURN : REM RIGHT.BALLOON
294 FOR J = 0 TO 1: POKE 8974,12 -10 *J: POKE 8977,12 -12 *J: POKE 8978,4 *J: POKE 9998,8 +58 *J: POKE 9999,16 +3 *J: POKE 10001,13 -12 *J: POKE 11022,16 -16 *J: POKE 11025,25 +102 *J: POKE 12046,6 +120 *J: POKE 12047,48 +7 *J: POKE 12049,2 +4 *J
301 POKE 13071,119 -4 *J: POKE 14994,36 +3 *J: POKE 16014,24 +8 *J: POKE 16017,13 +4 *J: POKE 16018,6 *J: FOR H = 1 TO 500: NEXT : NEXT : RETURN : REM GLANCE
308 POKE 60,0: POKE 61,32 *P1: POKE 62,0: POKE 63,32 *P1 +32: POKE 64,0: POKE 65,32 *P2 +32: POKE 66,0: POKE 67,32 *P2: CALL -468: IF P1 = 2 THEN HCOLOR= 0: HPLOT 0,64 TO 28,64
315 RETURN
322 POKE 60,0: POKE 61,32: POKE 62,200: POKE 63,35: POKE 64,200: POKE 65,7: POKE 66,0: POKE 67,4: CALL -468: RETURN
329 HCOLOR= 0: FOR Y = 191 TO 160 STEP -2: HPLOT 0,Y TO 279,Y: HPLOT 279,Y -1 TO 0,Y -1: NEXT : RETURN
60000 POKE 771,173: POKE 772,48: POKE 773,192: POKE 774,136: POKE 775,208: POKE 776,4: POKE 777,198: POKE 778,1: POKE 779,240: POKE 780,8: POKE 781,202: POKE 782,208: POKE 783,246: POKE 784,166: POKE 785,0: POKE 786,76: POKE 787,3: POKE 788,3: POKE 789,96: RETURN
60001 DATA 8592,63,8716,112,8727,96,8728,3,8731,2,8844,124,8850,7,8858,63,9613,113,9617,121,9623,3,9739,3,9740,120,9746,125,9749,15,9751,112,9753,1,9754,64,9755,1,9866,31,9868,124,9874,79,10002,96,10637,124,10641,3,10647,8,10764,124,10770,1
60002 DATA 10777,3,10778,32,10891,34,10892,120,10907,1,11660,63,11661,126,11665,103,11676,124,11787,1,11788,124,11794,99,11797,31,11798,64,11801,7,11802,24,11914,15,11916,120,11922,15,11923,126,12050,100,12689,79,12700,2,12812,124,12818,3
60003 DATA 12822,112,12826,15,12939,48,12940,120,12944,63,12946,8,13708,79,13713,31,13718,7,13723,64,13834,63,13836,124,13842,7,13850,15,13962,15,13971,126,14732,96,14737,63,14747,40,14860,124,14866,7,14874,31,15629,63,15630,120,15632,7
60004 DATA 15755,31,15756,96,15761,63,15762,126,15771,4,15882,31,15883,2,15884,126,15890,71,15891,124,15898,31,16383,105
60005 DATA 8600,8601,8602,8603,8715,8722,8726,8729,8730,8859,9624,9625,9626,9627,9750,9867,9883,10636,10648,10649,10650,10651,10763,10774,10779,11671,11672,11673,11674,11675,11803,12558,12559,12684,12695,12696,12697,12698,12699,12811,12827
60006 DATA 12947,13719,13720,13721,13722,13835,13851,14606,14608,14731,14742,14743,14744,14745,14746,14859,14875,15640,15641,15642,15766,15767,15768,15769,15770,15899: REM 0
60007 DATA 8590,8591,8717,8718,8719,8720,8721,9614,9615,9616,9741,9744,9745,9747,10638,10639,10640,10765,10768,10769,11533,11534,11535,11536,11659,11662,11663,11664,11786,11789,11793,11795,11917,11918,11919,11921,12685,12686,12687,12688
60008 DATA 9612,9738,12813,12941,12942,12943,13581,13582,13583,13584,13707,13709,13710,13711,13712,13714,13837,14733,14734,15628,15631,15633,15757,15758,15759,15760,15763,16019: REM 127
60009 REM =========== SHAPE MECHANIC "GREETINGS" PROGRAM BY BERT KERSEY BEAGLE BROS ===========
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/HI.WRITER.DEMO.bas:
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN HI.WRITER.DEMO"
2 SPEED= 255: NOTRACE
3 PRINT CHR$(21): PRINT CHR$(4)"NOMONICO"
10 REM GOTO 40
30 PRINT CHR$(4)"BRUN HI.WRITER"
31 & LOAD (1) = "F.BLOCK"
32 & LOAD (2) = "F.ASCII.SMALL"
33 & LOAD (3) = "F.APPLE"
40 UL$ = "@"
50 ONERR GOTO 450
170 RT = 0:G$ = CHR$(7)
180 GOTO 500
450 POKE TXT,0: VTAB 21: POKE 216,0: RESUME
499 REM TEXT
500 & INIT: HGR : & FULL: REM STARTING DEFAULTS
510 & ON : & CASE$ = UL$
520 & FT = 3: PRINT "THIS IS A DEMO OF"
530 PRINT "BEAGLE BROS'"
540 PRINT "HI-WRITER PROGRAM."
550 PRINT : PRINT "LIST LINES ";: & FT = 1: PRINT "500-1000"
560 & FT = 3: PRINT "TO SEE HOW IT"
570 PRINT "WAS PROGRAMMED."
580 GOSUB 999
590 & FT = 2: & Y = 0: PRINT "THE FOLLOWING TYPEFACES, ALL CREATED WITH"
600 PRINT "THE FONT EDITOR, ARE NOW IN MEMORY:": GOSUB 1010
610 T$ = ": ABCabc123": & FT = 1: PRINT : PRINT "#1. BLOCK"T$
620 & FT = 2: PRINT "#2. SMALL STANDARD"T$
630 & FT = 3: PRINT "#3. apple"T$
640 GOSUB 1010
650 & FT = 2: PRINT : PRINT : PRINT "FONT #3 MAY BE REPLACED AT ANY TIME BY": PRINT "LOADING A NEW ONE FROM THE DISK. STAND BY...": PRINT
660 & LOAD (3) = "F.STENCIL": & ON
670 & FT = 3: PRINT "#3. STENCIL"T$: & FT = 2: PRINT : PRINT "^ NOW THERE IS A NEW FONT #3. ^"
680 GOSUB 999
690 & FT = 1: & Y = 0: & CENTER = 1:T$ = "--------------": PRINT T$: PRINT "SCREEN COPY MAY": PRINT "AUTOMATICALLY BE": PRINT "> CENTERED <": PRINT T$
700 PRINT "OR PRINTED": & CENTER = 0: & X = 63: & Y = 116: PRINT "E";: & Y = 114: PRINT "X";: & Y = 112: PRINT "A";: & Y = 114: PRINT "C";: & Y = 116: PRINT "T";: & Y = 118: PRINT "L";: & Y = 120: PRINT "Y";
710 & Y = 116: PRINT " WHERE": & CENTER = 1: & Y = 138: PRINT "YOU WANT IT.": PRINT T$
720 GOSUB 999: & CENTER = 0
730 & FT = 2: & Y = 0: & X = 112: PRINT "WITH HI-WRITER, YOU CAN": & X = 112: PRINT "PRINT LARGE CHARACTERS": & X = 112: PRINT "IN ANY HI-RES COLOR."
740 HCOLOR= 3: FOR Y = 0 TO 15: HPLOT 0,Y TO 105,Y: NEXT : FOR Y = 72 TO 87: HPLOT 0,Y TO 105,Y: NEXT
750 & FT = 1: & Y = 0: & X = 0: FOR J = 0 TO 7: & HCOLOR= J: PRINT " COLOR #" STR$(J): NEXT : & HCOLOR= 3
760 & FT = 2: & X = 112: & Y = 40: PRINT "YOU CAN ALSO PRINT": & X = 112: PRINT "IN ";: & INVERSE = 1: PRINT " INVERSE ";: & INVERSE = 0: PRINT " TYPE."
770 & FT = 3: & X = 112: & INVERSE = 1: PRINT " INVERSE ": & X = 112: & FT = 1: PRINT " INVERSE "
780 & INVERSE = 0: & FT = 2: FOR J = 1 TO 6: & HCOLOR= 0: & X = 112: PRINT "FLASH";: FOR I = 1 TO 500: NEXT : & X = 112: & HCOLOR= 3: PRINT "FLASHING IS POSSIBLE TOO!";: FOR I = 1 TO 500: NEXT : NEXT
790 & Y = 172: & X = 112: & ROT= 3: PRINT "NOT TO": & Y = 172: PRINT "MENTION": & Y = 172: PRINT "SIDEWAYS": & Y = 172: PRINT "TYPE."
800 PRINT : PRINT : & Y = 112: & ROT= 1: PRINT "(BOTH WAYS)"
810 & X = 279: & Y = 172: & ROT= 2: PRINT "AND UPSIDE": PRINT "DOWN!!": PRINT "(BIG DEAL)"
820 RT = 2: GOSUB 999:RT = 0: & ROT= RT
840 & X = 0: & Y = 0: & FT = 1: PRINT "Lower Case is easiest": PRINT "to produce if you can": PRINT "enter it in your programs"
850 PRINT "directly from the keyboard.": & FT = 2: PRINT "(The Apple //e and //c let you do this.)": PRINT
860 & FT = 3: PRINT "LIST L@INE 860 TO SEE": PRINT "HOW @LOWER CASE @TYPE IS": PRINT "CREATED ON AN @A@PPLE @][+."
865 & FT = 2: PRINT : PRINT "(Use the AT-SIGN as an Upper/Lower-Case": PRINT "toggle.)"
870 & LOAD (3) = "F.APPLE": & ON
875 GOSUB 999
880 & FT = 2: & Y = 0: PRINT "LET'S SEE NOW... WHAT HAVEN'T WE COVERED?": GOSUB 1010
890 PRINT : PRINT "Oh, yes! Our type is PROPORTIONALLY SPACED": PRINT : GOSUB 1010: & FT = 1:T$ = "Hello Sid. How's your sister?": PRINT T$: GOSUB 1010: & FT = 2: PRINT : PRINT "Brand X type is restricted by htabs & vtabs": PRINT
900 T$ = LEFT$(T$,20): & FT = 1: FOR J = 1 TO LEN(T$):A$ = MID$ (T$,J,1): & X = (J -1) *14 +6 *(A$ = "l" OR A$ = "i" OR A$ = "." OR A$ = "'"): PRINT A$;: NEXT : PRINT
910 & CASE$ = "": GOSUB 1010: & FT = 2: PRINT : PRINT "And we should point out how you can utilize": & CENTER = 1: PRINT "Apple's split screen:": & FT = 1: PRINT "@ @ @ @ @ @ @"
920 & OFF: HOME : & SPLIT: FOR I = 21 TO 24: VTAB I: HTAB I -17: PRINT "THIS IS NORMAL TEXT AT VTAB ";I;":";: FLASH : PRINT " ";: NORMAL : NEXT : & ON
930 & CENTER = 0: & FT = 2: PRINT : PRINT : & X = 56: PRINT "AND THIS IS ";: & INVERSE = 1: PRINT " HI-RES ";: & INVERSE = 0: PRINT " TEXT !": GOSUB 1010
940 FOR I = 1 TO 8: & SPLIT: FOR J = 1 TO (999 +999 *(I = 1))/I: NEXT : & FULL: FOR J = 1 TO (999 +999 *(I = 1))/I: NEXT : NEXT : & CLEAR = 0
950 & FT = 3: FOR J = 1 TO 3: & Y = 32: & CENTER = 1: & HCOLOR= J: PRINT "For more information...": NEXT : & CENTER = 0: & Y = 56: & X = 14: PRINT "telephone this number>": & FT = 1: FOR J = 77 TO 91 STEP 2: & Y = J: & X = J: & HCOLOR= 5: PRINT "SO LONG!": NEXT
960 & HCOLOR= 7: & X = J +2: & Y = J +2: PRINT "SO LONG!": HOME : & SPLIT: & Y = 56: & X = 241: & HCOLOR= 3: PRINT "411": PRINT G$: & OFF: VTAB 23: END
999 GOSUB 1010: & Y = 184 +7 *(RT = 2): & X = 0 +279 *(RT = 2): & FT = 2: PRINT "Press ANY KEY to Continue, or Q to Quit:" CHR$(127): POKE -16368,0: GET A$: IF A$ < >"Q" AND A$ < >"q" THEN & CLEAR = 0: RETURN
1000 HOME : & SPLIT: & OFF: VTAB 23: END
1010 FOR I = 1 TO 999: NEXT : RETURN : REM PAUSE
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/IHIW.bas:
1 B$ = "39@N@>@>@>=@0@=>@@@>N0>0NN0>00M0N@M@@N@@N333NN7785@868@0000N@JD@@@BDH@=@@@=>@>00=@D8E>@>8@M0=?>N3333@@@@=@@@93@@DJ@@939@@@933N731N//N/////55": DIM A(28,4): FOR X = 1 TO 28: FOR Y = 0 TO 4:A(X,Y) = ASC( MID$ (B$,X *5 +Y -4,1)) -47: NEXT Y,X: HGR
2 HOME : VTAB 21: INPUT ">";A$: FOR X = 1 TO LEN(A$):C = ASC( MID$ (A$,X,1)) -64:C = C *(C >0 AND C <27) +(C = -19) *27 +(C = -18) *28:B = 8192 +(V -( INT(V/8) *8)) *128 + INT(V/8) *40 +H: FOR Y = 0 TO 4: POKE B +(Y +1) *1024,A(C,Y) *2: NEXT :H = H +1:H = H *(H <40):V = V +(H = 0):V = V *(V <20): NEXT : GOTO 2
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/NOTES.bas:
10 PRINT CHR$(21): TEXT : NORMAL : HOME
20 PRINT "THERE ARE NO NOTES, YET."
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/SHAPE.APPEND.bas:
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN SHAPE.APPEND"
2 SPEED= 255: NOTRACE : LOMEM: 32768: PRINT CHR$(21): TEXT : NORMAL :D$ = CHR$(4): PRINT D$"MONICO"
3 PRINT D$"BLOAD SHAPE.APPEND.ML"
4 M$ = CHR$(13):X$ = "(NONE)":Y$ = "(NONE)":X = 0:Y = 0:L = 0:S = 6:D = 1:T1$ = "MASTER SHAPE TABLE":T2$ = "LAST SHAPE TABLE LOADED"
5 DIM E$(13):E$(4) = "WRITE-PROTECT":E$(6) = "FILE NOT FOUND":E$(8) = "I/O":E$(9) = "DISK FULL":E$(10) = "FILE LOCKED":E$(11) = "SYNTAX":E$(13) = "FILE TYPE MISMATCH":C$(1) = "NO SHAPES IN " +T1$:C$(2) = "NO SHAPES IN " +T2$:C$(3) = "TOO MANY SHAPES"
6 ONERR GOTO 24
7 HOME : VTAB 6: PRINT T1$: GOSUB 27: PRINT X$M$"("X" SHAPES)"M$M$: PRINT T2$: GOSUB 27: PRINT Y$M$"("Y" SHAPES)": VTAB 21: PRINT "SELECT:": GOSUB 23: PRINT "APPEND LOAD CATALOG" SPC( 11)"QUIT" SPC( 10)"SAVE DRIVE (S"S",D"D")";
8 INVERSE : VTAB 1: HTAB 14: PRINT " SHAPE APPEND ": VTAB 23: HTAB 1: PRINT "A";: HTAB 11: PRINT "L";: HTAB 19: PRINT "C";: HTAB 37: PRINT "Q": HTAB 11: PRINT "S";: HTAB 19: PRINT "D";: NORMAL
9 VTAB 21: HTAB 8: GET A$:A$ = CHR$( ASC(A$) -32 *( ASC(A$) >95)): IF A$ = "Q" THEN VTAB 21: HTAB 1: CALL -958: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y" AND A$ < >"y" GOTO 7: HOME : VTAB 23: DEL 3,3: END
10 ON A$ = "L" GOTO 11: ON A$ = "S" GOTO 12: ON A$ = "A" GOTO 14: ON A$ = "C" GOTO 18: ON A$ = "D" GOTO 19: GOTO 9
11 VTAB 21: HTAB 1: CALL -958: VTAB 24: PRINT " TO ESCAPE";: VTAB 22: HTAB 1: INPUT "LOAD SHAPE TABLE NAMED:";F$: CALL -958: ON NOT LEN(F$) GOTO 7: PRINT D$"BLOAD "F$",A$2000,S"S",D"D:X$ = F$:X = PEEK(8192):Y$ = X$:Y = X:L = 0: GOTO 7
12 IF NOT L THEN HOME : VTAB 12: HTAB 12: INVERSE : PRINT CHR$(7)" NOTHING TO SAVE ": NORMAL : GOSUB 22: GOTO 7
13 VTAB 21: HTAB 1: CALL -958: VTAB 24: PRINT " TO ESCAPE";: VTAB 22: HTAB 1: INPUT "SAVE SHAPE TABLE NAMED:";F$: CALL -958: ON NOT LEN(F$) GOTO 7: PRINT D$"BSAVE "F$",A$2000,L"L",S"S",D"D: GOTO 7
14 IF X$ = "(NONE)" THEN HOME : VTAB 12: HTAB 6: INVERSE : PRINT CHR$(7)T1$" NOT LOADED ": NORMAL : GOSUB 22: GOTO 7
15 VTAB 21: HTAB 1: CALL -958: VTAB 24: PRINT " TO ESCAPE";: VTAB 22: HTAB 1: INPUT "APPEND SHAPE TABLE NAMED:";F$: CALL -958: ON NOT LEN(F$) GOTO 7: PRINT D$"BLOAD "F$",A$6000,S"S",D"D
16 CALL 4096: IF PEEK(4096 +3) THEN HOME : VTAB 12: HTAB (21 - LEN(C$( PEEK(4096 +3)))/2): INVERSE : PRINT CHR$(7)" "C$( PEEK(4096 +3))" ": NORMAL : GOSUB 22: GOTO 7
17 Y$ = F$:Y = PEEK(8192) -X:X = PEEK(8192):L = PEEK(4096 +4) + PEEK(4096 +5) *256: GOTO 7
18 HOME : PRINT : PRINT D$"CATALOG,S"S",D"D: PRINT : GOSUB 23: PRINT "ANY KEY:";: GET A$: GOTO 7
19 VTAB 21: HTAB 1: CALL -958: VTAB 22: PRINT "SLOT "S", DRIVE "D;: HTAB 6: GET A$: ON A$ = CHR$(13) GOTO 20: ON VAL(A$) >7 OR VAL(A$) <1 GOTO 19:S = VAL(A$)
20 VTAB 22: HTAB 6: PRINT S;: HTAB 15: PRINT D;: HTAB 15: GET A$: ON A$ = CHR$(13) GOTO 21: ON VAL(A$) <1 OR VAL(A$) >2 GOTO 20:D = VAL(A$)
21 GOTO 7
22 FOR I = 1 TO 1999: NEXT : RETURN
23 FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN
24 CALL -3288: HOME : VTAB 12: HTAB 11:I = PEEK(222)
25 INVERSE : IF I <14 THEN PRINT CHR$(7)" "E$(I)" ERROR "
26 FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 7
27 FOR I = 1 TO 23: PRINT "=";: NEXT : PRINT : RETURN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/SHAPE.CAPTURE.bas:
0 REM =============== SHAPE CAPTURE (C) 1985 MARK SIMONSEN BEAGLE BROS===============
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN SHAPE.CAPTURE"
2 SPEED= 255: NOTRACE : LOMEM: 32768: PRINT CHR$(21): TEXT : NORMAL :D$ = CHR$(4): PRINT D$"MONICO"
3 PRINT D$"BLOAD SHAPE.CAPTUR.ML"
4 S = 6:D = 1: CALL 4096 +13: POKE 24576,0: POKE 4096 +16,4: POKE 4096 +17,96
5 DIM E$(13):E$(4) = "WRITE-PROTECT":E$(6) = "FILE NOT FOUND":E$(8) = "I/O":E$(9) = "DISK FULL":E$(10) = "FILE LOCKED":E$(11) = "SYNTAX":E$(13) = "FILE TYPE MISMATCH"
6 ONERR GOTO 31
7 POKE 230,32: POKE -16304,0: POKE -16301,0: POKE -16300,0: POKE -16297,0
8 HOME : VTAB 22: GOSUB 30
9 PRINT "OUTLINE LOAD PIC CATALOG QUIT SAVE SHAPE DRIVE (S"S",D"D")";
10 INVERSE : VTAB 23: HTAB 1: PRINT "O";: HTAB 10: PRINT "L";: HTAB 22: PRINT "C";: HTAB 37: PRINT "Q": HTAB 10: PRINT "S";: HTAB 22: PRINT "D";: NORMAL : HTAB 1: PRINT PEEK(24576);
11 VTAB 21: HTAB 1: PRINT "SELECT:";: GET A$: PRINT A$:A$ = CHR$( ASC(A$) -32 *( ASC(A$) >95))
12 ON A$ = "O" GOTO 14: ON A$ = "L" GOTO 20: ON A$ = "S" GOTO 22: ON A$ = "C" GOTO 25: ON A$ = "D" GOTO 26: IF A$ < >"Q" THEN 11
13 HOME : VTAB 21: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y" AND A$ < >"y" GOTO 8: HOME : VTAB 23: DEL 3,3: END
14 ON PEEK(24576) = 255 GOTO 8: POKE -16302,0: POKE 5120 +9,179: CALL 5120:K = PEEK( -16384): POKE -16368,0:A$ = CHR$(K -128)
15 X1 = PEEK(5120 +3) + PEEK(5120 +4) *256:Y1 = PEEK(5120 +5):X2 = PEEK(5120 +6) + PEEK(5120 +7) *256:Y2 = PEEK(5120 +8)
16 IF A$ < > CHR$(13) THEN POKE -16301,0: GOTO 8
17 POKE 4096 +3,Y1: POKE 4096 +4,Y2: POKE 4096 +5,X1 - INT(X1/256) *256: POKE 4096 +6, INT(X1/256): POKE 4096 +7,X2 - INT(X2/256) *256: POKE 4096 +8, INT(X2/256): CALL 4096: CALL 4096 +9: POKE -16301,0
18 IF NOT PEEK(4096 +12) THEN SFLAG = 1: GOTO 8
19 HOME : VTAB 21: PRINT CHR$(7)"TOO LARGE...TRY A SMALLER WINDOW": GOSUB 29: GOTO 14
20 HOME : VTAB 23: PRINT " TO CANCEL": VTAB 21: INPUT "LOAD PICTURE NAMED:";N$: IF NOT LEN(N$) THEN 8
21 CALL -958: PRINT : PRINT D$"BLOAD "N$",A$4000,S"S",D"D: CALL 4096 +9:SFLAG = 0: GOTO 8
22 HOME : IF NOT SFLAG THEN VTAB 21: PRINT "UNABLE TO SAVE (NOTHING CAPTURED)": GOSUB 29: GOTO 8
23 VTAB 23: PRINT " TO CANCEL": VTAB 21: INPUT "SAVE SHAPE TABLE NAMED:";N$: IF NOT LEN(N$) THEN 8
24 CALL -958: PRINT : PRINT D$"BSAVE "N$",A$6000,L"( PEEK(0) + PEEK(1) *256) -24576",S"S",D"D: GOTO 8
25 TEXT : HOME : PRINT D$"CATALOG,S"S",D"D: GOSUB 30: PRINT "ANY KEY:";: GET A$: GOTO 7
26 HOME : VTAB 22: PRINT "SLOT "S", DRIVE "D;: HTAB 6: GET A$: ON A$ = CHR$(13) GOTO 27: ON VAL(A$) <1 OR VAL(A$) >7 GOTO 26:S = VAL(A$)
27 VTAB 22: HTAB 6: PRINT S;: HTAB 15: PRINT D;: HTAB 15: GET A$: ON A$ = CHR$(13) GOTO 28: ON VAL(A$) <1 OR VAL(A$) >2 GOTO 27:D = VAL(A$)
28 GOTO 8
29 FOR I = 1 TO 3000: NEXT : RETURN
30 FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN
31 CALL -3288
32 HOME : VTAB 22:I = PEEK(222)
33 INVERSE : IF I <14 THEN PRINT CHR$(7)" "E$(I)" ERROR "
34 FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 7
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/SHAPE.EDITOR.bas:
0 REM =============== SHAPE EDITOR (C) 1985 MARK SIMONSEN BEAGLE BROS===============
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN SHAPE.EDITOR"
2 SPEED= 255: NOTRACE : LOMEM: 32768: PRINT CHR$(21): TEXT : NORMAL :D$ = CHR$(4): PRINT D$"MONICO"
3 PRINT D$"BLOAD CURSORS,A24576": PRINT D$"BLOAD SHAPE.EDITOR.ML": FOR I = 0 TO 5: READ V: POKE 24832 +I,V: NEXT : DATA 1,0,4,0,29,0
4 P = 233:F = 24832: POKE P -1,0: SCALE= 1: ROT= 0:S = 6:D = 1
5 DIM E$(13):E$(4) = "WRITE-PROTECT":E$(6) = "FILE NOT FOUND":E$(8) = "I/O":E$(9) = "DISK FULL":E$(10) = "FILE LOCKED":E$(11) = "SYNTAX":E$(13) = "FILE TYPE MISMATCH"
6 ONERR GOTO 23
7 REM
8 HOME : POKE P,97: HGR : HCOLOR= 3: CALL 3840:I = PEEK(3840 +13): DRAW I -1 *(I > PEEK(F)) AT 65,80: XDRAW I -1 *(I > PEEK(F)) AT 214,80
9 POKE P,96: HOME : VTAB 21: PRINT "SELECT:": GOSUB 27: PRINT "EDIT LOAD CATALOG" SPC( 13)"QUITVIEW SAVE DRIVE (S"S",D"D")";
10 INVERSE : VTAB 23: HTAB 1: PRINT "E";: HTAB 9: PRINT "L";: HTAB 17: PRINT "C";: HTAB 37: PRINT "Q": PRINT "V";: HTAB 9: PRINT "S";: HTAB 17: PRINT "D";: NORMAL
11 VTAB 21: HTAB 8: GET A$: PRINT A$:A$ = CHR$( ASC(A$) -32 *( ASC(A$) >95)): HOME : POKE 49235,0: IF A$ = "Q" THEN HOME : VTAB 21: PRINT "QUIT NOW? (Y/N): ";: GET A$: ON A$ < >"Y" AND A$ < >"y" GOTO 9: HOME : VTAB 23: DEL 3,3: END
12 ON A$ = "E" GOTO 15: ON A$ = "L" OR A$ = "S" GOTO 17: ON A$ = "C" GOTO 13: ON A$ = "D" GOTO 28: ON A$ = "V" GOTO 14: ON A$ = "N" GOTO 16: GOTO 9
13 TEXT : HOME : PRINT D$"CATALOG,S"S",D"D: GOSUB 27: PRINT "ANY KEY:";: GET A$: PRINT A$: POKE 49232,0: GOTO 9
14 CALL 3840 +3: GOTO 8
15 CALL 3840 +6: GOTO 8
16 POKE 49234,0: GOTO 9
17 POKE P,97:B$ = "SAVE": IF A$ = "L" THEN B$ = "LOAD"
18 VTAB 24: PRINT " TO ESCAPE";: VTAB 22: HTAB 1: PRINT B$;" SHAPES NAMED";: GOSUB 21: IF B$ = "LOAD" THEN PRINT D$"BLOAD "F$",A"F",S"S",D"D: POKE 3840 +12,1: POKE 3840 +13,1
19 IF B$ = "SAVE" THEN CALL 3840 +9: PRINT D$"BSAVE "F$",A"F",L" PEEK(3840 +14) + PEEK(3840 +15) *256 -F +1",S"S",D"D
20 GOTO 8
21 INPUT ":";F$: CALL -958: PRINT : IF NOT LEN(F$) THEN POP :B$ = "": GOTO 8
22 RETURN
23 CALL -3288
24 HOME : VTAB 22:I = PEEK(222)
25 INVERSE : IF I <14 THEN PRINT CHR$(7)" "E$(I)" ERROR "
26 FOR J = 1 TO 2000 -1999 *(I = 255): NEXT : NORMAL : GOTO 8
27 FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN
28 HOME : VTAB 22: PRINT "SLOT "S", DRIVE "D;: HTAB 6: GET A$: ON A$ = CHR$(13) GOTO 29: ON VAL(A$) <1 OR VAL(A$) >7 GOTO 28:S = VAL(A$)
29 VTAB 22: HTAB 6: PRINT S;: HTAB 15: PRINT D;: HTAB 15: GET A$: ON A$ = CHR$(13) GOTO 30: ON VAL(A$) <1 OR VAL(A$) >2 GOTO 29:D = VAL(A$)
30 GOTO 9
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/SHAPETABLE.DEMO.bas:
10 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN SHAPETABLE.DEMO"
20 ONERR GOTO 3000: REM IF.CTRL-C
30 ROT= 0: REM NORMAL.ROT
40 SCALE= 1: REM NORMAL.SCALE
50 HCOLOR= 3: REM WHITE
60 D$ = CHR$(4): REM CTRL-D
70 SH = 16384: REM 1ST.SHAPE.TABLE.LOCATION.($4000)
80 GOSUB 90: GOTO 100
90 POKE 232,SH - INT(SH/256) *256: POKE 233, INT(SH/256): RETURN : REM SET.SHAPE.TABLE.POINTER
100 NOTRACE : HGR : TEXT : HOME : NORMAL : VTAB 21: SPEED= 150: PRINT "LOADING SHAPE TABLE. STAND BY..."
110 PRINT D$;"MONICO": REM PRINTS.SUBSEQUENT.DISK.COMMANDS.ON.SCREEN
120 PRINT D$;"BLOAD DEMO.SHAPES,A";SH: GOSUB 2000: REM LOAD.1ST.SHAPE.TABLE.AT.LOCATION.16384
130 HGR : REM SET.&.CLEAR.HI-RES.PG.1
135 HOME : PRINT CHR$(21): REM 40-COL'S
140 VTAB 23: PRINT " HERE ARE THE 12 SHAPES NOW IN MEMORY.";: VTAB 21: HTAB 4: FOR I = 1 TO 12: XDRAW I AT I *21,140: PRINT I; SPC( 2 -(I = 10));: FOR J = 1 TO 150: NEXT : NEXT : REM SHOW.SHAPES+TEXT
160 XDRAW 8 AT 168,140: FOR X = 168 TO 163 STEP -2.5: XDRAW 8 AT X,140: FOR J = 1 TO 9: NEXT : XDRAW 8 AT X,140: NEXT : FOR Y = 140 TO 130 STEP -5: XDRAW 8 AT X,Y: FOR J = 1 TO 9: NEXT : XDRAW 8 AT X,Y: NEXT : XDRAW 8 AT X,Y: REM MOVE.DISK
170 FOR I = 9 TO 12: XDRAW I AT I *21,140: XDRAW I AT I *21,147: FOR J = 1 TO 200: NEXT : NEXT : REM MOVE.MEN.DOWN
180 FOR I = 1 TO 6: XDRAW 6 AT 126,140: XDRAW 6 AT 126,134: FOR J = 1 TO 9: NEXT : XDRAW 6 AT 126,134: XDRAW 6 AT 126,140: FOR J = 1 TO 99: NEXT : NEXT : REM DOG.JUMPS
185 GOSUB 2000: REM 2.SEC.PAUSE
190 VTAB 21: HTAB 8: CALL -958: PRINT : PRINT : PRINT "HERE ARE SHAPES 1 & 2 ANIMATED TOGETHER.";: FOR I = 1 TO 999: NEXT
210 FOR I = 1 TO 20: XDRAW 2 AT 42,132: FOR J = 1 TO 9: NEXT : XDRAW 2 AT 42,132: XDRAW 1 AT 42,132: FOR J = 1 TO 40: NEXT : XDRAW 1 AT 42,132: NEXT : REM FLY.IN.PLACE
220 FOR Y = 132 TO 100 STEP -4: XDRAW 2 AT 42,Y: FOR J = 1 TO 9: NEXT : XDRAW 2 AT 42,Y: XDRAW 1 AT 42,Y: FOR J = 1 TO 40: NEXT : XDRAW 1 AT 42,Y: NEXT : REM FLY.UP
230 FOR X = 41 TO 189 STEP 4: XDRAW 2 AT X,Y: FOR J = 1 TO 9: NEXT : XDRAW 2 AT X,Y: XDRAW 1 AT X +1,Y: FOR J = 1 TO 40: NEXT : XDRAW 1 AT X +1,Y: NEXT : REM FLY.RIGHT
240 FOR Y = 98 TO 118: XDRAW 2 AT X,Y: FOR J = 1 TO 9: NEXT : XDRAW 2 AT X,Y: XDRAW 1 AT X,Y: FOR J = 1 TO 40: NEXT : XDRAW 1 AT X,Y: NEXT : XDRAW 2 AT X,Y: FOR I = 1 TO 200: NEXT : XDRAW 2 AT X,Y: XDRAW 1 AT X,Y: REM FLY.DOWN
250 FOR I = 1 TO 400: NEXT : XDRAW 7 AT 192,110: FOR I = 1 TO 999: NEXT : XDRAW 7 AT 192,110: GOSUB 2000: REM "?"OVERHEAD
260 HOME : VTAB 22: PRINT "TO USE HI-RES COLOR, USE THE ";: INVERSE : PRINT " DRAW ": NORMAL : PRINT "COMMAND INSTEAD OF THE XDRAW COMMAND."
262 FOR Y = 1 TO 5: FOR X = 10 TO 50 +10 *Y STEP 2: HCOLOR= Y +(Y >3): DRAW 5 AT X,Y *15: NEXT X,Y: HCOLOR= 3: GOSUB 2000
265 HOME : VTAB 22: INVERSE : PRINT " XDRAW ";: NORMAL : PRINT " DRAWS IN THE HI-RES COLOR THAT'SOPPOSITE THE BACKGROUND COLOR.": PRINT "--------";
267 FOR Y = 0 TO 126 STEP 2: XDRAW 1 AT 48,Y: XDRAW 1 AT 51,Y: NEXT : FOR X = 48 TO 270 STEP 3: XDRAW 1 AT X,128: XDRAW 1 AT X,130: NEXT : GOSUB 2000
270 HOME : VTAB 23: PRINT "HERE IS A ROTATION DEMO.";: XDRAW 4 AT 84,140: XDRAW 5 AT 105,140: SPEED= 255
280 FOR RT = 0 TO 255 STEP 16: ROT= RT: XDRAW 4 AT 84,140: XDRAW 5 AT 105,140: VTAB 21: HTAB 11: PRINT "ROT=";RT;: FOR J = 1 TO 255 -RT: NEXT : XDRAW 4 AT 84,140: XDRAW 5 AT 105,140: NEXT : ROT= 0: XDRAW 4 AT 84,140: XDRAW 5 AT 105,140: HTAB 11: PRINT "ROT=0 ": GOSUB 2000: REM SPIN.ARROWS
290 HOME : SPEED= 150: VTAB 23: PRINT " AND A SCALE DEMO. ": SPEED= 255: FOR SC = 8 TO 1 STEP -1: SCALE= SC: XDRAW 11 AT 99,149: VTAB 21: HTAB 13: PRINT "SCALE=";SC;: FOR J = 1 TO 400 *(SC >1): NEXT : HGR : NEXT : SCALE= 1: XDRAW 11 AT 99,149: SPEED= 150: GOSUB 2000
300 VTAB 23: HTAB 1: PRINT "SHAPE TABLE POSSIBILITIES ARE ENDLESS. ": VTAB 21: CALL -868: HCOLOR= 3: HPLOT 279,130 TO 279,150 TO 0,150: FOR X = 0 TO 20: HPLOT 10,134 TO X,140: NEXT : FOR Y = 140 TO 150: HPLOT 0,Y TO 20,Y: NEXT : REM DOG.HOUSE
310 X = 99:Y = 149: XDRAW 11 AT X,Y: FOR I = 1 TO 16: READ A: XDRAW A AT X,Y: FOR J = 1 TO 175: NEXT : XDRAW A AT X,Y: NEXT : XDRAW 11 AT X,Y: DATA 9,10,11,9,10,11,10,11,9,9,12,9,12,9,10,11: REM MAN.POINTS
320 Y = Y -7: FOR X = 0 TO 265 STEP 5: XDRAW 6 AT X,Y: FOR J = 1 TO 15: NEXT : XDRAW 6 AT X,Y:S = PEEK( -16336): NEXT : REM DOG.RUNS
330 FOR I = 1 TO 9:S = PEEK( -16336): NEXT : ROT= 32: XDRAW 6 AT X,Y +7: ROT= 0: REM DOG.CRASHES
340 FOR I = 1 TO 500: NEXT : XDRAW 11 AT 99,149: XDRAW 9 AT 99,149: FOR I = 1 TO 500: NEXT : REM MAN.DROPS.ARM
350 HOME : VTAB 23: PRINT "LET'S LOAD A 2ND SHAPE TABLE, A FONT, AND LOOK AT SOME GRAPH & CHART SAMPLES.";: VTAB 20: PRINT :SH = 18000: PRINT D$;"BLOAD F.APPLE,A";SH: REM LOAD.SECOND.SHAPE.TABLE.AT.LOCATION.18000
360 HGR : HOME : VTAB 21: PRINT "JAN FEB MAR APR MAY JUN JUL AUG SEP OCT"
370 SH = 18000: GOSUB 90: REM SET.SHAPE.TABLE.POINTER.TO.NEW.LOCATION
380 A$ = "DISKS SOLD, 1987": XDRAW 100 AT 0,40: FOR I = 1 TO LEN(A$): XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW 99: NEXT : REM PRINT.A$.IN.HI-RES
390 SH = 16384: GOSUB 90
400 FOR X = 0 TO 279 STEP 28: FOR Y = 139 TO 250 -X STEP -22: XDRAW 8 AT X,Y: NEXT : NEXT : GOSUB 2000: REM DRAW.DISK.CHART
410 HOME : HGR : FOR Y = 30 TO 159 STEP 30:X = 0: FOR I = 1 TO INT( RND(1) *10) +7:X = X +15: XDRAW 9 AT X,Y: NEXT : NEXT : REM DRAW.MEN.GRAPH
420 SH = 18000: GOSUB 90: POKE -16302,0: XDRAW 100 AT 0,165:A$ = " Projected Population, 1981-5": FOR I = 1 TO LEN(A$): XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW 99: NEXT : REM LOWER.CASE.TYPING.CAPABILITIES.NECESSARY.(SEE.XTYPER.&.HI-WRITER.FOR.ALTERNATIVE.LOWER-CASE)
430 GOSUB 2000
440 HGR :SH = 18000: GOSUB 90: XDRAW 100 AT 54,30:A$ = "SINE DATA": FOR I = 1 TO LEN(A$): XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW 99: NEXT
450 HPLOT 0,90 TO 279,90: FOR X = 0 TO 279 STEP 24: HPLOT X,88 TO X,92: NEXT :SH = 16384: GOSUB 90: FOR X = 0 TO 279 STEP 6: XDRAW 3 AT X,50 * SIN(X) +90: FOR I = 1 TO 25: NEXT : NEXT : GOSUB 2000
460 SH = 18000: GOSUB 90
500 HGR : POKE -16302,0:X = 0:Y = 0:A$ = "SHAPE-FONTS MAY BE": GOSUB 1000
510 X = 0:Y = 16:A$ = "UTILIZED AS ORDINARY": GOSUB 1000
520 X = 0:Y = 32:A$ = "SHAPE TABLES.": GOSUB 1000
530 X = 0:Y = 55:A$ = "LIST LINES 500-1000": GOSUB 1000:X = 0:Y = 71:A$ = "TO SEE HOW THESE WORDS": GOSUB 1000:X = 0:Y = 87:A$ = "WERE WRITTEN.": GOSUB 1000
540 X = 0:Y = 100:A$ = "-----------------------------------": GOSUB 1000
550 POKE -16301,0: VTAB 21
560 PRINT D$;"BLOAD F.SQUARE.SMALL,A18000":SH = 18000: GOSUB 90: REM REPLACE.APPLE.FONT.WITH.NEW.FONT
570 POKE -16302,0
580 X = 0:Y = 116:A$ = "1. XDRAW 100 AT START POINT.": GOSUB 1000:X = 0:Y = 126:A$ = "2. XDRAW A CHARACTER.": GOSUB 1000:X = 0:Y = 136:A$ = "3. XDRAW 99.": GOSUB 1000:X = 0:Y = 146:A$ = "4. REPEAT STEPS 2 and 3.": GOSUB 1000
590 X = 0:Y = 160:A$ = "BETTER YET, USE THE XTYPER or HI-WRITER": GOSUB 1000:X = 0:Y = Y +10:A$ = "PROGRAMS ON THE SHAPE MECHANIC" + CHR$(126) +" DISK.": GOSUB 1000
600 HPLOT 0,180 TO 279,180: GOSUB 2000
610 SH = 16384: GOSUB 90: FOR I = 1 TO 400: NEXT :X = 155:Y = 159: XDRAW 10 AT X,Y: FOR I = 1 TO 400: NEXT : XDRAW 10 AT X,Y: XDRAW 9 AT X,Y: FOR I = 1 TO 400: NEXT : XDRAW 9 AT X,Y: XDRAW 11 AT X,Y: FOR I = 1 TO 400: NEXT : REM MAN.POINTS
620 FOR X = 0 TO 260 STEP 4: XDRAW 6 AT X,153:S = PEEK( -16336): XDRAW 6 AT X,153: NEXT : ROT= 16: FOR Y = 153 TO 163 STEP 4: XDRAW 6 AT X,Y: XDRAW 6 AT X,Y: NEXT : FOR I = 1 TO 9:S = PEEK( -16336): NEXT : XDRAW 6 AT X,Y: ROT= 0: REM DOG.CRASH.#2
630 GOSUB 2000:SH = 18000: GOSUB 90:X = 0:Y = 185:A$ = "THAT'S IT. HIT ANY KEY TO CLEAR THE SCREEN.": GOSUB 1000
640 GET A$: HOME : TEXT : SPEED= 255: END
1000 XDRAW 100 AT X,Y: FOR I = 1 TO LEN(A$): XDRAW ASC( MID$ (A$,I,1)) -31: XDRAW 99: NEXT : RETURN : REM XDRAW."LOCATION-CHARACTER".#100.AT.START.POINT,THEN.DRAW.EACH.CHARACTER.FOLLOWED.BY."CONNECTOR.CHARACTER".#99
2000 FOR I = 1 TO 3000: NEXT : RETURN
3000 HOME : SPEED= 255: POKE -16301,0: VTAB 20: END
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/SONG.SUBROUTINE.bas:
100 GOSUB 60000: REM MUSIC POKES
150 GOTO 700: REM GOTO MENU
200 IF REST THEN HTAB 12: PRINT "": FOR X = 1 TO REST: NEXT :REST = 0: RETURN
300 PRINT "PITCH:";PI;",";: HTAB 12: PRINT "LENGTH:";LE
399 REM PLAY A NOTE===========
400 POKE 0,255 -PI: REM PITCH
401 POKE 1,LE: REM NOTE LENGTH
402 CALL 771: REM PLAY THE NOTE
403 RETURN
499 REM MENU====
500 PRINT :A$ = "--------": PRINT A$: PRINT "ANY KEY:": PRINT A$;: VTAB PEEK(37): GET A$
700 SPEED= 255: NOTRACE : TEXT : PRINT CHR$(21): NORMAL :DOT$ = "........................................": FOR I = 1 TO 23: VTAB I: HTAB 1: PRINT DOT$;: NEXT : PRINT LEFT$(DOT$,39);: POKE 2039, ASC(".") +128
800 POKE 32,5: POKE 33,35: VTAB 3: HTAB 5: INVERSE : PRINT " SONG SUBROUTINES ": NORMAL : PRINT : PRINT "<1> CHARGE": PRINT "<2> SHAVE AND A HAIRCUT": PRINT "<3> HERE COMES THE BRIDE": PRINT "<4> BUGLE CALL"
900 PRINT "<5> ": PRINT "<6> C?-SCALE": PRINT "<7> MUSICAL TYPEWRITER": PRINT "<8> RANDOM NOTES": PRINT "<9> SLIDE WHISTLE": PRINT : PRINT " INSTRUCTIONS": PRINT : PRINT " QUIT"
1000 VTAB 22: HTAB 5: PRINT "SELECT:";: FLASH : PRINT " ": NORMAL :HT = 1:A$ = " MYSTERY SONG."
1100 FOR I = 1 TO 3:PI = INT( RND(1) *200) +25:LE = 20: GOSUB 400: NEXT
1200 HT = HT +1 -12 *(HT = 12): VTAB 9: HTAB HT +4: PRINT "G";: HTAB HT +3: PRINT MID$ (A$,HT,1):K = PEEK( -16384): IF K <128 THEN 1200
1300 POKE -16368,0:K = K -32 *(K >223): IF (K <177 OR K >185) AND K < >209 AND K < >201 THEN 1000
1400 VTAB 9: HTAB 5: PRINT "MYSTERY SONG"
1500 VTAB 22: HTAB 12: PRINT CHR$(K): TEXT : IF K = 209 THEN 13600
1505 IF K = 201 THEN 50010
1600 ON K -176 GOTO 1800,2700,3800,9900,5700,11800,9500,5100,5300: GOTO 700
1700 REM CHARGE SONG===========
1800 HOME :PI = 63:LE = 40: GOSUB 200
1900 PI = 111: GOSUB 200
2000 PI = 141: GOSUB 200
2100 PI = 159:LE = 50: GOSUB 200
2200 REST = 100: GOSUB 200
2300 PI = 141:LE = 60: GOSUB 200
2400 PI = 159:LE = 255: GOSUB 200
2500 GOTO 500
2600 REM SHAVE & HAIRCUT===============
2700 HOME :PI = 103:LE = 100: GOSUB 200: REM SHAVE
2800 PI = 63:LE = 50: GOSUB 200 REM AND
2900 GOSUB 200: REM A
3000 PI = 84:LE = 90: GOSUB 200: REM HAIR-
3100 PI = 63:LE = 60: GOSUB 200: REM CUT,
3200 REST = 300: GOSUB 200
3300 PI = 103:LE = 80: GOSUB 200: REM SIX
3400 REST = 22: GOSUB 200
3500 PI = 111: GOSUB 200: REM BITS!
3600 GOTO 500
3700 REM HERE COMES THE BRIDE====================
3800 HOME :PI = 63:LE = 255: GOSUB 200: REM HERE
3900 PI = 111:LE = 180: GOSUB 200: REM COMES
4000 REST = 20: GOSUB 200
4100 LE = 80: GOSUB 200: REM THE
4200 LE = 255: GOSUB 200: REM BRIDE;
4300 REST = 350: GOSUB 200
4400 PI = 63:LE = 255: GOSUB 200: REM ALL
4500 PI = 127:LE = 180: GOSUB 200: REM FAT
4600 REST = 3: GOSUB 200
4700 PI = 103:LE = 80: GOSUB 200: REM AND
4800 PI = 111:LE = 255: GOSUB 200: REM WIDE!
4900 GOTO 500
5000 REM RANDOM======
5100 FLASH : FOR I = 1 TO 20:PI = INT( RND(1) *255) +1:LE = INT( RND(1) *30) +10: POKE 0,PI: POKE 1,LE: CALL 771: VTAB INT( RND(1) *24) +1: HTAB INT( RND(1) *39) +1: PRINT CHR$( INT( RND(1) *64) +32);: NEXT :LE = 255: POKE 0,PI: POKE 1,LE: CALL 771: NORMAL : GOTO 700
5200 REM SLIDE WHISTLE=============
5300 COL$ = "::::::::::::::::::::::::::::::::::::::::": FOR I = 1 TO 23: VTAB I: HTAB 1: PRINT COL$;: NEXT : PRINT LEFT$(COL$,39);: POKE 2039, ASC(":") +128
5400 LE = 4: FOR PI = 254 TO 1 STEP -2: POKE 0,255 -PI: POKE 1,LE: CALL 771: NEXT
5500 FOR PI = 1 TO 50: POKE 0,255 -PI *5: POKE 1,LE: CALL 771: NEXT : GOTO 700
5600 REM MYSTERY SONG============
5700 HOME : PRINT "MYSTERY SONG!": PRINT "------------": PRINT : PRINT "THIS SONG HAS BEEN COMPRESSED. EACH TIMEIT IS PLAYED, THE NOTES GET LONGER. SEE HOW FAST YOU CAN NAME THE SONG."
5800 FOR LX = 2 TO 80 STEP 2
5900 VTAB 10: HTAB 1: CALL -958: PRINT "NOTE LENGTH: ";LX/2;" (NORMAL IS 40)"
6000 PI = 111:LE = LX: GOSUB 400: REM YAN-
6100 GOSUB 400: REM KEE
6200 PI = 127: GOSUB 400: REM DOO-
6300 PI = 141: GOSUB 400: REM DLE
6400 PI = 111: GOSUB 400: REM CAME
6500 PI = 141: GOSUB 400: REM TO
6600 PI = 127: GOSUB 400: REM TOWN
6700 PI = 63: GOSUB 400: REM A-
6800 PI = 111: GOSUB 400: REM RID-
6900 GOSUB 400: REM ING
7000 PI = 127: GOSUB 400: REM ON
7100 PI = 141: GOSUB 400: REM A
7200 PI = 111:LE = LX *2: GOSUB 400: REM PO-
7300 PI = 103:LE = LX: GOSUB 400: REM NY.
7400 PI = 63: GOSUB 400: REM HE
7500 PI = 111: GOSUB 400: REM STUCK
7600 GOSUB 400: REM A
7700 PI = 127: GOSUB 400: REM FEA-
7800 PI = 141: GOSUB 400: REM THER
7900 PI = 147: GOSUB 400: REM IN
8000 PI = 141: GOSUB 400: REM HIS
8100 PI = 127: GOSUB 400: REM HAT
8200 PI = 111: GOSUB 400: REM AND
8300 PI = 103: GOSUB 400: REM CALLED
8400 PI = 63: GOSUB 400: REM IT
8500 PI = 84: GOSUB 400: REM RICE-
8600 PI = 103: GOSUB 400: REM A-
8700 PI = 111:LE = 2 *LX: GOSUB 400: REM RO-
8800 LE = LX: GOSUB 400: REM NI!
8900 IF LX = 80 THEN 700
9000 VTAB 12: PRINT "
PLAY AGAIN WITH LONGER NOTES.": PRINT " GIVE UP; PLAY AT NORMAL SPEED.": PRINT " QUIT PLAYING THAT SONG... NOW!": PRINT
9010 PRINT " SELECT:";: GET A$:A$ = CHR$( ASC(A$) -32 *(A$ >"_")): PRINT A$: IF A$ < >"Q" AND A$ < >"P" AND A$ < >"G" THEN 9000
9100 IF A$ = "P" THEN NEXT
9200 IF A$ = "G" THEN LX = 80: GOTO 5900
9300 GOTO 700
9400 REM MUSICAL TYPEWRITER==================
9500 HOME : PRINT " EACH KEY TYPES A DIFFERENT NOTE.": HTAB 13: PRINT " TO QUIT.": PRINT "----------------------------------------"
9600 GET A$: PRINT A$;:PI = ASC(A$): POKE 0,PI *2: POKE 1,20: CALL 771: IF A$ < > CHR$(17) THEN 9600
9700 GOTO 700
9800 REM BUGLE CALL==========
9900 HOME : VTAB 24:BT = 72: FOR I = 1 TO 2
10000 REST = 50: GOSUB 200
10100 PI = 63:LE = BT/3: GOSUB 200
10200 FOR J = 1 TO 3
10300 PI = 111:LE = BT/3: GOSUB 200
10400 REST = 5: GOSUB 200
10500 PI = 141:LE = BT/4: GOSUB 200
10600 PI = 111:LE = BT/4: GOSUB 200
10700 PI = 63:LE = BT/4: GOSUB 200
10800 REST = 1: GOSUB 200
10900 IF I = 2 AND J = 3 THEN GOSUB 200:REST = 15: GOSUB 200:PI = 111:LE = 2 *BT: GOSUB 200: GOTO 11500
11000 IF J = 3 THEN PI = 111:LE = BT/2: GOSUB 200
11100 PI = 141:LE = BT/3 +BT *(J = 3): GOSUB 200
11200 IF J <3 THEN REST = 15: GOSUB 200
11300 NEXT J
11400 PI = 111:LE = BT/2: GOSUB 200
11500 NEXT I
11600 GOTO 500
11700 REM C-SCALE=======
11800 HOME :A$ = "CDEFGABCBAGFEDC": FOR I = 1 TO LEN(A$): VTAB I: HTAB 23: PRINT "("; MID$ (A$,I,1);")": NEXT : VTAB 1
11900 PI = 63:LE = 80: GOSUB 200
12000 PI = 84: GOSUB 200
12100 PI = 103: GOSUB 200
12200 PI = 111: GOSUB 200
12300 PI = 127: GOSUB 200
12400 PI = 141: GOSUB 200
12500 PI = 153: GOSUB 200
12600 PI = 159: GOSUB 200
12700 PI = 153: GOSUB 200
12800 PI = 141: GOSUB 200
12900 PI = 127: GOSUB 200
13000 PI = 111: GOSUB 200
13100 PI = 103: GOSUB 200
13200 PI = 84: GOSUB 200
13300 PI = 63:LE = 150: GOSUB 200
13400 GOTO 500
13500 REM QUIT====
13600 FOR V = 1 TO 23:H = 25 -V:A = 128 *V +H -(984 * INT((V -1)/8)) +895:B = A +1:PA = PEEK(A):PB = PEEK(B): POKE A,221: POKE B,96: POKE 0,10 *V: POKE 1,9: CALL 771: FOR J = 1 TO 25: NEXT : POKE A,PA: POKE B,PB: NEXT : VTAB 23: END
50000 REM INSTRUCTIONS============
50010 HOME : PRINT " C D E F G A B C": INVERSE : FOR I = 1 TO 40: PRINT "@@@@@ ";: NEXT
50020 NORMAL : FOR I = 1 TO 6: FOR J = 5 TO 30 STEP 5: VTAB I +1: HTAB J: IF J < >15 THEN PRINT " ";
50030 NEXT : HTAB 40: PRINT " ";: NEXT
50040 VTAB 4:A$ = " X111X1": GOSUB 50080:A$ = "79X134X6": GOSUB 50080:A$ = "34X947X9": GOSUB 50080
50050 I = 0:A$ = " 63": GOSUB 50060:A$ = " 84": GOSUB 50060:A$ = "103": GOSUB 50060:A$ = "111": GOSUB 50060:A$ = "127": GOSUB 50060:A$ = "141": GOSUB 50060:A$ = "153": GOSUB 50060:A$ = "159": GOSUB 50060: GOTO 50100
50060 INVERSE :I = I +1: VTAB 10: HTAB I *5 -3: PRINT A$: POKE 0,255 - VAL(A$): POKE 1,80: CALL 771: RETURN
50070 FOR I = 1 TO 8: HTAB I *5 -2: POKE 50,63 +192 *( PEEK(37) >55): PRINT MID$ (A$,I,1);: NEXT : PRINT : RETURN
50080 FOR I = 1 TO 8: HTAB I *5: IF MID$ (A$,I,1) < >"X" THEN PRINT MID$ (A$,I,1);
50090 NEXT : RETURN
50100 NORMAL : VTAB 13: PRINT "TO MAKE MUSIC, ADD LINE 60000 TO YOUR PROGRAM AND MAKE YOUR FIRST LINE BE--": PRINT : PRINT " 10 GOSUB 60000": PRINT
50110 PRINT "FOR EACH NOTE, DO TWO POKES AND A CALL-- --------- ----"
50120 PRINT " POKE 0,255-PI (PI=PITCH, SEE ABOVE) POKE 1,LE (LE=LENGTH, 0-255) CALL 771 (PLAYS THE NOTE)";: VTAB 24: HTAB 1: PRINT "ANY KEY:";: GET A$: GOTO 700
59999 REM MUSIC POKES===========
60000 POKE 771,173: POKE 772,48: POKE 773,192: POKE 774,136: POKE 775,208: POKE 776,4: POKE 777,198: POKE 778,1: POKE 779,240: POKE 780,8: POKE 781,202: POKE 782,208: POKE 783,246: POKE 784,166: POKE 785,0: POKE 786,76: POKE 787,3: POKE 788,3: POKE 789,96: RETURN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/STARTUP.bas:
100 V$ = "12/07/85":D$ = CHR$(4): PRINT D$"MONICO": NOTRACE
120 HOME : INVERSE : SPEED= 255: PRINT : PRINT " SHAPE MECHANIC ": NORMAL : VTAB 1
130 PRINT " BEAGLE BROS, INC.--------------------------------------------------------------------------(C) 1985, BERT KERSEY & MARK SIMONSEN"
150 VTAB 5: PRINT " SEE GREETINGS DEMO SEE SHAPE TABLE DEMO SEE HI.WRITER DEMO SEE FONT SAMPLES RUN XTYPER RUN FONT.EDITOR RUN SHAPE.EDITOR RUN SHAPE.CAPTURE RUN SHAPE.APPEND"
160 PRINT " RUN SONG.SUBROUTINES RUN TEXT.TRICKS RUN BEAGLE.NEWS"
170 PRINT " SEE NOTES ABOUT THIS DISK
QUIT": PRINT : PRINT " SELECT:";: VTAB 21: HTAB 31: PRINT "("V$")"
180 VTAB 24: HTAB 12: GET A$:A$ = CHR$( ASC(A$) -32 *(A$ >"_"))
190 IF A$ = "Q" THEN VTAB 23: HTAB 1: CALL -958: END
200 PRINT A$: HOME
210 IF A$ = "A" THEN PRINT D$"RUN GREETINGS"
220 IF A$ = "B" THEN PRINT D$"RUN SHAPETABLE.DEMO"
230 IF A$ = "C" THEN PRINT D$"RUN HI.WRITER.DEMO"
240 IF A$ = "D" THEN HGR : POKE -16302,0: PRINT D$"BLOAD PIC.SHAPE.MECH,A$2000": GET A$: PRINT A$: PRINT D$"BLOAD PIC.FONT.MECH,A$2000": GET A$: PRINT A$: RUN
250 IF A$ = "E" THEN PRINT D$"RUN XTYPER"
260 IF A$ = "F" THEN PRINT D$"RUN FONT.EDITOR"
270 IF A$ = "G" THEN PRINT D$"RUN SHAPE.EDITOR"
280 IF A$ = "H" THEN PRINT D$"RUN SHAPE.CAPTURE"
285 IF A$ = "I" THEN PRINT D$"RUN SHAPE.APPEND"
290 IF A$ = "J" THEN PRINT D$"RUN SONG.SUBROUTINE"
300 IF A$ = "K" THEN PRINT D$"RUN TEXT.TRICKS"
310 IF A$ = "L" THEN PRINT D$"RUN BEAGLE.NEWS"
320 IF A$ = "M" THEN PRINT D$"RUN NOTES"
330 RUN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/TEXT.TRICKS.bas:
100 SPEED= 255: NOTRACE : GOSUB 60000
200 PAUSE = 22:DOT$ = "........................................": PRINT CHR$(21)
300 REM DOT WIPES=========
400 X = INT( RND(1) *3) +1: ON X GOTO 500,600,700
500 FOR I = 1 TO 23: VTAB I: HTAB 1: PRINT DOT$;: NEXT : FOR I = 1 TO 39: PRINT ".";: NEXT : POKE 2039,174: GOTO 900
600 POKE 33,1: FOR I = 0 TO 39: POKE 32,I: VTAB 1: HTAB 1: PRINT LEFT$(DOT$,24);: NEXT : TEXT : GOTO 900
700 VTAB 24: HTAB 1: FOR I = 1 TO 39: PRINT ".";: NEXT : POKE 2039,174: FOR I = 23 TO 1 STEP -1: VTAB I: HTAB 1: PRINT DOT$;: NEXT
800 REM MENU====
900 POKE 32,5: POKE 33,35: VTAB 5: HTAB 5: INVERSE : PRINT " SCREEN WIPES ": PRINT : NORMAL : PRINT "<1> LEFT/RIGHT WIPE": PRINT "<2> RIGHT/LEFT WIPE": PRINT "<3> CENTER OUT WIPE": PRINT "<4> UP WIPE": PRINT "<5> DOWN WIPE": PRINT "<6> STRIPE WIPE"
1000 PRINT "<7> SCROLL WIPE": PRINT "<8> HYPE WIPE": PRINT "<9> CHECKERBOARD WIPE": PRINT "<0> IRRITATING WIPE": PRINT : PRINT "
QUIT"
1100 TEXT : VTAB 20: HTAB 10: PRINT "SELECT: "; CHR$(8);: GET A$: PRINT A$: IF NOT VAL(A$) AND A$ < >"0" AND A$ < >"Q" AND A$ < >"q" THEN 1100
1200 REM QUIT====
1300 IF A$ = "Q" OR A$ = "q" THEN FOR V = 1 TO 23:H = 25 -V:A = 128 *V +H -(984 * INT((V -1)/8)) +895:B = A +1:PA = PEEK(A):PB = PEEK(B): POKE A,221: POKE B,96: POKE 0,10 *V: POKE 1,9: CALL 771: FOR J = 1 TO 25: NEXT : POKE A,PA: POKE B,PB: NEXT : VTAB 23: END
1400 ON VAL(A$) +1 GOSUB 3500,1700,1900,2100,2300,2500,2700,2900,3100,3300
1500 FOR I = 1 TO 999 -999 *(A$ = "0"): NEXT : GOTO 400
1600 REM LEFT/RIGHT WIPE===============
1700 FOR I = 1 TO 40: POKE 33,I: HOME : GOSUB 3600: NEXT : RETURN
1800 REM RIGHT/LEFT WIPE===============
1900 FOR I = 39 TO 0 STEP -1: POKE 32,I: POKE 33,40 -I: HOME : GOSUB 3600: NEXT : RETURN
2000 REM CENTER OUT WIPE===============
2100 FOR I = 1 TO 20: POKE 32,20 -I: POKE 33,2 *I: HOME : GOSUB 3600: NEXT : RETURN
2200 REM UP WIPE=======
2300 FOR I = 24 TO 1 STEP -1: VTAB I: HTAB 1: CALL -868: GOSUB 3600: NEXT : RETURN
2400 REM DOWN WIPE=========
2500 FOR I = 1 TO 24: VTAB I: HTAB 1: CALL -868: GOSUB 3600: NEXT : RETURN
2600 REM STRIPE WIPE===========
2700 INVERSE : FOR I = 1 TO 24: VTAB I: HTAB 1: INVERSE : PRINT SPC( 40): VTAB I: HTAB 1: NORMAL : PRINT SPC( 40): NEXT : HOME : RETURN
2800 REM SCROLL WIPE===========
2900 FOR I = 1 TO 24: VTAB 24: PRINT : GOSUB 3600: NEXT : RETURN
3000 REM HYPE WIPE=========
3100 VTAB 1: HTAB 1: FOR I = 1 TO 23: PRINT "BUY BEAGLE BROS. BUY BEAGLE BROS. ";: NEXT : RETURN
3200 REM CHECKERBOARD WIPE=================
3300 INVERSE : FOR I = 24 TO 1 STEP -1: VTAB I: FOR J = I - INT(I/2) *2 +1 TO 40 STEP 2: HTAB J: PRINT " ";: NEXT : NEXT : NORMAL : RETURN
3400 REM IRRITATING WIPE===============
3500 POKE -16298,0: POKE -16302,0: FOR I = 3 TO 72: POKE -16304,0: FOR J = 1 TO 1: NEXT : POKE -16303,0: NEXT : RETURN
3600 FOR J = 1 TO PAUSE: NEXT : RETURN
60000 POKE 771,173: POKE 772,48: POKE 773,192: POKE 774,136: POKE 775,208: POKE 776,4: POKE 777,198: POKE 778,1: POKE 779,240: POKE 780,8: POKE 781,202: POKE 782,208: POKE 783,246: POKE 784,166: POKE 785,0: POKE 786,76: POKE 787,3: POKE 788,3: POKE 789,96: RETURN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/TT.bas:
10 GR : HOME : VTAB 21: PRINT " ABCDEFGHIJKLMNOPQRSTUVWXYZ": FOR Z1 TO 2: VTAB 21: HTAB 29: PRINT "SCORE:";S: FOR I = 1 TO 9:A = X(I):B = Y(I):T = 192 +A:K = PEEK( -16384)
20 ON (B = >40 -N OR T = K OR A = 0 GOSUB 50
30 B = B +N: COLOR= 15: PLOT A,B: COLOR= 0: PLOT A,B -N:X(I) = A:Y(I) = B: NEXT :Z = 1: NEXT
50 N = 1: COLOR= 0: PLOT A,B:A = INT( RND(1) *26) +1:C = C +(B = >40 -N):S = S +(T = K): FOR H1 = 1 TO 5:H2 = PEEK(H): NEXT : VTAB 22: PRINT "HITS:";C: IF C <25 THEN RETURN
Text found in 075a_Beagle_Bros_Shape_Mechanic_Side_1.dsk/XTYPER.bas:
0 REM =============== XTYPER (C) 1985 BERT KERSEY & MARK SIMONSEN BEAGLE BROS===============
1 IF PEEK(103) + PEEK(104) *256 < >2049 THEN POKE 2048,0: POKE 103,1: POKE 104,8: PRINT CHR$(4)"RUN XTYPER"
2 SPEED= 255: NOTRACE : LOMEM: 32768: PRINT CHR$(21): TEXT : NORMAL :D$ = CHR$(4): PRINT D$"MONICO"
3 PRINT D$"BLOAD CURSORS,A$4000": PRINT D$"BLOAD XTYPER.ML"
4 Q = -16384:G$ = CHR$(7):T = 256: POKE 230,32:D = 1
5 GOTO 7
6 CALL 5120: GOTO 8
7 FLOC(1) = 16640:FLOC(2) = FLOC(1):FLOC(3) = FLOC(1)
8 NORMAL : HOME : TEXT : VTAB 1: HTAB 1: PRINT "XTYPER LETS YOU TYPE CHARACTERS ONTO THEHI-RES SCREEN USING SHAPE-FONTS. YOU MAYSAVE THE COMPLETED PICTURE TO DISK AFTERPRESSING TO RETURN TO THIS MENU.": NORMAL
9 VTAB 6: HTAB 1: CALL -958: INVERSE : PRINT " TYPE A NUMBER TO LOAD A FONT:": NORMAL : GOSUB 55: PRINT "<1> FONT:"FT$(1): PRINT "<2> FONT:"FT$(2): PRINT "<3> FONT:"FT$(3)
10 PRINT : INVERSE : PRINT " OR SELECT:": NORMAL : GOSUB 55: PRINT " ERASE HI-RES SCREEN"
11 PRINT " LOAD HI-RES PICTURE": PRINT "
QUIT PROGRAM": PRINT
12 PRINT " BEGIN TYPING": PRINT " RETURN TO THIS MENU"
13 FOR J = 1 TO 9:S = PEEK(Q +48): NEXT
14 POKE -16368,0: VTAB 24: PRINT "SELECT: < >" CHR$(8) CHR$(8);: GOSUB 56:A$ = Z$: IF A$ > = " " THEN PRINT A$">";
15 FOR I = 1 TO 500: NEXT : FOR I = 1 TO 2: FOR J = 1 TO 9:S = PEEK(Q +48): NEXT : FOR J = 1 TO 40: NEXT : NEXT
16 IF A$ < > CHR$(13) THEN 19
17 IF FT$(1) = "" AND FT$(2) = "" AND FT$(3) = "" THEN VTAB 24: HTAB 1: CALL -958: INVERSE : PRINT G$" NO FONTS LOADED ";: NORMAL : GOSUB 54: GOTO 8
18 POKE 216,0: GOTO 6
19 IF A$ <"1" OR A$ >"3" THEN 34
20 ONERR GOTO 29
21 IF (A$ = "3" OR A$ = "2") AND NOT ( LEN(FT$(1))) THEN A$ = "1"
22 IF A$ = "3" AND NOT ( LEN(FT$(2))) THEN A$ = "2"
23 FT = VAL(A$): VTAB 6: HTAB 1: CALL -868: INVERSE : PRINT " TYPE NAME OF FONT TO BE LOADED:";: NORMAL : VTAB 7 +FT: HTAB 9: CALL -868: INPUT ":";A$: IF NOT LEN(A$) THEN 8
24 A$ = LEFT$(A$,30)
25 VTAB 6: HTAB 1: CALL -868: PRINT D$"BLOAD "A$",A"FL(FT)",D"D: POKE 5120 +2 +FT *2,FL(FT) - INT(FL(FT)/T) *T: POKE 5120 +3 +FT *2, INT(FL(FT)/T)
26 CALL 5120 +104:FL(FT +1) = FL(FT) + PEEK(5120 +107) + PEEK(5120 +108) *T +1:FL(FT +2) = FL(FT +1):FT$(FT) = A$:FT$(FT +1) = "":FT$(FT +2) = "": POKE 5120 +3,FT
27 POKE 5120 +10 +(FT -1) *31, LEN(A$): FOR I = 1 TO LEN(A$): POKE 5120 +10 +(FT -1) *31 +I, ASC( MID$ (A$,I,1)): NEXT
28 GOTO 8
29 VTAB 5
30 CALL -3288: PRINT : INVERSE : CALL -868: PRINT G$G$;: IF PEEK(222) = 6 THEN PRINT " FILE NOT FOUND ";: GOTO 33
31 IF PEEK(222) = 10 THEN PRINT " FILE LOCKED ";: GOTO 33
32 PRINT " ERROR ";
33 CALL -868: NORMAL : GOSUB 54: POKE 216,0: HOME : GOTO 8
34 IF A$ = "Q" THEN VTAB 24: HTAB 1: CALL -868: PRINT "QUIT NOW? (Y/N): ";: GOSUB 56: ON Z$ < >"Y" GOTO 8: VTAB 24: HTAB 1: CALL -868: VTAB 23: DEL 3,3: END
35 IF A$ = "D" THEN D = 3 -D: GOTO 8
36 IF A$ < >"C" THEN 45
37 ONERR GOTO 30
38 VTAB 20: PRINT : CALL -958: PRINT D$"CATALOG,D"D
39 GOSUB 55: PRINT "HIT : OR =LOCK, =UNLOCK";: HTAB 15: GOSUB 56:A$ = Z$: PRINT A$: IF A$ = CHR$(13) THEN 44
40 IF A$ < >"U" AND A$ < >"L" THEN 39
41 HTAB 1: CALL -958:L$ = "LOCK": IF A$ = "U" THEN L$ = "UNLOCK"
42 PRINT "NAME OF FILE TO "L$;: INPUT ":";F$
43 IF LEN(F$) THEN PRINT D$L$" "F$
44 POKE 216,0: HOME : GOTO 8
45 IF A$ < >"L" AND A$ < >"S" THEN 50
46 VTAB 21: HTAB 1: CALL -958: VTAB 23: PRINT " TO CANCEL": VTAB 21: ONERR GOTO 30
47 IF A$ = "L" THEN INPUT "LOAD PICTURE NAMED:";F$: IF LEN(F$) THEN CALL -958: PRINT : PRINT D$"BLOAD "F$",A$2000,D"D
48 IF A$ = "S" THEN INPUT "SAVE PICTURE NAMED:";F$: IF LEN(F$) THEN CALL -958: PRINT : PRINT D$"BSAVE "F$",A$2000,L$2000,D"D
49 POKE 216,0: GOTO 8
50 IF A$ < >"E" THEN 8
51 VTAB 21: HTAB 1: CALL -958: PRINT "ERASE EXISTING HI-RES IMAGE? (Y/N):";: GOSUB 56:F$ = Z$: IF F$ = "N" THEN 8
52 IF F$ = "Y" THEN HCOLOR= PEEK(5120 +103): HPLOT 0,0: CALL 62454: POKE 5120 +109,0: POKE 5120 +110,0: POKE 5120 +111,0: GOTO 8
53 GOTO 51
54 FOR I = 1 TO 999: NEXT : RETURN
55 FOR I = 1 TO 40: PRINT "-";: NEXT : RETURN
56 GET Z$:Z$ = CHR$( ASC(Z$) -32 *( ASC(Z$) >95)): RETURN
- Addeddate
- 2017-06-26 07:47:59
- Emulator
- apple2ee
- Emulator_ext
- dsk
- Identifier
- 075a_Beagle_Bros_Shape_Mechanic_Side_1
- Scanner
- Internet Archive Python library 1.4.0
comment
Reviews
157 Views
DOWNLOAD OPTIONS
IN COLLECTIONS
Software Library: Apple Floppy Contributions The Software Library: Apple Computer Software LibraryUploaded by Jason Scott on