Call-A.P.P.L.E.

The A.P.P.L.E. Holiday Greeting Pak

In 1979, Jeff Finn submitted a program to the A.P.P.L.E. users group for inclusion in its Diskpak 2.  It was the Holiday Greeting Pak, a program which utilized the low resolution graphics capabilities of the Apple II computer.

The main menu of the Holiday Greeting Pak

Included in the Holiday Greeting Pak were 9 different screens covering both the Christian and the Jewish holidays, giving users a variety of screens which could be personalized as well.

Originally written in Integer Basic, not only was it formatted for the original Dispak2, but Val J. Golding and Ron Aldrich then converted it it Applesoft.  If you search for this program you will find it on both Diskpak2B (released in 1979) as well as Diskpak 12A (Released in 1982).  Both of these Diskpak’s are included in the Diskpak section under the Software menu and Apple II sub-menu of the website.

And thus, in the spirit of the holidays which this program is intended to celebrate, we have printed the original Applesoft program listing in its entirety for those of you who wish to run it on your own Apple II or Apple II emulator.

Holiday Greeting Pak (Applesoft Version)
Program Listing 1

]LIST
10 GOTO 30000
1000 GR : COLOR= 15: FOR I = 25 TO 40: HLIN 0,39 AT I: NEXT I
1010 CALL - 936
1020 COLOR= 2: FOR W = 0 TO 24: HLIN 0,39 AT W: NEXT W
1030 COLOR= 13: VLIN 0,2 AT 19: HLIN 18,20 AT 1: COLOR= 12
1040 X = 2: FOR I = 1 TO 13:X = X + 1: HLIN 19 - I,19 + I AT X:X = X + 1 : HLIN 19 - I,19 + I AT X: NEXT I
1050 COLOR= 8: FOR I = 29 TO 34: PLOT 19,I: NEXT I
1060 COLOR= 1
1070 FOR X = 30 TO 35
1080 HLIN 10,16 AT X: HLIN 25,31 AT X
1090 NEXT X
1100 COLOR= 12
1110 HLIN 10,16 AT 32: HLIN 25,31 AT 32
1120 VLIN 30,35 AT 13: VLIN 30,35 AT 27
1130 COLOR= 7: FOR X = 33 TO 39
1140 HLIN 6,14 AT X: HLIN 20,28 AT X
1150 NEXT X
1160 COLOR= 1: HLIN 6,14 AT 35: HLIN 20,28 AT 35: VLIN 33,39 AT 10: VLIN 33,39 AT 24
1170 COLOR= 13:X = INT ((40) * RND (1)):Y = INT ((40) * RND (1)):S = SCRN( X,Y): IF S < > 2 THEN GOTO 1170
1171 PLOT X,Y
1180 COLOR= 13:M = INT ((40) * RND (1)):R = INT ((40) * RND (1)):S = SCRN( M,R): IF S < > 2 THEN GOTO 1180
1181 PLOT M,R
1190 COLOR= 13:D = INT ((40) * RND (1)):K = INT ((40) * RND (1)):S = SCRN( D,K): IF S < > 2 THEN GOTO 1190
1200 PLOT D,K
1210 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT X,Y
1220 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT M,R
1230 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT D,K
1240 Z = INT ((14) * RND (1)) + 1: IF Z = 12 THEN GOTO 1240
1250 COLOR= Z: PLOT 19,5: PLOT 22,7:Y = 8: FOR X = 17 TO 24 STEP 3: PLOT X,Y:Y = Y + 2: NEXT X
1260 COLOR= 13:M = INT ((40) * RND (1)):R = INT ((40) * RND (1)):S = SCRN( M,R): IF S < > 2 THEN GOTO 1260
1261 PLOT M,R
1270 COLOR= 13:X = INT ((40) * RND (1)):Y = INT ((40) * RND (1)):S = SCRN( X,Y): IF S < > 2 THEN GOTO 1270
1271 PLOT X,Y
1280 COLOR= 13:D = INT ((40) * RND (1)):K = INT ((40) * RND (1)):S = SCRN( D,K): IF S < > 2 THEN GOTO 1280
1290 PLOT D,K
1300 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT M,R
1310 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT X,Y
1320 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT D,K
1330 Z = INT ((14) * RND (1)) + 1: IF Z = 12 THEN GOTO 1330
1331 COLOR= Z
1340 Y = 12: FOR X = 15 TO 27 STEP 3: PLOT X,Y:Y = Y + 2: NEXT X
1350 COLOR= 13:D = INT ((40) * RND (1)):K = INT ((40) * RND (1)):S = SCRN( D,K): IF S < > 2 THEN GOTO 1350
1360 COLOR= 13:X = INT ((40) * RND (1)):Y = INT ((40) * RND (1)):S = SCRN( X,Y): IF S < > 2 THEN GOTO 1360
1361 PLOT X,Y
1370 COLOR= 13:M = INT ((40) * RND (1)):R = INT ((40) * RND (1)):S = SCRN( M,R): IF S < > 2 THEN GOTO 1370
1371 PLOT M,R
1380 PLOT D,K
1390 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT D,K
1400 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT X,Y
1410 FOR I = 1 TO 50: NEXT I: COLOR= 2: PLOT M,R
1420 Z = INT ((14) * RND (1)) + 1: IF Z = 12 THEN GOTO 1420
1421 COLOR= Z
1421 COLOR= Z
1430 Y = 16: FOR X = 13 TO 33 STEP 3: PLOT X,Y:Y = Y + 2: NEXT X:Y = 20: FOR X = 11 TO 23 STEP 3: PLOT X,Y:Y = Y + 2: NEXT X
1440 COLOR= INT ((14) * RND (1)) + 1
1450 Y = 24: FOR X = 9 TO 15 STEP 3: PLOT X,Y:Y = Y + 2: NEXT X: PLOT 7,28
1460 GOSUB 20000: IF KE < 127 THEN 1170
2000 GR
2010 COLOR= 7: FOR X = 0 TO 29: HLIN 0,39 AT X: NEXT X
2020 COLOR= 15:A = 10:B = 29: FOR X = 0 TO 29: IF X = 10 THEN GOTO 2030
2021 GOTO 2040
2030 X = 15:B = 34:A = 5
2040 HLIN A,B AT X: NEXT X
2050 COLOR= 8: FOR X = 10 TO 14: HLIN 5,34 AT X: NEXT X
2060 COLOR= 10: FOR X = 15 TO 29: HLIN 10,29 AT X: NEXT X
2070 COLOR= 14: FOR X = 30 TO 39: HLIN 0,39 AT X: NEXT X
2080 COLOR= 1:A = 18:B = 21: FOR X = 32 TO 39: HLIN A,B AT X:A = A - 2:B = B + 2: NEXT X
2090 COLOR= 6:A = 18:B = 21: FOR X = 36 TO 39: HLIN A,B AT X:A = A - 2:B = B + 2: NEXT X
2100 COLOR= 15: FOR X = 11 TO 12: HLIN 7,13 AT X: HLIN 17,23 AT X: HLIN 27,33 AT X: NEXT X
2110 COLOR= 1: FOR X = 13 TO 16: HLIN 8,12 AT X: HLIN 18,22 AT X: HLIN 28,32 AT X: NEXT X
2120 HLIN 7,12 AT 17: HLIN 17,22 AT 17: HLIN 27,32 AT 17: HLIN 6,11 AT 18: HLIN 16,22 AT 18: HLIN 26,31 AT 18
2130 FOR X = 19 TO 20: HLIN 4,10 AT X: HLIN 24,30 AT X: HLIN 14,20 AT X : NEXT X
2140 COLOR= 8: FOR X = 26 TO 27: HLIN 14,25 AT X: NEXT X: FOR X = 28 TO 29: HLIN 12,27 AT X: NEXT X
2150 COLOR= 9: FOR X = 14 TO 25:A = INT ((4) * RND (1)) + 22:B = INT((3) * RND (1)) + 26: VLIN A,B AT X: NEXT X
2160 FOR X = 1 TO 100: NEXT X
2170 COLOR= 10: FOR X = 22 TO 28: HLIN 14,25 AT X: NEXT X: COLOR= 8: FOR X = 25 TO 28: HLIN 14,25 AT X: NEXT X
2180 GOSUB 20000: IF KE < 127 THEN 2150
3000 GR : COLOR= 2: FOR X = 0 TO 34: HLIN 0,39 AT X: NEXT X: COLOR= 15: FOR X = 35 TO 39: HLIN 0,39 AT X: NEXT X
3010 COLOR= 8:A = 4:B = 12:C = 20:D = 28:E = 36:F = 0: FOR X = 30 TO 33 : HLIN A,A + F AT X: HLIN B,B + F AT X: HLIN C,C + F AT X: HLIN D,D + F AT X: HLIN E,E + F AT X
3020 A = A - 1:B = B - 1:C = C - 1:D = D - 1:E = E - 1:F = F + 2: NEXT X
3030 FOR X = 34 TO 37: HLIN 2,6 AT X: HLIN 10,14 AT X: HLIN 18,22 AT X: HLIN 26,30 AT X: HLIN 34,38 AT X: NEXT X
3040 COLOR= 0: FOR X = 34 TO 35: HLIN 3,4 AT X: HLIN 19,20 AT X: HLIN 27,28 AT X: HLIN 11,12 AT X: HLIN 35,36 AT X: NEXT X
3050 VLIN 24,25 AT 1: HLIN 2,7 AT 25: PLOT 8,24: PLOT 9,23: PLOT 6,24
3060 COLOR= 8: FOR X = 20 TO 23: HLIN 1,6 AT X: NEXT X: COLOR= 10: HLIN 1,3 AT 16: HLIN 1,3 AT 18: HLIN 1,3 AT 19: PLOT 2,17
3070 COLOR= 10: FOR X = 16 TO 19: HLIN 1,4 AT X: NEXT X: COLOR= 1: FOR X = 16 TO 19: HLIN 5,6 AT X: NEXT X: PLOT 7,17
3080 COLOR= 10: HLIN 2,3 AT 15: HLIN 1,4 AT 14: COLOR= 15: HLIN 5,6 AT 15
3090 A = 12:B = 16: FOR X = 1 TO 4
3100 COLOR= 8: VLIN B,B + 3 AT A: VLIN B,B + 1 AT A + 1: VLIN B,B + 3 AT A + 2: VLIN B - 1,B + 1 AT A + 3
3110 PLOT A + 2,B - 2: PLOT A + 4,B - 2: COLOR= 0: IF X = 4 THEN COLOR=1
3111 PLOT A + 4,B: COLOR= 15: PLOT A - 1,B - 1:A = A + 7:B = B - 1: NEXT X
3120 HTAB 4: PRINT "S E A S O N ´S G R E E T I N G S": HTAB 4: PRINT "TO YOU AND YOURS FROM ALL OF US AT": HTAB 12: PRINT "APPLE PUGETSOUND":F = 1
3130 Z = 3
3140 FOR X = 1 TO 300: NEXT X: COLOR= 1: PLOT 37,13: COLOR= 0: FOR X = 34 TO 35: HLIN Z,Z + 1 AT X: NEXT X
3150 A = 12:B = 16: COLOR= 2: IF F = 1 THEN GOTO 3160
3151 IF F = 2 THEN GOTO 3170
3152 IF F = 3 THEN GOTO 3180
3160 FOR X = 1 TO 4: VLIN B + 2,B + 3 AT A: VLIN B + 2,B + 3 AT A + 2:A = A + 7:B = B - 1: NEXT X: GOTO 3190
3170 FOR X = 1 TO 4: PLOT A - 1,B + 2: PLOT A - 2,B + 3: PLOT A + 1,B + 2: PLOT A,B + 3:A = A + 7:B = B - 1: NEXT X: GOTO 3200
3180 FOR X = 1 TO 4: PLOT A + 1,B + 2: PLOT A + 2,B + 3: PLOT A + 3,B + 2: PLOT A + 4,B + 3:A = A + 7:B = B - 1: NEXT X: GOTO 3210
3190 F = 2: COLOR= 8:A = 12:B = 16: FOR X = 1 TO 4: PLOT A - 1,B + 2: PLOT A - 2,B + 3: PLOT A,B + 3: PLOT A + 1,B + 2:A = A + 7:B = B - 1: NEXT X: GOTO 3220
3200 F = 3: COLOR= 8:A = 12:B = 16: FOR X = 1 TO 4: PLOT A + 1,B + 2: PLOT A + 2,B + 3: PLOT A + 3,B + 2: PLOT A + 4,B + 3:A = A + 7:B = B - 1: NEXT X: GOTO 3220
3210 F = 1:A = 12:B = 16: COLOR= 8: FOR X = 1 TO 4: VLIN B + 2,B + 3 AT A: VLIN B + 2,B + 3 AT A + 2:A = A + 7:B = B - 1: NEXT X
3220 COLOR= 0: PLOT 37,13:Z = 3 + 8 * INT ((5) * RND (1)): COLOR= 13:FOR X = 34 TO 35: HLIN Z,Z + 1 AT X: NEXT X
3230 GOSUB 20000: IF KE < 127 THEN 3140
4000 GR : COLOR= 2: FOR X = 0 TO 39: HLIN 0,39 AT X: NEXT X
4010 N = 0: COLOR= 13:B = 27: FOR X = 3 TO 16: GOSUB 4030: NEXT X:N = 0
4020 B = 27: FOR X = 36 TO 23 STEP - 1: GOSUB 4030: NEXT X: GOTO 4040
4030 VLIN 25,B AT X:N = N + 1: IF N = 4 THEN N = 0
4031 B = B + 1: IF N = 1 THEN B = B - 1
4032 RETURN
4040 COLOR= 2:A = 5:B = 25: FOR X = 1 TO 3: GOSUB 4050:A = A + 4:B = B + 3: NEXT X: GOTO 4060
4050 VLIN 25,B + 1 AT A: VLIN 25,B + 2 AT A + 1: RETURN
4060 A = 33:B = 26: FOR X = 1 TO 3: GOSUB 4070:A = A - 4:B = B + 3: NEXT X: GOTO 4080
4070 VLIN 25,B + 1 AT A: VLIN 25,B AT A + 1: RETURN
4080 COLOR= 13: VLIN 33,35 AT 17: VLIN 34,35 AT 18: VLIN 22,35 AT 19: VLIN 22,35 AT 20: VLIN 34,35 AT 21: VLIN 33,35 AT 22
4090 A = 19:B = 20: FOR X = 36 TO 39: HLIN A,B AT X:A = A - 1:B = B + 1:NEXT X
4100 FOR Z = 1 TO 8: GOSUB 20000: IF KE > 127 THEN 5000
4110 COLOR= 8: VLIN 10,21 AT 19: VLIN 10,21 AT 20: FOR X = 1 TO 500: NEXT X
4120 A = 35: FOR X = 1 TO Z: VLIN 13,24 AT A: VLIN 13,24 AT A + 1:A = A - 4: IF X = 4 THEN A = 15
4121 FOR T = 1 TO 500: NEXT T: NEXT X
4130 FOR P = 1 TO 30
4140 COLOR= 9:A = INT ((3) * RND (1)):B = INT ((3) * RND (1)): VLIN A + 7,9 AT 19: VLIN B + 7,9 AT 20
4150 C = 35 - ((Z - 1) * 4): IF Z > 4 THEN C = C - 4
4151 FOR X = 1 TO Z:A = INT ((3) * RND (1)):B = INT ((3) * RND (1))
4160 VLIN A + 10,12 AT C: VLIN B + 10,12 AT C + 1:C = C + 4: IF C = 19 THEN C = 23
4170 NEXT X
4180 COLOR= 2: FOR X = 10 TO 12: HLIN 0,17 AT X: HLIN 22,38 AT X: NEXT X: FOR X = 7 TO 9: HLIN 19,20 AT X: NEXT X
4190 NEXT P
4200 COLOR= 2: FOR X = 12 TO 24: HLIN 0,17 AT X: HLIN 22,39 AT X: NEXT X: VLIN 0,21 AT 19: VLIN 0,21 AT 20: FOR X = 1 TO 300: NEXT X: NEXT Z
5000 GR
5010 COLOR= 4: FOR X = 0 TO 39: VLIN 0,39 AT X: NEXT X
5020 COLOR= 15: FOR X = 13 TO 23: HLIN 6,33 AT X: NEXT X
5030 A = 7:B = 32: FOR X = 24 TO 34: HLIN A,B AT X:A = A + 1:B = B - 1: NEXT X
5040 HLIN 4,6 AT 6: HLIN 5,7 AT 7: HLIN 4,6 AT 8: VLIN 5,9 AT 5
5050 COLOR= 1:A = 12:B = 23: FOR X = 2 TO 12: IF X = 7 THEN A = 11
5051 HLIN A,B AT X:A = A - 1:B = B + 1: NEXT X
5051 HLIN A,B AT X:A = A - 1:B = B + 1: NEXT X
5060 COLOR= 13:A = 8:B = 31:F = 0
5070 FOR X = 13 TO 20
5080 HLIN A,B AT X
5090 IF F = 0 THEN GOTO 5120
5100 F = 0:A = A + 1:B = B - 1
5110 GOTO 5130
5120 F = 1
5130 NEXT X
5140 FOR X = 12 TO 27: HLIN 17,21 AT 24: HLIN 15,24 AT 25: HLIN 14,25 AT 25
5150 HLIN 11,17 AT 21: HLIN 22,28 AT 21
5160 HLIN 19,20 AT 23: HLIN 17,22 AT 24: HLIN 15,24 AT 25: HLIN 14,25 AT 26
5170 A = 13:B = 26: FOR X = 27 TO 31: HLIN A,B AT X:A = A + 1:B = B - 1: NEXT X
5180 COLOR= 1: HLIN 17,22 AT 26: HLIN 15,24 AT 27: HLIN 16,23 AT 28: HLIN 18,21 AT 29: FOR X = 19 TO 20: VLIN 25,30 AT X: NEXT X
5190 FOR X = 19 TO 20: VLIN 18,19 AT X: NEXT X
5200 COLOR= 0: HLIN 13,15 AT 13: HLIN 24,26 AT 13: PLOT 12,14: PLOT 11,15: PLOT 16,14: PLOT 17,15: PLOT 22,15: PLOT 23,14
5210 PLOT 27,14: PLOT 28,15
5220 HLIN 13,15 AT 15: HLIN 24,26 AT 15: HLIN 13,15 AT 16: HLIN 24,26 AT 16: HLIN 13,15 AT 17: HLIN 24,26 AT 17
5230 CALL - 936
5240 A = 6
5250 COLOR= 13: HLIN 19,20 AT 25: HLIN 17,22 AT 26: HLIN 18,21 AT 29: HLIN 19,20 AT 30
5260 FOR X = 1 TO 250: NEXT X: COLOR= 1: HLIN 19,20 AT 25: HLIN 17,22 AT 26: HLIN 18,21 AT 29: HLIN 19,20 AT 30
5270 COLOR= 13: VLIN 37,39 AT A: PLOT A + 1,38: VLIN 37,39 AT A + 2
5280 VLIN 37,39 AT A + 4: PLOT A + 5,37: PLOT A + 5,39: VLIN 37,39 AT A + 6: VLIN 36,37 AT A + 8: PLOT A + 8,39
5290 A = A + 10: FOR X = 1 TO 100: NEXT X: IF A > 26 THEN GOTO 5300
5291 GOTO 5250
5300 COLOR= 13: HLIN 13,15 AT 15: HLIN 13,15 AT 16: FOR X = 1 TO 100: NEXT X: COLOR= 0: HLIN 13,15 AT 16: HLIN 13,15 AT 15
5310 FOR X = 1 TO 500: NEXT X
5320 COLOR= 4: FOR X = 0 TO 39: VLIN 36,39 AT X: NEXT X:A = 6
5330 FOR X = 1 TO 500: NEXT X
5340 GOSUB 20000: IF KE < 128 THEN 5250
6000 GR : COLOR= INT ((15) * RND (1)) + 1
6010 VLIN 0,11 AT 2: VLIN 0,11 AT 6: HLIN 2,6 AT 5
6020 VLIN 0,11 AT 10: VLIN 0,11 AT 14: HLIN 10,13 AT 0
6030 HLIN 10,13 AT 5: VLIN 0,11 AT 17: HLIN 17,21 AT 0
6040 VLIN 0,5 AT 21: HLIN 17,21 AT 5: VLIN 0,11 AT 24
6050 HLIN 24,28 AT 0: VLIN 0,5 AT 28: HLIN 24,28 AT 5
6060 VLIN 0,5 AT 30: HLIN 31,36 AT 5: VLIN 5,11 AT 33
6070 VLIN 0,5 AT 36
6075 VLIN 20,35 AT 4
6080 VLIN 20,27 AT 10: HLIN 10,14 AT 20: VLIN 20,35 AT 14: HLIN 10,14 AT 27
6090 HLIN 19,24 AT 20: HLIN 19,24 AT 27: HLIN 19,24 AT 35: VLIN 20,35 AT 19: VLIN 20,35 AT 24
6100 HLIN 29,34 AT 20: HLIN 29,34 AT 27: HLIN 29,34 AT 35: VLIN 20,27 AT 34: VLIN 27,35 AT 29
6120 FOR X = 1 TO 250: NEXT X: GOSUB 20000: IF KE < 128 THEN 6000
7000 CALL - 936: GR
7010 VTAB 23: HTAB 2: PRINT "-M-A-N-Y- -H-A-P-P-Y- -R-E-T-U-R-N-S-"
7020 RN = INT ((13) * RND (1))
7030 FOR RT = 3 TO 0 STEP - 1
7040 FOR QW = 19 TO 1 STEP - RT
7050 COLOR= RN + 8
7060 W = QW
7070 FOR X = 15 TO 1 STEP - RN
7080 FOR A = 1 TO RN
7090 GOSUB 7500
7090 GOSUB 7500
7100 COLOR= 15
7110 GOSUB 7500
7120 COLOR= 8: FOR N = 1 TO 50: NEXT N
7130 NEXT A
7140 NEXT X
7150 COLOR= 0
7160 FOR X = 10 TO W + 1 STEP - 1
7170 FOR A = X - 1 TO W + 1 STEP - 1
7180 GOSUB 7500
7190 NEXT A
7200 COLOR= INT ((5) * RND (1)) + 12
7210 GOSUB 20000: IF KE > 127 THEN 8000
7220 NEXT X
7230 NEXT QW
7240 NEXT RT
7250 GOTO 7000
7500 IF X > 39 THEN X = 39
7501 IF A > 39 THEN A = 39
7510 PLOT X,20 - A: PLOT X,A: PLOT 20 - X,A: PLOT A,X: PLOT 20 - A,X: PLOT A,20 - X: PLOT 20 - A,20 - X: PLOT 20 - X,20 - A
7520 PLOT 20 + X,20 - A: PLOT 20 + X,A: PLOT 40 - X,A: PLOT 20 + A,X: PLOT 40 - A,X: PLOT 20 + A,20 - X: PLOT 40 - A,20 - X: PLOT 40 - X,20 - A
7530 PLOT X + 20,40 - A: PLOT X + 20,A + 20: PLOT 40 - X,A + 20: PLOT A + 20,X + 20: PLOT 40 - A,X + 20: PLOT A + 20,40 - X: PLOT 40 - A,40 - X: PLOT 40 - X,40 - A
7540 PLOT X,40 - A: PLOT X,A + 20: PLOT 20 - X,A + 20: PLOT A,X + 20: PLOT 20 - A,X + 20: PLOT A,40 - X: PLOT 20 - A,40 - X: PLOT 20 - X,40 - A
7550 RETURN
8000 CALL - 936: GR
8010 VTAB 23: HTAB 5: PRINT "^M^E^R^R^Y^ ^C^H^R^I^S^T^M^A^S^"
8020 FOR RT = 3 TO 1 STEP - 1
8030 FOR QW = 1 TO 19 STEP RT
8040 W = QW
8050 FOR X = 1 TO 10 STEP RT
8060 ER = INT ((16) * RND (1))
8070 FOR A = W TO X - 1
8080 GOSUB 9500
8090 NEXT A
8100 NEXT X
8110 FOR X = 10 TO W + 1 STEP - 1
8120 FOR A = X - 1 TO W + 1 STEP - 1
8130 GOSUB 7500
8140 ER = INT ((13) * RND (1)) + 4
8150 GOSUB 9500
8160 COLOR= 0: GOSUB 7500
8170 NEXT A
8180 COLOR= QW
8190 GOSUB 20000: IF KE > 127 THEN 9000
8200 NEXT X
8210 NEXT QW
8220 NEXT RT
8230 GOTO 8000
9000 CALL - 936: GR
9010 VTAB 23: HTAB 5: PRINT "´H´A´P´P´Y´ ´N´E´W´ ´Y´E´A´R´"
9020 RN = INT ((13) * RND (1))
9030 FOR TY = 1 TO 4
9040 FOR TU = 15 TO 1
9050 COLOR= RN + 8
9060 W = QW
9070 FOR X = 1 TO TU STEP 2
9080 FOR A = 19 TO TU STEP - 1
9090 GOSUB 7500
9100 COLOR= TY
9110 GOSUB 7500
9110 GOSUB 7500
9120 COLOR= RN
9130 NEXT A
9140 NEXT X
9150 COLOR= 0
9160 FOR X = 10 TO 1 STEP - 1
9170 FOR A = X TO 1 STEP - 1
9180 COLOR= ER: GOSUB 9500
9190 NEXT A
9200 IF A = 0 THEN A = 1
9210 COLOR= 0: GOSUB 7500
9220 ER = ER + 1
9230 GOSUB 20000: IF KE > 127 THEN 1000
9240 NEXT X
9250 NEXT TY
9260 GOTO 9000
9500 COLOR= ER: PLOT 20 - X,40 - A
9510 PLOT 20 - A,40 - X: PLOT A,40 - X: PLOT 20 - A,X + 20: PLOT A,X + 20: PLOT 20 - X,A + 20: PLOT X,A + 20: PLOT X,40 - A
9520 COLOR= ER + 1: PLOT 40 - X,40 - A: PLOT 40 - A,40 - X: PLOT A + 20,40 - X: PLOT 40 - A,X + 20: PLOT A + 20,X + 20: PLOT 40 - X,A + 20:PLOT X + 20,A + 20: PLOT X + 20,40 - A
9530 COLOR= ER + 2: PLOT 40 - X,20 - A: PLOT 40 - A,20 - X: PLOT 20 + A,20 - X: PLOT 40 - A,X: PLOT 20 + A,X: PLOT 40 - X,A: PLOT 20 + X,A:PLOT 20 + X,20 - A
9540 COLOR= ER + 3: PLOT 20 - X,20 - A: PLOT 20 - A,20 - X: PLOT A,20 -X: PLOT 20 - A,X: PLOT A,X: PLOT 20 - X,A: PLOT X,A: PLOT X,20 - A: RETURN
10000 TEXT : CALL - 936: VTAB 6
10010 IF A = 1 OR A = 2 THEN 10120
10020 INPUT "PERSONALIZED GREETING ? (Y/N)";A$
10030 :
10040 IF A$ = "Y" THEN 10070
10050 INPUT "NAME FOR GREETING ? ";B$
10060 A = 2: GOTO 10120
10070 CALL - 936: VTAB 6: PRINT "FILL IN BLANKS BETWEEN QUOTES WITH VERSE AND HIT RETURN, AND TRACE GOTO 10120 AND HIT RETURN": PRINT
10080 VTAB 12: PRINT " 10132 PRINT"; CHR$(34);"---------------------------------------"; CHR$ (34): PRINT
10090 PRINT " 10134 PRINT"; CHR$ (34);"---------------------------------------"; CHR$ (34): PRINT
10100 PRINT " 10136 PRINT"; CHR$(34);"---------------------------------------"; CHR$ (34): PRINT
10110 PRINT " GOTO 10120": POKE 37,( PEEK (37) - 8):A = 1: VTAB 11: END
10120 GR : CALL - 936: COLOR= 15
10130 IF A = 2 THEN 10140
10132 PRINT " HAPPY BIRTHDAY "
10134 PRINT " YOU BIG SLOB OF A KID "
10136 PRINT "---------------------------------------"
10138 GOTO 10150
10140 PRINT "HAPPY BIRTHDAY ";B$;".": PRINT "MANY HAPPY RETURNS"
10150 FOR I = 3 TO 35: VLIN 24,37 AT I: NEXT I
10160 COLOR= 9: HLIN 1,37 AT 39: HLIN 1,37 AT 38
10170 FOR X = 2 TO 36 STEP 3: HLIN X,(X + 1) AT 22: HLIN X,(X + 1) AT 23: NEXT X
10180 COLOR= 11: FOR X = 4 TO 34 STEP 5: VLIN 13,21 AT X: VLIN 13,21 AT (X + 1): NEXT X
10190 COLOR= 12: FOR X = 2 TO 36 STEP 2: PLOT X,37: NEXT X
10200 FOR X = 4 TO 34 STEP 3: PLOT X,21: PLOT X,22: PLOT X,23: PLOT X,24: NEXT X
10210 PLOT 2,21: PLOT 36,21: PLOT 2,24: PLOT 36,24
10220 FOR I = 1 TO 10: NEXT I:N = INT ((14) * RND (1)) + 1: ON N GOTO 10230,10240,10250,10260,10270,10280,10290,10300,10310,10320,10330,10340,10350,10360,10370
10230 GOSUB 20000: IF KE > 127 THEN 30000
10240 COLOR= 0: VLIN 10,12 AT 5: COLOR= 6: PLOT 4,12: COLOR= 13: VLIN 11,11 AT 4: GOTO 10220
10250 COLOR= 0: VLIN 10,12 AT 4: COLOR= 6: PLOT 5,12: COLOR= 13: VLIN 10,11 AT 5: GOTO 10220
10260 COLOR= 0: VLIN 10,12 AT 10: COLOR= 6: PLOT 9,12: COLOR= 13: VLIN 11,11 AT 9: GOTO 10220
10270 COLOR= 0: VLIN 10,12 AT 9: COLOR= 6: PLOT 10,12: COLOR= 13: VLIN 10,11 AT 10: GOTO 10220
10280 COLOR= 0: VLIN 10,12 AT 15: COLOR= 7: PLOT 14,12: COLOR= 13: VLIN 10,11 AT 14: GOTO 10220
10290 COLOR= 0: VLIN 10,12 AT 14: COLOR= 7: PLOT 15,12: COLOR= 13: VLIN 11,11 AT 15: GOTO 10220
10300 COLOR= 0: VLIN 10,12 AT 20: COLOR= 7: PLOT 19,12: COLOR= 13: VLIN 11,11 AT 19: GOTO 10220
10310 COLOR= 0: VLIN 10,12 AT 19: COLOR= 6: PLOT 20,12: COLOR= 13: VLIN 10,11 AT 20: GOTO 10220
10320 COLOR= 0: VLIN 10,12 AT 25: COLOR= 6: PLOT 24,12: COLOR= 13: VLIN 11,11 AT 24: GOTO 10220
10330 COLOR= 0: VLIN 10,12 AT 24: COLOR= 7: PLOT 25,12: COLOR= 13: VLIN 10,11 AT 25: GOTO 10220
10340 COLOR= 0: VLIN 10,12 AT 30: COLOR= 6: PLOT 29,12: COLOR= 13: VLIN 10,11 AT 29: GOTO 10220
10350 COLOR= 0: VLIN 10,12 AT 29: COLOR= 6: PLOT 30,12: COLOR= 13: VLIN 11,11 AT 30: GOTO 10220
10360 COLOR= 0: VLIN 10,12 AT 35: COLOR= 7: PLOT 34,12: COLOR= 13: VLIN 11,11 AT 34: GOTO 10220
10370 COLOR= 0: VLIN 10,12 AT 34: COLOR= 7: PLOT 35,12: COLOR= 13: VLIN 10,11 AT 35: GOTO 10220
10380 REM "GREETINGS" BY JEFF FINN"
20000 KE = PEEK ( - 16384): IF KE < 127 THEN RETURN
20001 POKE - 16368,0: IF KE < > 155 THEN RETURN
30000 CLEAR : POKE 50,63: TEXT : CALL - 936
30010 VTAB 1: HTAB 2: PRINT "   ";: HTAB 9: PRINT "    ";: HTAB 17: PRINT "    ";: HTAB 25: PRINT " ";: HTAB 33: PRINT "     "
30020 PRINT " ";: HTAB 5: PRINT " ";: HTAB 9: PRINT " ";: HTAB 13: PRINT " ";: HTAB 17: PRINT " ";: HTAB 21: PRINT " ";: HTAB 25: PRINT " ";: HTAB 33: PRINT " "
30030 PRINT "     ";: HTAB 9: PRINT "     ";: HTAB 17: PRINT "     ";: HTAB 25: PRINT " ";: HTAB 33: PRINT "    "
30040 PRINT " ";: HTAB 5: PRINT " ";: HTAB 9: PRINT " ";: HTAB 17: PRINT " ";: HTAB 25: PRINT " ";: HTAB 33: PRINT " "
30050 PRINT " ";: HTAB 5: PRINT " ";: HTAB 7: PRINT " ";: HTAB 9: PRINT " ";: HTAB 15: PRINT " ";: HTAB 17: PRINT " ";
30060 HTAB 23: PRINT " ";: HTAB 25: PRINT "     ";: HTAB 31: PRINT " ";: HTAB 33: PRINT "     ";: HTAB 39: PRINT " "
30070 POKE 50,255: PRINT
30080 PRINT "A      P      P      L      E": HTAB 2: PRINT "P      U      R      I      X"
30090 HTAB 3: PRINT "P      G      O      B      C": HTAB 4: PRINT "L      E      G      R      H"
30100 HTAB 5: PRINT "E      T      R      A      A": HTAB 13: PRINT "S      A      R      N"
30110 HTAB 14: PRINT "O      M      Y      G": HTAB 15: PRINT "U";: HTAB 36: PRINT "E"
30120 HTAB 16: PRINT "N":HTAB 17: PRINT "D"
30130 POKE 50,63: PRINT : PRINT : HTAB 10: PRINT " ": HTAB 10: PRINT " P R E S E N T S ": HTAB 10: PRINT " "
30140 POKE 50,255
30150 FOR I = 1 TO 3000: NEXT I
30160 TEXT : CALL - 936: VTAB 3: HTAB 10: PRINT "A.P.P.L.E. PRESENTS:": VTAB 7: PRINT "HOLIDAY PAK": PRINT : PRINT
30170 PRINT "0 XMAS TREE": PRINT "1 FIREPLACE": PRINT "2 REINDEER": PRINT "3 CANDELABRA": PRINT "4 SANTA CLAUS": PRINT "5 HAPPY 1982"
30180 PRINT "6 MANY HAPPY RETURNS": PRINT "7 XMAS KALEIDOSCOPE": PRINT "8 NEW YEAR KALEIDOSCOPE": PRINT "9 BIRTHDAY CAKE"
30190 PRINT : PRINT : PRINT "HIT ´ESC´FOR MENU": PRINT "HIT ANY OTHER KEY FOR NEXT DEMO"
30200 KE = PEEK ( - 16384): IF KE < 176 OR KE > 185 THEN 30200
30201 POKE - 16368,0
30202 REM HOLIDAY GREETINGPAK
30203 REM APPLE PUGETSOUND PROGRAM
30204 REM LIBRARY EXCHANGE
30205 REM 6708 39TH AVENUE SW
30206 REM SEATTLE, WA. 98136
30207 REM EDITED BY RON ALDRICH
30208 REM AND VAL J GOLDING
30210 KE = KE + 1
30220 ON (KE - 176) GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9000,10000
31000 REM A.P.P.L.E. HOLIDAY GREETING
31010 REM PAK EDITED BY RON ALDRICH
31020 REM APPLE PUGETSOUND PROGRAM
31030 REM LIBRARY EXCHANGE
31040 REM 6708 39TH AVENUE SW
31050 REM SEATTLE, WA. 98136
]


Please follow and like us: