10 REM ***************MAIN****************************** 20 BEEP:CLS:CLEAR 2000 30 GOSUB 120 :'SETUP 40 GOSUB 240 :'READBASE 50 GOSUB 310 :'GETINFO 60 GOSUB 830 :'GETDAT 70 IF TIME$=Q$ THEN GOSUB 830 :'WAIT 75 IF TIME$>Q$ THEN NT=VAL(RIGHT$(TIME$,2)):CLS:BEEP:PRINT:PRINT "OVERTIME ";NT: PRINT:INPUT "HIT RETURN AND ENTER 0 AS CONTEXT";A$:GOSUB 830 77 PRINT @135,TIME$ 80 IF N < SL THEN 70 90 GOSUB 1120 :'WAYOUT 100 END 110 REM ************SETUP******************************* 120 DEFINT A-Z: N=0: ST$="": Q$="00:" :SL=0: IL=0: DIM C1$(59) 130 XE=0: BC=0: PRINT 140 PRINT TAB(5); " >>>CZOO.BA V3<<<" 150 PRINT TAB(5); " WRITTEN BY ELIAS ROBLES" 160 PRINT TAB(5); "FOR THE JANE GOODALL INSTITUTE" 170 PRINT TAB(5); " MARCH 1989. 175 PRINT TAB(5); "(REVISED M.A. CLARK MARCH 1990)" 180 PRINT: PRINT " PRESS ANY KEY TO CONTINUE..." 190 IF INKEY$="" THEN 190 200 CLS 210 BEEP: PRINT "PLEASE WAIT..." 220 RETURN 230 REM ************READBASE**************************** 240 OPEN "RAM:NEWBEH.DO" FOR INPUT AS 1 250 FOR I = 1 TO 59 260 INPUT# 1, C1$(I) 270 NEXT I 280 CLOSE 290 RETURN 300 REM *************HEADERINFO************************* 310 CLS: BEEP: PRINT @ 120, "ENTER ALL DATA IN CAPITAL LETTERS":PRINT 320 KT=0:HD$="":INPUT "CODE OF THE OBSERVER: ";A$: HD$=HD$+A$+"," 330 IF ASC(LEFT$(A$,1))<65 OR ASC(LEFT$(A$,1))>90 THEN HD$="":GOTO 310 340 INPUT "CODE OF THE FACILITY: ";A$: HD$=HD$+A$+"," 345 INPUT "(I)NDOOR / (O)UTDOOR EXHIBIT: ";A$: HD$=HD$+A$+"," 350 INPUT "TEMPERATURE (F): ";A$: HD$=HD$+A$+"," 360 INPUT "CLOUDY (Y/N): ";A$: HD$=HD$+A$+"," 370 INPUT "WINDY (Y/N): ";A$: HD$=HD$+A$+"," 380 INPUT "PRECIPITATION (Y/N): ";A$: HD$=HD$+A$+"," 390 INPUT "CROWD SIZE (S/M/L): ";A$: HD$=HD$+A$+"," 400 INPUT "CROWD DISTRACTION CODE (L/M/H): ";A$: HD$=HD$+A$+"," 410 PRINT:INPUT "CODE OF THE TARGET: ";TG$ 420 IF ASC(LEFT$(TG$,1))<65 THEN BEEP:PRINT "***NAME ERROR***":GOTO 410 430 HD$=HD$+TG$+"," 435 PRINT:PRINT "IF SAMEDAY FILE FOR THIS TARGET":INPUT "IS ON THE COMPUTER, ENTER 'Y': ";RP$ 436 PRINT:IF RP$="Y" THEN INPUT "NUMBER OF THIS OBSERVATION:";NB$ 440 PRINT:KT=0:INPUT "NUMBER OF CHIMPS: ";A$: HD$=HD$+A$+",":NI=VAL(A$) 450 INPUT "NUMBER OF ADULT FEMALES: ";A$: HD$=HD$+A$+"," :KT=KT+VAL(A$) 460 IF VAL(A$)<1 THEN 520 470 FOR I=1 TO VAL(A$) 480 PRINT "CODE OF FEMALE#";I;: INPUT A$: HD$=HD$+A$+"," 490 PRINT "CYCLE STATE OF FEMALE#";I;: INPUT A$: HD$=HD$+A$+"," 500 PRINT "REPRODUCTIVE STATUS (L/P/B/N) OF FEMALE#";I;: INPUT A$: HD$=HD$+A$+"," 510 NEXT I 520 INPUT "NUMBER OF IMMATURE FEMALES: ";A$: HD$=HD$+A$+",":KT=KT+VAL(A$) 530 INPUT "NUMBER OF ADULT MALES: ";A$: HD$=HD$+A$+",":KT=KT+VAL(A$) 540 INPUT "NUMBER OF IMMATURE MALES: ";A$: HD$=HD$+A$+",":KT=KT+VAL(A$) 550 IF KT<>NI THEN BEEP:PRINT "***ERROR: # OF CHIMPS***":GOTO 440 560 ON ERROR GOTO 1230 570 PRINT:INPUT "ENTER CORRECT DATE (MM/DD/YY)";D$:DATE$=D$ 580 HD$=HD$+DATE$+"," 590 ON ERROR GOTO 1240 600 INPUT "ENTER CORRECT TIME (HH:MM:SS)";D$ 610 TIME$=D$ 620 ON ERROR GOTO 0 630 INPUT "INTERVAL LENGTH IN SECONDS: ";IL :HD$=HD$+STR$(IL)+"," 640 MM=INT(IL/60):SS=IL-(MM*60) 650 IF LEN(STR$(MM))=2 THEN Q$=Q$+"0"+RIGHT$(STR$(MM),1) 660 IF LEN(STR$(MM))=3 THEN Q$=Q$+RIGHT$(STR$(MM),2) 670 IF LEN(STR$(SS))=2 THEN Q$=Q$+":0"+RIGHT$(STR$(SS),1) 680 IF LEN(STR$(SS))=3 THEN Q$=Q$+":"+RIGHT$(STR$(SS),2) 690 INPUT "SESSION LENGTH IN MINUTES: ";SL 700 SL=INT((SL*60)/IL): HD$=HD$+STR$(SL)+"," 710 BEEP: CLS: PRINT "THE TIME IS NOW ";TIME$: PRINT:PRINT 720 INPUT "STARTING TIME (HH:MM:SS): ";ST$:OBS$=LEFT$(ST$,2)+MID$(ST$,4,2)+RIGHT$(ST$,2) 730 IF ST$="Y" THEN OG$="*": GOTO 910 908 OG$="^" 910 PRINT:NT$="":DF$="":LT$="*":SP$="****":PO$="**":INPUT "BEHAVIOR: ";BE$ 920 IF BE$="0" THEN 1080 930 FOR I = 1 TO 59 940 IF BE$=LEFT$(C1$(I),4) THEN DF$=C1$(I) 950 NEXT I 955 IF MID$(DF$,14,1)<> "1" THEN BE$=BE$+"*": GOTO 960 957 GOSUB 2000:'SUBWAY 960 CT$=MID$(DF$,5,6) 970 IF INSTR(CT$,TX$)=0 AND DF$<>"" THEN XE=XE+1 980 IF INSTR(CT$,TX$)<>0 AND DF$<>"" THEN 1020 990 IF DF$="" THEN BC=BC+1 :BEEP: PRINT "***TYPO***":GOTO 910 1000 BEEP:CLS: PRINT "***WRONG CONTEXT***": PRINT 1010 GOTO 840 1020 IF MID$(DF$,11,1)="1" THEN PRINT "LATERALITY: ":INPUT "(L)EFT/(R)IGHT/(B)OTH/(N)EITHER: ";LT$ 1025 IF MID$(DF$,11,1)="1" AND LT$<>"L" AND LT$<>"R" AND LT$<> "B" AND LT$<>"N" THEN 1020 1030 IF MID$(DF$,12,1)="1" THEN INPUT "SOCIAL PARTNER CODE: ";SP$ 1040 IF LEFT$(BE$,4)="DVUS" THEN INPUT "DEVICE CODE: "; SP$ 1045 IF LEFT$(BE$,4)="HOLD" THEN INPUT "OBJECT CODE: ";SP$ 1050 IF MID$(DF$,13,1)="1" THEN PRINT "DIRECTIONALITY: ": INPUT "<<(FOCAL)/>>(OTHER)/<>(MUTUAL): "; PO$ 1055 IF MID$(DF$,13,1)="1" AND PO$<>">>" AND PO$<>"<<" AND PO$<>"<>" THEN 1050 1060 DT$ = DT$+" *"+TX$+OG$+BE$+LT$+PO$+SP$ 1070 GOTO 910 1080 PRINT# 1, OBS$+DT$+NT$ 1085 ON ERROR GOTO 1110 1090 N=N+1:BEEP:CLS:PRINT @ 125,"TIMING...":PRINT " OBSERVATIONS COMPLETED: ";N: PRINT " OBSERVATIONS TO GO: ";SL-N 1095 OBS$=STR$(VAL(OBS$)+IL):GOSUB 7000 1105 RETURN 1110 REM ****************WAYOUT************************* 1120 PRINT# 1, XE;",";BC;",";MO 1130 CLS:CLOSE 1140 PRINT "SESSION IS OVER." 1150 PRINT "FILE ";OF$ 1160 PRINT "WAS WRITTEN SUCCESSFULLY" 1170 PRINT "NUMBER OF MIXED CONTEXTS: ";XE 1180 PRINT "NUMBER OF TYPOS: ";BC 1185 PRINT "MISSED OBSERVATIONS: ";MO 1190 PRINT "BYE....." 1200 BEEP:BEEP:BEEP 1205 IF INKEY$="" THEN 1205 1210 MENU 1220 REM ***************TRAPS*************************** 1230 BEEP: PRINT "SYNTAX ERROR":RESUME 570 1240 BEEP: PRINT "SYNTAX ERROR":RESUME 600 2000 REM ***********SUBWAY************** 2010 BEEP:CLS:PRINT "SPECIFY" 2015 IF BE$="ABOR" THEN GOSUB 3100 2017 IF BE$="APRO" THEN GOSUB 3010 2020 IF BE$="AGRD" THEN GOSUB 3200 2023 IF BE$="AVOD" THEN GOSUB 3300 2025 IF BE$="BEGG" THEN GOSUB 3400 2027 IF BE$="CART" THEN GOSUB 3500 2030 IF BE$="COPM" THEN GOSUB 3600 2033 IF BE$="CORT" THEN GOSUB 3700 2035 IF BE$="DRNK" THEN GOSUB 3800 2037 IF BE$="ELIM" THEN GOSUB 3900 2040 IF BE$="FOOD" THEN GOSUB 4000 2043 IF BE$="IDLE" THEN GOSUB 4100 2045 IF BE$="PLAY" THEN GOSUB 4200 2047 IF BE$="PSNT" THEN GOSUB 4300 2050 IF BE$="STND" THEN GOSUB 4400 2053 IF BE$="TOCH" THEN GOSUB 4500 2055 IF BE$="WALK" THEN GOSUB 4600 2060 IF BE$="VOCA" THEN GOSUB 4800 2090 BE$=BE$+SM$ 2095 RETURN 3000 REM *********SUBCATS********************** 3010 PRINT:INPUT "DID GREETING OCCUR? Y/N: ";A$ 3020 IF A$ = "Y" THEN SM$="G": INPUT "DIRECTIONALITY :";PO$:RETURN 3050 SM$="*":RETURN 3100 PRINT: PRINT " (C)OPROPHAGY" 3110 PRINT " (U)RINE DRINK" 3120 PRINT " REINGEST (V)OMIT" 3130 PRINT " (S)ELF-ORALITY" 3135 PRINT " (B)ITE SELF 3140 PRINT: INPUT "ENTER C/U/V/S/B): ";SM$ 3150 RETURN 3200 PRINT:PRINT " (A)ROUSAL (HAIR UP, COMPRESSED FACE"" 3220 PRINT " (I)NPLACE MOVEMENT (ROCK,SWAGGER)" 3230 PRINT " (E)XAGGERATED MOVEMENT (RAKE, KICK)" 3240 PRINT " (C)HARGE 3250 PRINT:INPUT "ENTER A/I/E/C: ";SM$ 3260 RETURN 3300 PRINT:PRINT " (M)OVE AWAY" 3310 PRINT " (C)REEP AWAY" 3320 PRINT " (F)LIGHT" 3340 PRINT:INPUT "ENTER M/C/F: ";SM$ 3350 RETURN 3400 PRINT:PRINT " (H)AND" 3410 PRINT " (M)OUTH" 3420 PRINT:INPUT "ENTER H/M: ";SM$ 3430 RETURN 3500 PRINT:PRINT " (D)ORSAL" 3510 PRINT " (V)ENTRAL" 3520 PRINT: INPUT "ENTER D/V: ";SM$ 3550 RETURN 3600 PRINT:PRINT " (D)ORSAL/VENTRAL" 3610 PRINT " (VENTRAL/VENTRAL" 3620 PRINT:INPUT "ENTER D/V/: ";SM$ 3650 RETURN 3700 PRINT:PRINT " GAZE (O)NLY" 3710 PRINT " (S)WAGGER" 3720 PRINT " (M)ALE INVITE" 3735 PRINT " (G)YMNASTIC DISPLAY 3740 PRINT " (L)EAD FEMALE" 3760 PRINT:INPUT "ENTER O/S/M/G/L: ";SM$ 3770 RETURN 3800 PRINT:PRINT " (H)AND" 3810 PRINT " (M)OUTH 3820 PRINT " (O)BJECT 3830 PRINT:INPUT "ENTER H/M/O: ";SM$ 3850 RETURN 3900 PRINT:PRINT " (U)RINATE" 3910 PRINT " (D)EFECATE" 3920 PRINT:INPUT "ENTER U/D: ";SM$ 3950 RETURN 4000 PRINT: PRINT " (H)AND": PRINT " (M)OUTH" 4010 PRINT " (B)BOTH HAND AND MOUTH" 4020 PRINT " (W)ADGE" 4030 PRINT:INPUT "ENTER H/M/B/W: ";SM$ 4050 RETURN 4100 PRINT: PRINT " (S)ITTING":PRINT " (R)ECLINING" 4110 PRINT: INPUT "ENTER S/R: ";SM$ 4130 IF TX$ <> "4" AND TX$<>"5" THEN CLS:RETURN 4140 CLS:PRINT:PRINT "IF FOCAL IS WITHIN TOUCHING DISTANCE OF" 4150 PRINT "ANOTHER CHIMP, IDENTIFY SOCIAL PARTNER:" 4170 INPUT SP$:RETURN 4200 PRINT: PRINT " (B)ITE" 4210 PRINT " (C)HASE" 4220 PRINT " (G)YMNASTIC" 4230 PRINT " (W)RESTLE, TICKLE,POKE" 4235 PRINT " (I)NFANT AGRESSIVE DISPLAY" 4240 PRINT: INPUT "ENTER B/C/G/W/I: ";SM$ 4250 RETURN 4300 PRINT:PRINT " S(O)CIAL" 4310 PRINT " SE(X)UAL" 4320 PRINT:INPUT "ENTER O/X: ";SM$ 4350 RETURN 4400 PRINT:PRINT " (B)IPEDAL" 4410 PRINT " (T)RIPEDAL" 4420 PRINT " (Q)UADRUPEDAL" 4430 PRINT:INPUT "ENTER B/T/Q: ";SM$ 4450 RETURN 4500 PRINT:PRINT " (F)ACE" 4510 PRINT " (B)0DY" 4520 PRINT:INPUT "ENTER F/B: ";SM$ 4550 RETURN 4600 PRINT:PRINT " (B)IPEDAL" 4610 PRINT " (T)RIPEDAL" 4620 PRINT " (Q)UADRUPEDAL" 4630 PRINT:INPUT "ENTER B/T/Q: ";SM$ 4640 IF TX$<>"4" AND TX$<>"5"THEN CLS:RETURN 4650 PRINT:PRINT "IS FOCAL FOLLOWING OR BEING FOLLOWED BY" 4651 INPUT "ANOTHER ANIMAL?: ENTER Y/N: ";A$ 4655 IF A$="N" THEN RETURN 4660 PRINT:INPUT "IDENTIFY SOCIAL PARTNER: ";SP$ 4670 PRINT: PRINT "INDICATE DIRECTIONALITY:" 4680 PRINT " (>>)FOCAL FOLLOWS OTHER" 4690 PRINT " (<<)OTHER FOLLOWS FOCAL" 4700 PRINT:INPUT "ENTER >>/<<: ";PO$ 4710 RETURN 4800 PRINT:PRINT " (W)HIMPER":PRINT " (B)ARK 4810 PRINT " (P)ANT-HOOT":PRINT " (S)CREAM" 4820 PRINT " (H)UU" 4830 PRINT:INPUT "ENTER W/B/P/S/H: ";SM$ 4850 RETURN 6000 REM *******************OBMISS************* 6010 MO = MO + 1 6020 DT$ = " OBMISS": DF$="": BE$="":LT$="":SP$="":PO$="" 6030 OBS$=STR$(VAL(OBS$)+(NT-IL)):GOSUB 7000:GOTO 1080 7000 REM ********************TIMEFIX*************** 7010 IF VAL(RIGHT$(OBS$,2))>59 THEN OBS$=STR$(VAL(OBS$)+40) 7020 IF VAL(MID$(OBS$,4,2))>59 THEN OBS$=STR$(VAL(OBS$)+4000) 7050 RETURN