home *** CD-ROM | disk | FTP | other *** search
- REM CAESAR A SAR BRIEFING-DEBRIEFING PROGRAM
- REM WRITTEN IN BASIC-E FOR CPM VERSION 1.33 REV 0
- REM OPTIMUM EQUIPMENT- VIDEO TERMINAL, PRINTER WITH FORMFEED
- REM PROGRAM REQUIRES 32K RAM CP/M SYSTEM WITH SINGLE DISC DRIVE
- REM SPECIAL EQUIPMENT-COMPTEK REAL TIME CLOCK ADDRESSED TO PORTS A9-AF
- REM PRESENTLY LIMITED TO 50 SORTIES
- REM
- REM WRITTEN BY CAPTAIN R. A. GREGOIRE CAP PAWG GROUP 30
- REM
- REM
- REM LEGEND:
- REM M$(X,Y) = TEMP RAM STORAGE FOR MISSION SCENNARIO
- REM FILE FL$(160)=BLOCKED DISC FILE HOLDING FLIGHT LOG
- REM FILE MQ$=UNBLOCKED DISC FILE HOLDING MISSION SCENARIO QUERIES
- REM FILE MD$=UNBLOCKED DISC FILE HOLDING MISSION SCENARIO
- REM FILE BD$(500)=BLOCKED DISC FILE,1 SORTIE BRIEFING PER RECORD
- REM FILE BQ$=UNBLOCKED DISC FILE HOLDING BRIEFING QUERIES(IE"SARQB.DAT")
- REM FILE DQ$=UNBLOCKED DISC FILE HOLDING DEBRIEFING QUERIES
- REM FILE DD$(500)=BLOCKED DISC FILE,1 SORTIE DEBRIEFING PER RECORD
- REM Q$(X) = TEMP RAM STORAGE FOR CURRENT SORTIE QUERIES
- REM D$(X) = TEMP RAM STORAGE FOR CURRENT SORTIE DATUM
- REM BR(X) = IDENTIFIES SORTIES THAT HAVE BEEN BRIEFED
- REM DR(X) = IDENTIFIES SORTIES THAT HAVE BEEN DEBRIEFED
- REM T(1) = ETD = BRIEFING TIME + 15 MINUTES
- REM TM = MILITARY TIME EG. 1430 HRS
- REM TD = DECIMAL TIME EG. 14.5 HRS
- REM C = COMMAND #
- REM F = FLITE LOG FLAG (1=ALL SORTIES;0=ACTIVE SORTIES ONLY)
- REM S = SORTIE #
- REM B1= # OF LAST SORTIE BRIEFED
- REM W,X,Y,Z,A$,B$,C$ = DUMMY VARIABLE
- REM CHR$(25) OR CONTROL 'Y' = CLEARS VIDEO TERMINAL SCREEN
- REM CHR$(12) OR CONTROL 'K' = FORMFEED FOR PRINTER
- REM
- REM ---------------------------------------------------------------------
- REM SEQUENCE OF DATA FOR FL#(160)
- REM RECORD 1---MISSION #,BASE LOC,DATE
- REM RECORD 2UP-SORTIE #,$A/C#,$PILOT,$A/C TYPE,$FUEL,ETD,ATD,ETE,ETA,ATA
- REM ,TOT,$AREA NB:ETD,ATD,ETA,ATA=MIL.HRS ETE,TOT=DEC.HRS
- REM
- REM SEQUENCE OF DATA FOR BD$(500) NOTE:ALL DATA IS STRING VARIABLES
- REM SORTIE #,PILOT,HOME,PHONE,COPILOT,OBS 1,OBS 2,OBS 3,A/C #,A/C TYPE,
- REM COLOR,FUEL,CRUISE,A/C BASE,EQUIP,CALLSIGN,ASSIGNED AREA,PATTERN,
- REM ALT OF SEARCH,,ENROUTE ALT,DEPT AIRPORT,DEST AIRPORT,ALTERNATE,
- REM ETE,ETD,ETA,TIME OF BRIEFING
- REM
- REM SEQUENCE OF DATA FOR DD$(500) NOTE:ALL DATA IS STRING VARIABLES
- REM SORTIE#,PILOT,COPILOT,OBS1,OBS2,OBS3,A/C#,AREA ASSIGNED,ACTUAL AREA,
- REM VISIBIL,TERRAIN,ALTITUDE,TIME OF DAY,AIRSPEED,SEARCH AREA TIME,
- REM SPACING,% AREA COVERED,VISUAL?,ELT?,WEATHER,FALSE SIGHTINGS,
- REM LEADS,POD,ATD,ATA,TOTAL SORTIE TIME,TIME OF DEBRIEFING
- REM
- REM ---------------------------------------------------------------------
- REM
- REM HOUSEKEEPING ROUTINES
- REM
- PRINT CHR$(25);"THIS IS CAESAR A SAR BRIEFING-DEBRIEFING PROGRAM"
- INPUT "WHAT IS THIS MISSION # [7AN]";A$:DD$=A$+".DD":DQ$="CAESAR.DQ"
- BD$=A$+".BD":BQ$="CAESAR.BQ":MQ$="CAESAR.MQ":MD$=A$+".MD":FL$=A$+".FL"
- DIM Q$(26),D$(26),M$(6,10),BR(50),DR(50),T(7)
- BR(0)=1 REM SET INITIALLY FOR LINE 9 MINUS 6
- DEF FNA(X)=100*INT(X)+60*(X-INT(X)) REM FUNCTION FNA CHANGES TD->TM
- DEF FNB(X)=INT(X/100)+(X-100*(INT(X/100)))/60 REM FNB CHANGES TM->TD
- FILE BD$(500),DD$(500) REM WHICH SORTIES HAVE BEEN BRIEFED
- IF END #1 THEN 2
- FOR X=1 TO 50 REM READ IN THE BR( ) ARRAY
- READ #1,X;A$:BR(X)=X
- NEXT X
- 2 B1=X-1 REM SET # OF LAST BRIEFED SORTIE
- FOR Y=1 TO B1 REM WHICH SORTIES HAVE BEEN DEBRIEFED? DR( ) ARRAY
- IF END #2 THEN 3
- READ #2,Y;A$
- IF A$<>"" THEN DR(Y)=Y
- 3 NEXT Y
- CLOSE(2):CLOSE(1)
- 4 GOSUB 700 REM CHECK TIME
- REM
- REM ---------------------------------------------------------------------
- REM
- REM COMMAND ROUTINE FOLLOWS
- REM
- 5 PRINT "FRE=";FRE,CHR$(12), CHR$(25)
- GOSUB 830 REM CLEAR ALL VARIABLES
- 6 PRINT:PRINT "THE FOLLOWING COMMANDS ARE AVAILABLE:":PRINT
- PRINT"INITIATE";TAB(15);"UPDATE";TAB(45);"PRINT"
- PRINT"---------";TAB(15);"------";TAB(45);"-----"
- PRINT"1.SCENNARIO";TAB(15);"2.SCENNARIO";TAB(45);"3.SORTIE SUMMARY"
- PRINT"4.BRIEFING";TAB(15);"5.BRIEFING";TAB(45);"6.BRIEFING"
- PRINT"7.DEBRIEFING";TAB(15);"8.DEBRIEFING";TAB(45);"9.DEBRIEFING"
- PRINT "10.TIME";TAB(15);"11.FLITE LOG(ALL SORTIES)";\
- TAB(45);"12.FLIGHT LOG(ALL SORTIES)"
- PRINT TAB(15);"13.FLITE LOG(ACTIVE SORTIES)";\
- TAB(45);"14.FLIGHT LOG(ACTIVE SORTIES)"
- PRINT:PRINT "THE FOLLOWING SORTIES HAVE BEEN BRIEFED:"
- FOR X=1 TO 50:PRINT BR(X);
- IF X=25 THEN PRINT
- NEXT X:PRINT
- PRINT:PRINT "THE FOLLOWING SORTIES HAVE BEEN DEBRIEFED:"
- FOR X=1 TO 50:PRINT DR(X);
- IF X=25 THEN PRINT
- NEXT X:PRINT
- GOSUB 750:PRINT "COMPUTER TIME= ";TM,"REMAINING MEMORY=";FRE:PRINT
- PRINT:INPUT "TYPE THE COMMAND NUMBER PLEASE";C
- IF C<1 OR C>14 OR C<>INT(C) THEN GOTO 6
- IF C=11 OR C=12 THEN F=1 ELSE F=0
- IF C<4 OR C>9 THEN GOTO 9 REM NO SORTIE # IS REQUIRED
- INPUT "WHAT IS THE SORTIE NUMBER";S
- IF S<1 OR S>50 OR S<>INT(S) THEN GOTO 6
- IF C=4 AND (BR(S)=S OR BR(S-1)=0) THEN \
- PRINT"THE NEXT SORTIE TO BE BRIEFED IS # ";B1+1:GOTO 6
- IF (C=8 OR C=9) AND DR(S)=0 THEN \
- PRINT "YOU HAVE NOT YET DEBRIEFED THAT SORTIE":GOTO 6
- IF BR(S)=0 AND (C=5 OR C=6 OR C=7) THEN \
- PRINT"YOU HAVE NOT YET BRIEFED THAT SORTIE":GOTO 6
- 9 ON C GOSUB 10,30,350,100,150,400,200,250,500,700,300,600,300,600
- GOTO 5 REM COMMON RETURN POINT FOR ALL SUBROUTINES
- REM
- REM ---------------------------------------------------------------------
- REM
- REM SCENARIO INPUT ROUTINE FOLLOWS
- REM
- 10 PRINT CHR$(12);CHR$(25);"THIS IS THE MISSION SCENNARIO ROUTINE"
- FILE MD$,MQ$
- IF END #1 THEN 15
- IF END #2 THEN 15
- FOR Y=0 TO 6:PRINT:PRINT
- FOR X=0 TO 10:READ #2;Q$(X):NEXT X
- PRINT Q$(0):FOR X=1 TO 9:PRINT Q$(X);:INPUT M$(Y,X):NEXT X
- GOSUB 750:M$(Y,10)=STR$(TM):NEXT Y
- FOR Y=0 TO 6:FOR X=1 TO 10:PRINT #1;M$(Y,X):NEXT X:NEXT Y
- 15 CLOSE(2):CLOSE(1) REM REWIND UNBLOCKED FILES
- REM
- REM ---------------------------------------------------------------------
- REM
- REM SCENARIO VERIFICATION ROUTINE FOLLOWS
- REM
- 30 PRINT CHR$(12);CHR$(25);"THIS IS THE SCENARIO CORRECTION ROUTINE"
- FILE MD$,MQ$
- IF END #1 THEN 48
- IF END #2 THEN 48
- FOR Y=0 TO 6:PRINT:PRINT
- FOR X=0 TO 10:READ #2;Q$(X):NEXT X
- FOR X=1 TO 10:READ #1;M$(Y,X):NEXT X
- 35 PRINT Q$(0)
- FOR X=1 TO 10:PRINT X;". ";MID$(Q$(X),13,80);"=";M$(Y,X):NEXT X
- 40 PRINT:INPUT "IS THAT OK ? TYPE YES OR THE # OF THE INCORRECT ENTRY";A$
- IF LEFT$(A$,1)="Y" THEN GOTO 45 ELSE W=VAL(A$)
- IF W<1 OR W>9 OR W<>INT(W) THEN GOTO 40
- PRINT Q$(0):PRINT Q$(W);:INPUT M$(Y,W):PRINT
- GOSUB 750:M$(Y,10)=STR$(TM):GOTO 35
- 45 NEXT Y:CLOSE(2):CLOSE(1):FILE MD$,FL$(160) REM FILE MD$ REWIND
- PRINT #2,1;M$(0,1),M$(0,3),M$(0,2)
- FOR Y=0 TO 6:FOR X=1 TO 10:PRINT #1;M$(Y,X):NEXT X:NEXT Y
- 48 CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM BRIEFING ROUTINE FOLLOWS
- REM
- 100 FILE BD$(500),BQ$,FL$(160),DD$(500)
- BR(S)=S:D$(0)=STR$(S):B1=S
- GOSUB 810 REM GET QUERIES FROM FILE BQ$
- GOSUB 815 REM GET INPUT ANSWERS FOR FILE BD$
- PRINT #4,S;A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$,A$, \
- A$,A$,A$,A$,A$,A$,A$ REM DUMMY IN THE DD$ FILE
- CLOSE(4)
- GOTO 160 REM GOTO BRIEFING VERIFICATION SUBROUTINE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM BRIEFING VERIFICATION FOLLOWS
- REM
- 150 FILE BD$(500),BQ$,FL$(160)
- GOSUB 810 REM GET QUERIES
- GOSUB 800 REM READ FILE BD$
- 160 Y=1 :GOSUB 825 REM CHECK #1-13 ANSWERS
- Y=14:GOSUB 825 REM CHECK #14-26 ANSWERS
- PRINT #3,S+1;S,D$(8),D$(1),D$(9),D$(11),T(1),T(2),T(3),T(4),T(5),T(6),D$(16)
- GOSUB 802 REM PRINT FILE BD$
- 190 CLOSE(3):CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM DEBRIEFING INTERROGATION ROUTINE
- REM
- 200 PRINT CHR$(12);CHR$(25)
- FILE DD$(500),DQ$,BD$(500)
- IF END #3 THEN 290
- READ #3,S;A$,D$(1),A$,A$,D$(2),D$(3),D$(4),D$(5),D$(6), \
- B$,A$,C$,A$,A$,A$,A$,D$(7)
- PRINT "FOR SORTIE NO. ";S;"THE PILOT WAS ";D$(1); \
- " AND THE AIRCRAFT WAS ";D$(6)
- INPUT "IS THAT WHOM YOU ARE NOW DEBRIEFING";A$
- IF LEFT$(A$,1)<>"Y" THEN GOTO 290
- CLOSE(3):FILE FL$(160) REM FL$=FILE #3
- D$(0)=STR$(S):DR(S)=S
- GOSUB 750:D$(26)=STR$(TM) REM GET TIME
- READ #3,S+1;X,A$,A$,A$,A$,T(1),T(2),T(3),T(4),T(5),T(6),A$
- GOSUB 835 REM GET ATD,ATA FROM FILE FL$
- GOSUB 810 REM GET QUERIES FROM FILE DQ$
- GOSUB 815 REM GET ANSWERS FOR FILE DD$
- GOTO 260 REM GOTO DEBRIEFING VERIFICATION SUBROUTINE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM DEBRIEFING VERIFICATION ROUTINE FOLLOWS
- REM
- 250 FILE DD$(500),DQ$,FL$(160)
- GOSUB 810 REM GET QUERIES FROM FILE DQ$
- GOSUB 800 REM GET DATA FROM FILE DD$
- READ #3,S+1;X,A$,A$,B$,C$,T(1),T(2),T(3),T(4),T(5),T(6)
- GOSUB 835 REM GET ATD,ATA,TOT FROM FILE FL$
- 260 Y=1 :GOSUB 825 REM CHECK #1-13 ANSWERS
- Y=14:GOSUB 825 REM CHECK #14-26 ANSWERS
- PRINT #3,S+1;S,D$(6),D$(1),B$,C$,T(1),T(2),T(3),T(4),T(5),T(6),D$(8)
- GOSUB 802 REM PRINT FILE DD$
- 290 CLOSE(3):CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM
- REM ---------------------------------------------------------------------
- REM UPDATE THE FLIGHT OPERATIONS LOG
- REM
- 300 GOSUB 855:GOSUB 610:FILE FL$(160) REM CLEAR SCREEN AND PRINT FLIGHT LOG
- IF END #1 THEN 340
- 310 PRINT "1=ETD 2=ATD 3=ETE 4=ETA 5=ATA 6=NO ERROR"
- INPUT "TYPE THE SORTIE #,ERROR #,DATA ";W,Y,X
- IF Y>5 THEN CLOSE(1):RETURN REM ONLY EXIT POINT FOR THIS SUBROUTINE
- IF W>B1 THEN GOTO 310 REM SORTIE # MUST BE <LAST BRIEFED #
- READ #1,W+1;S,D$(8),D$(1),D$(9),D$(11),T(1),T(2),T(3),T(4),T(5),T(6),D$(16)
- T(Y)=X REM CORRECTED ENTRY
- IF T(2)<>0 THEN T(1)=T(2) REM IF ATD<>0 THEN ETA=ATD
- T(4)=FNA(FNB(T(1))+T(3)) REM RECALCULATE ETA
- IF T(4)>2400 THEN T(4)=T(4)-2400
- GOSUB 840 REM CALCULATE TOTAL SORTIE TIME
- PRINT #1,W+1;S,D$(8),D$(1),D$(9),D$(11),T(1),T(2),T(3),T(4),T(5),T(6),D$(16)
- 340 CLOSE(1):GOTO 300
- REM
- REM ---------------------------------------------------------------------
- REM
- REM PRINT THE DEBRIEFING SUMMARY REPORT
- REM
- 350 FILE MD$,DD$(500)
- IF END #1 THEN 395
- READ #1;M$(0,1),M$(0,2),M$(0,3)
- GOSUB 750 REM GET TIME
- GOSUB 850 REM TURN THE PRINTER ON
- PRINT "MISSION SUMMARY REPORT"
- PRINT "MISSION #: ";M$(0,1);TAB(50);"DATE: ";M$(0,2)
- PRINT "BASE: ";M$(0,3);TAB(50);"TIME: ";TM
- PRINT:GOSUB 870:GOSUB 870
- FOR S=1 TO B1 REM FROM SORTIE #1 TO LAST BRIEFED SORTIE
- IF END #2 THEN 390
- READ #2,S;D$(0),A$,A$,A$,A$,A$,A$,A$,D$(8),A$,A$,A$,A$,A$,D$(14),\
- A$,D$(16),D$(17),D$(18),A$,A$,D$(21),D$(22),A$,A$,D$(25)
- IF D$(0)="" THEN GOTO 390
- PRINT:PRINT "SORTIE #";D$(0);
- IF LEFT$(D$(17),1)="Y" THEN PRINT " VISUAL SEARCH";
- IF LEFT$(D$(18),1)="Y" THEN PRINT " ELT SEARCH";
- PRINT TAB(60);"POD(%): ";D$(22)
- PRINT " AREA:";LEFT$(D$(8),50);TAB(58);"% COVERED:";D$(16)
- PRINT " SEARCH TIME: ";D$(14);TAB(55);"SORTIE TIME: ";D$(25)
- PRINT " LEADS: ";D$(21)
- GOSUB 870 REM PRINT DIVIDER LINE *******->
- 390 NEXT S
- GOSUB 850 REM TURN PRINTER OFF
- 395 CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM-------------------------------------------------------------------
- REM
- REM PRINT BRIEFING FORM
- REM
- 400 FILE BD$(500),MD$
- IF END #1 THEN 470
- IF END #2 THEN 470
- GOSUB 800 REM BLOCK FILE READ ROUTINE
- FOR Y=0 TO 6:FOR X=1 TO 10:READ #2;M$(Y,X):NEXT X:NEXT Y
- PRINT "THIS IS THE BRIEFING PRINT ROUTINE:":PRINT
- GOSUB 850 REM TURN PRINTER ON
- PRINT "MISSION BRIEFING FORM:";TAB(50);"SORTIE NO. ";D$(0)
- PRINT "MISSION NUMBER: ";M$(0,1);TAB(50);"DATE: ";M$(0,2)
- PRINT TAB(50);"TIME(L): ";D$(26)
- GOSUB 870:GOSUB 870:PRINT "PERSONNEL:"
- PRINT TAB(3);"PILOT: ";D$(1);" OF ";D$(2);TAB(40);"PHONE: ";D$(3)
- PRINT TAB(3);"COPILOT: ";D$(4);TAB(40);"OBSERVER #1: ";D$(5)
- PRINT TAB(3);"OBSERVER #2: ";D$(6);TAB(40);"OBSERVER #3: ";D$(7)
- PRINT:GOSUB 870:PRINT "AIRCRAFT:"
- PRINT TAB(3);"N NUMBER: ";D$(8);TAB(40);"TYPE: ";D$(9)
- PRINT TAB(3);"COLOR: ";D$(10);TAB(40);"HOME AIRPORT: ";D$(13)
- PRINT TAB(3);"FUEL AVAILABLE (HRS): ";D$(11);
- PRINT TAB(40);"CRUISE SPEED (KNOTS): ";D$(12)
- PRINT TAB(3);"EQUIPMENT ON BOARD:";TAB(40);"CALLSIGN: ";D$(15)
- PRINT TAB(3);D$(14)
- PRINT
- PRINT "CONTROL BASE:"
- PRINT TAB(3);"LOCATION: ";M$(0,3);TAB(40);"PHONE: ";M$(0,4)
- PRINT TAB(3);"VHF CALLSIGN: ";M$(0,5);TAB(40);"MOBILE CALLSIGN: ";M$(0,6)
- PRINT TAB(3);"GROUND-AIR RADIO: ";M$(0,8);
- PRINT TAB(40);"26.620MHZ CALLSIGN: ";M$(0,7)
- PRINT:GOSUB 870:PRINT:PRINT "MISSION OBJECTIVE:"
- PRINT TAB(3);M$(0,9)
- PRINT
- PRINT "ASSIGNED SEARCH AREA:"
- PRINT TAB(3);"LOCATION: ";D$(16)
- PRINT TAB(3);"SEARCH PATTERN: ";D$(17);
- PRINT TAB(3);"ASSIGNED SEARCH ALTITUDE (FT AGL): ";D$(18)
- PRINT:GOSUB 870:PRINT:PRINT "FLIGHT INFORMATION:"
- PRINT TAB(3);"DEPARTS FROM: ";D$(20);TAB(40);"ETD(L): ";D$(24)
- PRINT TAB(3);"ARRIVES AT: ";D$(21);TAB(40);"ETA(L): ";D$(25)
- PRINT TAB(3);"ALTERNATE: ";D$(22);TAB(40);"ENROUTE ALTITUDE (FT): ";D$(19)
- PRINT
- GOSUB 870:PRINT:PRINT "AIRPORT INFORMATION:"
- PRINT TAB(3);"FBO NAME: ";M$(1,1);TAB(40);"APPROACH FREQ: ";M$(1,5)
- PRINT" FUEL AVAILABLE: ";M$(1,2);TAB(40);"CONTROL TOWER FREQ: ";M$(1,5)
- PRINT TAB(3);"FIELD ELEVATION: ";M$(1,3);TAB(40);"GROUND FREQ: ";M$(1,7)
- PRINT TAB(3);"A/C TIEDOWN: ";M$(1,4);TAB(40);"ACTIVE RUNWAY: ";M$(1,8)
- PRINT TAB(3);"ADDITIONAL COMMENTS: ";M$(1,9)
- GOSUB 860 REM PRINT SIGNATURE LINE+FORMFEED
- GOSUB 870:PRINT:PRINT TAB(28);"WEATHER CONDITIONS":PRINT:PRINT
- X=2:PRINT "LOCAL: ";:GOSUB 450
- X=3:PRINT "NORTH: ";:GOSUB 450
- X=4:PRINT "EAST: ";:GOSUB 450
- X=5:PRINT "SOUTH: ";:GOSUB 450
- X=6:PRINT "WEST: ";:GOSUB 450:GOTO 465
- 450 PRINT M$(X,1);" REPORTS AT ";M$(X,10);" HRS LOCAL"
- PRINT TAB(3);"CEILING(AGL): ";M$(X,2)
- PRINT TAB(3);"TEMP/DEW PT: ";M$(X,4);"/";M$(X,5);
- PRINT TAB(40);"WIND: ";M$(X,6);" DEG AT ";M$(X,7);" KNOTS"
- PRINT TAB(3);"BAROMETRIC PRESSURE: ";M$(X,8);
- PRINT TAB(40);"VISIBILITY(NM): ";M$(X,3)
- PRINT TAB(3);"SYNOPSIS+PROGNOSIS: ";M$(X,9)
- PRINT:PRINT:RETURN
- 465 GOSUB 850 REM TURN THE PRINTER OFF
- 470 CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM PRINT DEBRIEFING FORM
- REM
- 500 FILE DD$(500),MD$
- IF END #1 THEN 570
- IF END #2 THEN 570
- GOSUB 800 REM BLOCK FILE READ ROUTINE
- FOR X=1 TO 10:READ #2;M$(0,X):NEXT X
- PRINT "THIS IS THE DEBRIEFING PRINT ROUTINE:":PRINT:PRINT
- GOSUB 850 REM TURN PRINTER ON
- PRINT "MISSION DEBRIEFING FORM:";TAB(50);"SORTIE NO. ";D$(0)
- PRINT"MISSION NUMBER: ";M$(0,1);TAB(50);"DATE: ";M$(0,2)
- PRINT TAB(50);"TIME(L): ";D$(26)
- PRINT:GOSUB 870:GOSUB 870:PRINT
- PRINT "PERSONNEL:"
- PRINT TAB(3);"PILOT: ";D$(1);TAB(40);"COPILOT: ";D$(2)
- PRINT TAB(3);"OBSERVER #1: ";D$(3);TAB(40);"OBSERVER #2: ";D$(4)
- PRINT TAB(3);"OBSERVER #3: ";D$(5)
- PRINT:GOSUB 870:PRINT
- PRINT "CONTROL BASE: ";M$(0,3)
- PRINT
- PRINT "MISSION OBJECTIVE: ";M$(0,9)
- PRINT:GOSUB 870:PRINT
- PRINT "SEARCH AREA:"
- PRINT TAB(3);"LOCATION: ";D$(8);TAB(40);"POD (%): ";D$(22)
- PRINT TAB(3);"TERRAIN: ";D$(10);TAB(40);"VISIBILITY: ";D$(9)
- PRINT TAB(3);"ALTITUDE (FT): ";D$(11);TAB(40);"SEARCH TIME OF DAY: ";D$(12)
- PRINT TAB(3);"DEPARTURE TIME(L):";D$(23);TAB(40);"ARRIVAL TIME(L):";D$(24)
- PRINT TAB(3);"AIR SPEED: ";D$(13);TAB(40);"% COVERED: ";D$(16)
- PRINT TAB(3);"SEARCH TIME: ";D$(14);TAB(40);"TOTAL SORTIE TIME: ";D$(25)
- PRINT TAB(3);"ELT MONITORED: ";D$(18);TAB(40);"VISUAL SEARCH: ";D$(17)
- PRINT TAB(3);"SEARCH AREA WEATHER: ";D$(19)
- PRINT
- PRINT "FALSE SIGHTINGS (NUMBER) = ";D$(20)
- PRINT:GOSUB 870:PRINT:PRINT "LEADS AND SUMMARY:"
- PRINT TAB(3);D$(21)
- GOSUB 860 REM PRINT SIGNATURE LINE+FORMFEED
- GOSUB 850 REM TURN PRINTER OFF
- 570 CLOSE(2):CLOSE(1):RETURN REM EXIT TO COMMAND MENUE
- REM
- REM ---------------------------------------------------------------------
- REM
- REM THIS IS THE FLIGHT OPERATIONS LOG PRINT ROUTINE
- REM
- 600 PRINT "THIS IS THE FLIGHT OPERATIONS LOG PRINT ROUTINE":PRINT
- GOSUB 850 REM TURN PRINTER ON
- GOSUB 610 REM PRINT LOG
- GOSUB 850 REM TURN PRINTER OFF
- RETURN REM EXIT TO COMMAND MENUE
- REM
- REM --------ACTUAL PRINT SUBROUTINE FOLLOWS------------------------------
- REM
- 610 FILE FL$(160)
- IF END #1 THEN 640
- READ #1,1;D$(1),D$(3),D$(2)
- PRINT TAB(20);"FLIGHT OPERATIONS LOG ";
- IF F=1 THEN PRINT "FOR ALL SORTIES" ELSE PRINT "FOR ACTIVE SORTIES"
- PRINT "MISSION #: ";LEFT$(D$(1),13);
- PRINT TAB(24);"BASE: ";LEFT$(D$(3),22);
- PRINT TAB(53);"DATE: ";LEFT$(D$(2),18):PRINT
- 620 PRINT "# A/C PILOT'S A/C TYPE FUEL ETD ATD ";
- PRINT "ETE ETA ATA TOT AREA ASSIGNED"
- PRINT TAB(4);"N#";TAB(11);"NAME";
- PRINT TAB(29);"HRS HRS HRS HRS HRS HRS HRS"
- REM PRINT THE DATA
- PRINT:FOR X=1 TO B1 REM FOR SORTIE #1 TO LAST BRIEFED SORTIE
- READ #1,X+1;S,D$(8),D$(1),D$(9),D$(11),T(1),T(2),T(3),T(4),T(5),T(6),D$(16)
- IF F=0 AND T(5)<>0 THEN GOTO 635
- PRINT LEFT$(STR$(S),2);TAB(4);LEFT$(D$(8),5);TAB(10);
- PRINT LEFT$(D$(1),9);TAB(20);LEFT$(D$(9),8);
- PRINT TAB(29);LEFT$(D$(11),4);
- PRINT TAB(34);LEFT$(STR$(T(1)),4);TAB(39);LEFT$(STR$(T(2)),4);
- PRINT TAB(44);LEFT$(STR$(T(3)),3);TAB(48);
- PRINT LEFT$(STR$(T(4)),4);TAB(53);LEFT$(STR$(T(5)),4);
- PRINT TAB(58);LEFT$(STR$(T(6)),3);
- PRINT TAB(62);LEFT$(D$(16),17)
- 635 NEXT X
- 640 CLOSE(1):RETURN
- REM
- REM ---------------------------------------------------------------------
- REM
- REM CHECK AND SET TIME ROUTINE
- 700 GOSUB 750:PRINT "COMPUTER TIME= ";TM:INPUT "OK";A$
- IF LEFT$(A$,1)="Y" THEN RETURN
- 710 OUT 169,0:INPUT "WHAT IS THE LOCAL 24 HR TIME [4 DIGITS REQUIRED]";A$
- IF LEN(A$)<>4 OR VAL(A$)>2359 THEN GOTO 710 ELSE PRINT "WAIT"
- FOR X=1 TO 4: T(X)=VAL(MID$(A$,X,1)):NEXT X: OUT 169,4
- 720 IF INP(175)=T(1) AND INP(174)=T(2) THEN OUT 169,0:GOTO 730
- GOTO 720
- 730 OUT 169,2
- 740 IF INP(173)=T(3) AND INP(169)=T(4) THEN OUT 169,0:GOTO 700
- GOTO 740
- REM
- REM READ SYSTEM CLOCK ROUTINE
- 750 FOR Z=0 TO 7:T(Z)=INP(168+Z):NEXT Z
- TM=1000*T(7)+100*T(6)+10*T(5)+T(1)
- TD=10*T(7)+T(6)+(INT(10*T(5)+T(1)))/60
- FOR Z=0 TO 7:T(Z)=0:NEXT Z
- RETURN
- REM
- REM ---------------------------------------------------------------------
- REM
- REM BLOCK FILE READ ROUTINES FOR BD$ AND DD$
- REM
- 800 READ #1,S;D$(0),D$(1),D$(2),D$(3),D$(4),D$(5),D$(6),D$(7),D$(8), \
- D$(9),D$(10),D$(11),D$(12),D$(13),D$(14),D$(15),D$(16),D$(17), \
- D$(18),D$(19),D$(20),D$(21),D$(22),D$(23),D$(24),D$(25),D$(26)
- RETURN
- REM
- 802 PRINT #1,S;D$(0),D$(1),D$(2),D$(3),D$(4),D$(5),D$(6),D$(7),D$(8), \
- D$(9),D$(10),D$(11),D$(12),D$(13),D$(14),D$(15),D$(16),D$(17), \
- D$(18),D$(19),D$(20),D$(21),D$(22),D$(23),D$(24),D$(25),D$(26)
- RETURN
- REM
- REM----------READ QUERIES SUBROUTINE FOR BD$+DD$ FILES----------
- REM
- 810 IF END #1 THEN 190
- IF END #2 THEN 190
- IF END #3 THEN 190
- PRINT CHR$(12);CHR$(25)
- FOR X=0 TO 26:READ #2;Q$(X):NEXT X
- RETURN
- REM
- REM----------GET ANSWERS SUBROUTINE FOR BD$+DD$ FILES----------
- REM
- 815 FOR X=0 TO 26:PRINT Q$(X);
- IF D$(X)<>"" THEN PRINT D$(X) ELSE INPUT D$(X)
- IF C=4 AND X=23 THEN GOSUB 820 REM FOR BD$ GEN ETD,ETE,ETA
- IF C=7 AND X=24 THEN GOSUB 838 REM GET D$(25),T(6),T(2),T(5)
- 817 NEXT X
- RETURN
- REM
- REM----------GET ETD,ETE,ETA SUBROUTINE FOR BD$ FILE----------
- REM
- 820 GOSUB 750:D$(26)=STR$(TM) REM TIME OF BRIEFING
- T(1)=FNA(TD+.25):D$(24)=STR$(T(1)) REM ETD
- 822 T(1)=VAL(D$(24)):T(3)=VAL(D$(23)) REM ETE
- T(4)=FNA(FNB(T(1))+T(3)) REM ETA
- IF T(4)>2400 THEN T(4)=T(4)-2400
- D$(25)=STR$(T(4))
- RETURN
- REM
- REM----------VERIFICATION SUBROUTINE FOR BD$+DD$ FILES----------
- REM
- 825 PRINT:FOR X=Y TO Y+12
- PRINT X;". ";MID$(Q$(X),13,80);"=";D$(X)
- NEXT X
- PRINT
- REM CHECK IF OK
- 828 INPUT"IS THIS OK? TYPE 'YES' OR THE # OF THE INCORRECT ENTRY";A$
- IF LEFT$(A$,1)="Y" THEN RETURN ELSE W=VAL(A$) REM ONLY EXIT
- IF W<Y OR W>Y+12 OR W<>INT(W) THEN GOTO 828
- PRINT Q$(W);:INPUT D$(W)
- IF (C=4 OR C=5) AND (W=23 OR W=24) THEN GOSUB 822
- IF (C=7 OR C=8) AND (W=23 OR W=24) THEN GOSUB 838
- GOTO 825
- REM
- REM----------CLEAR SUBROUTINE FOR ALL VARIABLES----------
- 830 FOR Y=0 TO 6:FOR X=0 TO 10:M$(Y,X)="":NEXT X:NEXT Y
- FOR X=0 TO 26:D$(X)="":Q$(X)="":NEXT X
- FOR Z=0 TO 7:T(Z)=0:NEXT Z
- A$="":B$="":C$=""
- RETURN
- REM
- REM----------ATA,ATD SUBROUTINE FOR DD$ FILE----------
- REM
- 835 IF T(2)<>0 THEN D$(23)=STR$(T(2)) ELSE D$(23)="" REM ATD
- IF T(5)<>0 THEN D$(24)=STR$(T(5)) ELSE D$(24)="" REM ATA
- IF T(6)<>0 THEN D$(25)=STR$(T(6)) ELSE D$(25)="" REM TOT
- RETURN
- REM
- REM---------- GET TOT FOR FILE FL$+DD$----------
- 838 T(2)=VAL(D$(23)):T(5)=VAL(D$(24))
- 840 IF T(5)<>0 AND T(2)<>0 THEN T(6)=.1*INT(10*(FNB(T(5))-FNB(T(2))))
- IF T(6)<0 THEN T(6)=T(6)+24
- D$(25)=STR$(T(6))
- RETURN
- REM
- REM ----------TURN PRINTER ON AND OFF----------
- REM
- 850 PRINT CHR$(12)
- INPUT "TYPE THE LETTER 'P' AND CONTROL 'P'";A$
- 855 PRINT CHR$(25),CHR$(12)
- RETURN
- REM
- REM ----------PRINT SIGNATURE LINE----------
- REM
- 860 PRINT:GOSUB 870:GOSUB 870:PRINT:PRINT
- B$="____________________"
- PRINT B$;TAB(25);B$;TAB(50);B$
- PRINT"BRIEF/DEBRIEF OFF";TAB(25);"PILOT/OBSERVER";TAB(50);"AIR OP OFFICER"
- PRINT CHR$(12)
- RETURN
- REM
- REM
- 870 PRINT "************************************************************"; \
- "***********"
- RETURN
-