This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
|
|
|
-
Entry name:Courting Crickets
-
Category:Games
-
Publisher/Developer:ACE Newsletter of Eugene, Antic - The Atari Resource, BELLCOM - Public Domain Library
-
Year:1982
Listing 1
10 REM *CRICKETS by Stan Ockers *Feb '83 ACE NEWSLETTER 100 REM *********************** 110 REM ** COURTING CRICKETS ** 120 REM ** S.O. 12-82 ** 130 REM *********************** 140 ? "INITIALIZING ....." 150 DIM D$(1),F$((INT(ADR(D$)/2048)+1)*2048-ADR(D$)-1),DD$(1024),P0$(256),P1$(256),P2$(256),P3$(256) 160 DIM BL$(13),CR$(12),CRJ$(12),CRF1$(12),CRF2$(12),CRM$(12),STK$(32),HT1$(12),HT2$(12),SND$(173):HI=ADR(DD$)/256 170 DIM GF1$(15),GF2$(15),DRP$(13),CUR$(12),COLDR$(4):GF1$="HIXLMXPQXTUXXXX":GF2$="JKXNOXRSXVWXZ[X" 180 REM ** Joystick Routine ** 190 RESTORE 200:FOR J=1 TO 32:READ A:STK$(J,J)=CHR$(A):NEXT J:STK=ADR(STK$) 200 DATA 104,173,132,2,240,12,173,207,6,240,20,169,0,141,207,6,240,13,173,207,6,208,8,173,120,2,41,3,141,207,6,96 210 REM ** Sound Data ** 220 RESTORE 230:FOR J=1 TO 173:READ A:SND$(J,J)=CHR$(A):NEXT J 230 DATA 0,60,3,70,3,80,3,90,3,100,3,100,3,0,0,108,10,108,10,108,10,81,20,64,10,108,10,108,10,108,10,81,20 240 DATA 64,10,0,30,53,10,85,10,53,10,96,10,53,10,96,10,53,10,91,20,102,10,108,10,108,10,85,20,72,10,108,10 250 DATA 108,10,108,10,85,20,72,10,0,50,53,15,47,5,53,10,60,10,64,10,72,10,81,20,40,20,0,0 260 DATA 121,40,91,30,91,10,91,80,121,40,81,30,96,10,91,80,121,40,91,30,72,10,60,40,72,30,91,10,91,40,96,30 270 DATA 91,10,81,80,0,0,243,40,243,40,243,10,243,40,204,40,217,10,217,40 280 DATA 243,10,243,40,255,10,243,60,0,0,47,10,72,10,60,10,64,10,72,10,64,10,60,10,72,10,0,0 290 HS=INT(ADR(SND$)/256):POKE 209,HS:LS=ADR(SND$)-HS*256:POKE 208,LS:SOUND 3,0,0,0 300 DIF=1 310 REM ** DD$ is Screen Data ** 320 DD$(1)="@":DD$(448)="@":DD$(2)=DD$:DD$(449)=CHR$(0):DD$(828)=CHR$(0):DD$(450)=DD$(449) 330 LINE1=ADR(DD$)+513:HL=INT(LINE1/256):LL=LINE1-HL*256:POKE 88,LL:POKE 89,HL 340 POKE 559,0:GOSUB 1140:GOSUB 1330:GOSUB 1530 350 GRAPHICS 0:POKE 756,START/256:GOSUB 1380:POKE 559,0:POKE 560,0:POKE 561,6:POKE 559,34:GOSUB 1710 360 A=USR(1670):VERT=8:GOSUB 1780:POKE 88,LL:POKE 89,HL:POSITION 12,0:? DIF:BRO=0 370 POKE 708,68:POKE 709,254:POKE 710,86:POKE 711,44:POKE 712,72:POSITION 16,7:? " courting crickets " 380 POSITION 2,0:? "dif level":RESTORE 382:FOR J=1 TO 4:READ A:COLDR$(J,J)=CHR$(A):NEXT J 382 DATA 228,36,4,230 390 DD$(613,652)="YYYYYYXXXXXYYYYYYXXXXXYYYYYYXXXXXYYYYYY" 400 DD$(653,692)="YYYYYYXXXXXYYYYYYXXXXXYYYYYYXXXXXYYYYYY" 410 DD$(693)="_`XX_`XX_`":DD$(769)="abXXabXXabX" 420 GN=0:WFLG=0:GIFT=0:DROP=0:DD$(552)="XXXXXXXXXXXXXX":DD$(592)="XXXXXXXXXXXXXX" 430 POKE 1622,15:DD$(712)=GF1$:DD$(788)=GF2$ 440 POSITION 16,7:? "SELECT dif or FIRE":POKE 77,0 450 IF STRIG(0)=0 THEN 450 460 KEY=PEEK(53279):IF STRIG(0)=0 THEN 500 470 IF KEY<>5 THEN 460 480 DIF=DIF+1:IF DIF>7 THEN DIF=1 490 POSITION 12,0:? DIF:GOSUB 1780:GOTO 460 500 POSITION 16,7:? " COURTING CRICKETS ":GOSUB 1000:DD$(712)="XX":DD$(788)="XX" 510 A=USR(ADR(STK$)) 520 IF GIFT=1 AND YPOS=187 AND P>100 AND P<134 THEN GOSUB 820:GOSUB 790 530 IF PEEK(1743)=0 THEN FLAG=0 540 IF FLAG=1 THEN 580 550 S=PEEK(1743):IF S=2 OR S=1 THEN FLAG=1:P0$(YPOS)=CRJ$:POKE 53767,170:POKE 1591,1:FOR J=1 TO 20:NEXT J 560 IF S=2 AND VERT>0 THEN POKE 1767+VERT,0:P0$(YPOS)=BL$:YPOS=YPOS-16:P0$(YPOS)=CR$:VERT=VERT-1:POKE 1767+VERT,1 570 IF S=1 AND VERT<8 THEN POKE 1767+VERT,0:P0$(YPOS)=BL$:YPOS=YPOS+16:P0$(YPOS)=CR$:VERT=VERT+1:POKE 1767+VERT,1 580 P=PEEK(1791):IF P>190 OR P<60 THEN POKE 1767+VERT,0:GOTO 710 590 POKE 53278,0 600 FOR J=1 TO 10:NEXT J 610 IF PEEK(53252)>0 THEN POKE 1767+VERT,0:GOTO 710 620 IF YPOS=59 AND P>100 AND P<134 THEN POKE 1767+VERT,0:GOTO 840 630 JPOS=JPOS+DELJ:IF JPOS>RTLJ OR JPOS<LLJ THEN DELJ=-DELJ:JPOS=JPOS+2*DELJ 640 POKE 53250,JPOS 650 DRCNT=DRCNT-1:IF DRCNT<1 THEN DRCNT=10+5*(10-DIF):DPOS=50:GOSUB 950:P3$(DPOS)=DRP$:DROP=1:POKE 53251,JPOS 660 IF DROP=1 THEN P3$(DPOS)=BL$:DPOS=DPOS+DELTA:P3$(DPOS)=DRP$:SOUND 1,DPOS-40,10,10 670 IF DPOS>240 THEN GOSUB 820:DPOS=50 680 IF PEEK(53260)=8 THEN POKE 1767+VERT,0:GOTO 710 690 GOTO 510 700 REM ** Falling Cricket ** 710 GOSUB 820 720 P0$(YPOS)=BL$:YPOS=YPOS+6:P0$(YPOS)=CRF1$:SOUND 0,YPOS,10,10:FOR J=1 TO 30:NEXT J 730 P0$(YPOS)=BL$:YPOS=YPOS+6:P0$(YPOS)=CRF2$:SOUND 0,YPOS,10,10:FOR J=1 TO 30:NEXT J:IF YPOS<240 THEN 720 740 SOUND 0,0,0,0 750 BRO=BRO+1:IF BRO=4 THEN 1030 760 J=4*(BRO-1):DD$(693+J,696+J)="XXXX":DD$(769+J,772+J)="\]^X" 770 VERT=8:GOSUB 1710:POKE 1791,120:POKE 1622,15:GOTO 510 780 REM ** Erase Next Gift ** 790 GIFT=0:GN=GN+1:GOSUB 1000:DD$(712+GN*3)="XX":DD$(788+GN*3)="XX" 800 RETURN 810 REM ** Eliminate Drop ** 820 SOUND 1,0,0,0:P3$(DPOS)=BL$:POKE 53251,0:DROP=0:RETURN 830 REM ** Reached Female ** 840 GOSUB 820:POKE 1791,118 850 IF GIFT=0 THEN GOSUB 920 860 IF WFLG=1 THEN 1090 870 FOR K=1 TO 10:P1$(YPOS-14)=HT1$ 880 FOR J=15 TO 0 STEP -1:SOUND 0,20,10,J:NEXT J:P1$(YPOS-14)=HT2$:FOR J=1 TO 15:NEXT J:NEXT K 890 IF STRIG(0)=1 THEN 890 900 P0$(YPOS)=BL$:P1$(YPOS-14)=BL$:S=1:GOTO 560 910 REM ** Print Gift ** 920 GIFT=1:DD$(552)=GF1$(1,(GN+1)*3):DD$(592)=GF2$(1,(GN+1)*3):IF GN=4 THEN WFLG=1 930 RETURN 940 REM ** Pick a Weapon ** 950 R=INT(RND(0)*4):RESTORE 960+10*R:FOR J=1 TO 13:READ A:DRP$(J,J)=CHR$(A):NEXT J:POKE 707,ASC(COLDR$(R+1)) 952 RETURN 960 DATA 20,72,34,20,74,40,8,127,127,62,62,28,28 970 DATA 0,0,80,112,112,112,112,112,120,126,94,0,0 980 DATA 0,0,48,96,64,127,127,64,224,224,0,0,0 990 DATA 60,24,24,24,60,126,223,215,247,255,127,126,60 995 REM ** Pick Another Gift ** 1000 POKE 1622,155:POKE 707,92:POKE 53251,124+12*GN:FOR J=1 TO 5:P3$(205)=CUR$:FOR K=1 TO 30:NEXT K 1010 P3$(205)=BL$:FOR K=1 TO 30:NEXT K:NEXT J:RETURN 1020 REM ** No More Brothers ** 1030 POKE 1622,131:POKE 53277,0:FOR J=53261 TO 53264:POKE J,0:NEXT J:GRAPHICS 18:POSITION 4,3:? #6;"All Brothers" 1040 POSITION 6,4:? #6;"are Gone" 1050 POSITION 3,7:? #6;"PRESS start TO":POSITION 5,8:? #6;"try again" 1060 IF PEEK(53279)<>6 THEN 1060 1070 GOTO 350 1080 REM ** Marriage Takes Place ** 1090 POKE 1622,93:FOR L=0 TO 6:FOR K=0 TO 3:POS=64*L+16*K:DD$(POS+1)="XXXXcdXXXXcdXXXX":NEXT K:NEXT L 1100 FOR J=1 TO 1000:NEXT J 1110 POKE 53277,0:FOR J=53261 TO 53264:POKE J,0:NEXT J:GRAPHICS 18:POSITION 3,3:? #6;"And They Lived" 1120 POSITION 1,4:? #6;"Happily Ever After":GOTO 1050 1130 REM * Change character set * 1140 DIM ZZ$(32):RESTORE 1150:FOR I=1 TO 32:READ A:ZZ$(I)=CHR$(A):NEXT I 1150 DATA 104,104,133,204,104,133,203,104,133,206,104,133,205,162,4,160,0 1160 DATA 177,203,145,205,136,208,249,230,204,230,206,202,208,240,96 1170 POKE 106,PEEK(106)-5:START=(PEEK(106)+1)*256 1180 A=USR(ADR(ZZ$),57344,START):RESTORE 1200:FOR I=START+512 TO START+807:READ A:POKE I,A:NEXT I 1190 RETURN 1200 DATA 0,0,0,0,0,0,0,170,0,63,58,57,58,63,63,170,0,252,172,108,172,252,252,170 1210 DATA 0,255,170,85,170,255,255,170,0,51,33,18,33,255,85,170,0,191,239,251,254,255,255,170 1220 DATA 0,255,215,215,215,190,235,170,0,254,251,239,191,255,255,170,0,1,32,184,32,12,3,16 1230 DATA 64,208,64,224,184,224,192,192,116,28,3,0,0,0,0,0,200,238,248,192,192,192,192,192 1240 DATA 0,0,0,0,2,2,3,3,0,0,0,0,128,128,192,192,13,55,219,222,223,55,13,3 1250 DATA 112,220,247,247,247,220,112,192,0,0,0,58,234,234,233,229,0,0,0,40,234,170,154,86 1260 DATA 233,233,57,58,58,14,14,13,86,90,90,104,104,160,160,128,0,3,12,48,192,192,48,12 1270 DATA 48,204,3,3,3,12,48,12,12,3,12,48,14,2,2,0,3,3,3,12,32,160,160,128 1280 DATA 0,0,0,0,0,0,0,0,233,181,173,183,222,122,94,107,2,10,2,4,16,16,4,1,128,160,128,16,4,4,16,64 1290 DATA 0,0,3,15,15,204,63,15,0,0,0,207,204,255,255,195,0,0,240,48,48,48,240,240 1300 DATA 0,0,84,5,17,5,1,5,0,0,21,80,68,80,64,80,17,65,1,4,4,20,0,0 1310 DATA 68,65,64,16,16,20,0,0,40,190,179,176,176,44,11,2,80,244,52,52,52,208,64,0 1320 REM ** VBI Routine ** 1330 DIM VBI$(75):RESTORE 1340:FOR J=1 TO 75:READ A:VBI$(J,J)=CHR$(A):NEXT J:VBI=ADR(VBI$):RETURN 1340 DATA 216,162,0,160,0,222,240,6,16,42,189,224,6,157,240,6,189,232,6,240,10,24 1350 DATA 173,255,6,125,248,6,141,255,6,24,185,16,6,125,216,6,153,16,6,221,208,6,208,6 1360 DATA 189,200,6,153,16,6,200,200,200,232,224,7,144,201,173,255,6,141,0,208,32,57,6,32,88,6,76,98,228 1370 REM ** Display List in Page 6 ** 1380 RESTORE 1390:FOR J=1536 TO 1679:READ A:POKE J,A:NEXT J 1390 DATA 112,112,112,70,0,0,68,20,0,68,60,0,69,100,0,69,0,0,69,80,0,69,128,0,69,208,0,69,0,0,69,80,0 1400 DATA 69,128,0,69,140,0,68,180,0 1410 DATA 68,0,0,70,40,0,65,0,6 1420 DATA 0,0,0,0,0,0,172,55,6,240,23,206,56,6,16,18,177,208,141,6,210,200 1430 DATA 177,208,240,5,141,56,6,200,152,141,55,6,96 1440 DATA 0,0,172,86,6,240,40,206,87,6,48,17,169,13,205,87,6,144,3,173,87,6,9,160,141,5,210,208,18,177,208 1450 DATA 141,4,210,200,177,208,240,5,141,87,6,200,152,141,86,6,96,104,160,0,162,0,169,7,76,92,228 1460 RESTORE 1470:FOR J=1541 TO 1583 STEP 3:READ A:POKE J,HI+A:NEXT J 1470 DATA 2,2,2,2,0,0,0,0,1,1,1,2,2,3,3 1480 RESTORE 1490:FOR J=1736 TO 1791:READ A:POKE J,A:NEXT J 1490 DATA 0,80,128,208,0,80,128,0,16,64,144,192,16,64,144,0,1,255,1,255,1,255,1,0 1500 DATA 20,12,9,12,15,18,21,0,0,0,0,0,0,0,0,0,20,12,9,12,15,18,21,0,252,4,252,4,252,4,252,120 1510 HV=INT(VBI/256):POKE 1674,HV:POKE 1672,VBI-256*HV 1520 RETURN 1525 REM ** PM Images ** 1530 RESTORE 1540:FOR J=1 TO 12:READ A:CR$(J,J)=CHR$(A):NEXT J 1540 DATA 231,60,90,60,24,60,90,153,24,36,36,102 1550 RESTORE 1560:FOR J=1 TO 12:READ A:CRJ$(J,J)=CHR$(A):NEXT J 1560 DATA 66,36,60,90,60,153,126,24,24,60,66,195 1570 BL$(1)=CHR$(0):BL$(13)=CHR$(0):BL$(2)=BL$ 1580 RESTORE 1590:FOR J=1 TO 12:READ A:CRF1$(J,J)=CHR$(A):NEXT J 1590 DATA 195,36,60,90,60,25,62,88,156,36,38,96 1600 RESTORE 1610:FOR J=1 TO 12:READ A:CRF2$(J,J)=CHR$(A):NEXT J 1610 DATA 195,36,60,90,60,152,124,26,57,36,100,6 1620 RESTORE 1630:FOR J=1 TO 12:READ A:CRM$(J,J)=CHR$(A):NEXT J 1630 DATA 66,165,60,90,36,24,126,153,60,126,36,102 1640 RESTORE 1650:FOR J=1 TO 12:READ A:HT1$(J,J)=CHR$(A):NEXT J 1650 DATA 0,216,248,248,112,32,0,27,31,31,14,4 1660 RESTORE 1670:FOR J=1 TO 12:READ A:HT2$(J,J)=CHR$(A):NEXT J 1670 DATA 0,27,31,31,14,4,0,216,248,248,112,32 1680 RESTORE 1690:FOR J=1 TO 12:READ A:CUR$(J,J)=CHR$(A):NEXT J 1690 DATA 68,238,254,254,254,254,254,124,124,56,56,16 1700 REM ** PM Init. ** 1710 P0$(1)=CHR$(0):P0$(256)=CHR$(0):P0$(2)=P0$:YPOS=187:P0$(YPOS)=CR$ 1720 P1$(1)=CHR$(0):P1$(256)=CHR$(0):P1$(2)=P1$:P2$(1)=CHR$(0):P2$(256)=CHR$(0):P2$(2)=P2$ 1730 P3$(1)=CHR$(0):P3$(256)=CHR$(0):P3$(2)=P3$:P1$(60)=CRM$:P2$(44)=CR$:JPOS=100:DELJ=3:RTLJ=200:LLJ=50:DELTA=6 1740 POKE 54279,HI:POKE 559,62:POKE 53277,3:POKE 53248,120:POKE 704,116:POKE 53249,126:POKE 705,92 1750 POKE 53250,100:POKE 706,20:POKE 707,0:POKE 623,1 1760 RETURN 1770 REM ** Packages on Belts ** 1780 DD$(1)="@":DD$(448)="@":DD$(2)=DD$ 1790 FOR J=1760 TO 1766:SPEED=RND(0)*(9-DIF)*4+(7-DIF):IF DIF>3 THEN SPEED=SPEED*1.8 1792 POKE J,SPEED:NEXT J 1800 FOR L=0 TO 6:RESTORE 1850+10*L:READ F$:FOR K=0 TO 3 1810 POS=64*L+16*K:DD$(POS+1)=F$ 1820 IF DIF>3 THEN DD$(POS+9)=F$ 1840 NEXT K:NEXT L:RETURN 1845 REM ** CHAR. IN 1860,1880 & 1900 ARE INVERSE ** 1850 DATA ACB 1860 DATA 1870 DATA DDD 1880 DATA 1890 DATA EFG 1900 DATA 1910 DATA EFG
References
Listing downloads
Copyright holder
