' >>>>**** FACE-HARDENED ARMOR PENETRATION PROGRAM BY NATHAN OKUN ****<<<< ' >>>>**** VERSION 6.9 OF 4 MARCH 2012 ****<<<< ' >>>>**** 1ST PRINT & SUBPROGRAM MODULE "FH69SBM1.BAS" ****<<<< ' ' THE FOLLOWING MUST BE IDENTICAL AT TOP OF ALL MODULES OF THIS PROGRAM !! ' ' ' ** THE FOLLOWING SUBROUTINE IS IN MODULE "FH69SBM2.BAS" ** '**** DECLARE SUB FACECALC () '**** COMMON SHARED NATION, PROJ, ARMOR, SC, D, PENTP, OLDVALUE, NEWVALUE, CMT, VXP COMMON SHARED Q, QDAM, UB, CARTWL, CMPND, SOFTSHAT, THNCHL, MSHAT, CRTGD COMMON SHARED TA, UBMAN, UBCALC, TPCAL, THIN, YS, MTLBACK, TRUTHIN, PSHMAX COMMON SHARED TD, LCMOD, POLMOD, POIMOD, SHAT, CART, VS, OB, OBRAD, EX, EXRAD COMMON SHARED VLMT, VLSHAT, VLTRU, VITRU, TOTPLUGWT, NORMPLUGWT, DELTAPLUGWT COMMON SHARED UBSV, QSV, QDAMSV, CARTWLSV, CMPNDSV, THNCHLSV, SOFTSHATSV, HF COMMON SHARED CRITAGL, SHATRES, NSDAMAGL, BRAAK, APCAP, LTCASE, PLIM, PDAM COMMON SHARED ALD, BLD, CLD, AED, BED, CED, NDAP, BRK, NSBRK, BDYDM, BEND, WT COMMON SHARED BKEFF, PNL, PNI, PNLSHAT, CARDONALD, PNLPR, VHSHAT, PENFLG, VLND COMMON SHARED VDFSTD, VDFUSED, VDFSTDWW1, VDFSTDWW2, VSCRIT, CAPHD, OBCRIT, WB COMMON SHARED VHOL, WTSAVE, BRAIK, VDFBND, VDFBRK, MAXDIFF, SNCSMAX, OBDF, MO COMMON SHARED THKTHN, THKTHNSV, MINEV, MINEV1, MINEV2, MINEV3, MINEV4, MINEV5 COMMON SHARED NVRFLAG, MAXOB, THVAL, THSPD, HARD, WD, VHTRU, CRTAPR, MTMP, VR COMMON SHARED CURV, CRVRL, CRVFLAG, VRATMIN, VHEXREV, VLEXREV, VHDAM, VLDAM COMMON SHARED VRAT, VRATVEL, EXMIN, TMPOBDF, NSSHAT, VNPLUG, VDPLUG, VRSHATNS COMMON SHARED OB45, OB45CALC, VHSHATMAX, VLSHATMAX, CRITVEL, SHATVDF, NOTEFLAG COMMON SHARED VDFUSEDPR, VRPR, VHND, EXTH, OBRK, TCAL, NSTEST, NSTESTV, SAMPRJ COMMON SHARED OPRIMEL, OPRIMED, OBPRNT, EXPRNT, MTMPCR, MTMPNS, VCNT, FLAG COMMON SHARED WTSVPRNT, WTPRNT, WBPRNT, SOFTQPMAX, MINSHVEL, PENCONST#, TEFF COMMON SHARED SHATMULT, VTOTAL, UBFLAG, VDFHARVEY, SHATPRT, SAMEPLATE, VSCHECK COMMON SHARED NBL1$, NBL2$, NBL3$, NBL4$, NBL5$, NBL6$, NBL7$, RESNOTE$, PSL$ COMMON SHARED HBL1$, HBL2$, HBL3$, HBL4$, HBL5$, HBL6$, HBL7$, HBL8$, HBL9$, ND$ COMMON SHARED PAND$, FLAKE$, CAP$, REMV$, NOTE1$, NOTE2$, NOTE3$, NOTE4$, NOTE5$ COMMON SHARED BDYDM1$, BDYDM2$, BDYDM3$, NSBRK1$, NSBRK2$, NSBRK3$, BD1$, BD2$ COMMON SHARED BKPRT1$, BKPRT2$, BKPRT3$, BKPRT4$, BKPRT5$, CALC$, EBL$, EFFVEL$ COMMON SHARED HBLTONBL$, N1$, N2$, N3$, N4$, H1$, H2$, H3$, H4$, PRJ$, NATN$ COMMON SHARED VELLTRU$, VELLSHAT$, VELLSHATMAX$, VELLND$, EFFPRINT1$, BDYDM4$ COMMON SHARED VELHTRU$, VELHSHAT$, VELHSHATMAX$, VELHND$, EFFPRINT2$, BDYDM5$ COMMON SHARED YS$, PEN1$, PEN2$, WBL1$, WBL2$, WBL3$, WBL4$, VEL$, NOTE5A$ COMMON SHARED ONEPC$, RVU$, DPLG$, REMVEL$, BSNS1$, BSNS2$, BSNS3$, NOTE5B$ COMMON SHARED TWOVEL$, AMPER$, NOPLG$, PEN3$ DIM SHARED M(15), MS(17) COMMON M(), MS() ' ' ** END OF MODULE-LEVEL "FH69SBM1.BAS" CODE ** SUB ALLPROJDATA (NATN, PRJTL) ' 'SELECT PROJECTILE DATA FOR ALL NATIONS BEND = 0: ' CLEAR SPECIAL SHATTER-ONLY BENDING PROJECTILE FLAG (BRITISH POST-WWI CP/CPBC/SAP/SAPC/AP/APC) CARDONALD = 0: ' SPECIAL ROYAL ORDNANCE FACTORY IMPROVED WWII BRITISH APC PROJECTILES ON NATN GOSUB USPROJDATA, BRPROJDATA, GEPROJDATA, FRPROJDATA, ITPROJDATA, JAPPROJDATA, AHPROJDATA, RUPROJDATA EXIT SUB ' '*** PROJ PARAMETERS DEFINED: ''ALD', 'BLD', & 'CLD' MODIFY NBL FOR PLATE THICKNESS & OBLIQUITY DUE TO ' PROJ DAMAGE (0 = NOT USED). ''AED', 'BED', & 'CED' MODIFY 'EFFECTIVE' LIMIT (= PROJ FILLER & FUZE NOT ' DAMAGED BY IMPACT='FIT TO BURST') (NOTE THAT OTHER DAMAGE MAY OCCUR) ' (IF ANY ARE = -1 THEN THIS LOGIC IS NOT USED). ''CRITAGL' IS MAX DEFLECTION ANGLE ('OBDF') FOR SOME PROJ DESIGNS TO ' REMAIN 'EFFECTIVE'. DOES NOT AFFECT PLATE CAUSING DAMAGE. REPLACES ' 'AED/BED/CED' &, SOMETIMES, 'ALD/BLD/CLD' (0 = NOT USED) (FH ARMOR ' THICKNESS SEEMS TO HAVE NO EFFECT ON THESE PROJ, BUT HOMOGENEOUS ARMOR ' THICKNESS DOES). NEGATIVE VALUE IS MAXIMUM BRITISH 'BEND' LOGIC OBLIQUITY ' WHERE PROJ REMAINS UNBROKEN UNLESS, FOR 'CARDONALD' PROJ ONLY, STRIKING ' VEL GOES ABOVE SHATTER NBL 'VLSHAT' (ODD-BALL LOGIC THIS, BUT IT WORKS!) ''BRAAK' MEANS WEAK PROJ BREAKS IF VEL < NBL AT OB < 50 DEG FOR COMPOUND ' ARMOR & OB < 40 DEG FOR THE REST: 'BRAAK' = 1 OR 2 --> BREAKS; = 0 --> NOT. ' IN ADDITION, IF 'BRAAK' = 2, THEN VERY WEAK PROJ SHATRS AGAINST HARVEY ARMOR. ' OTHERWISE, IGNORED IN SHATR LOGIC. ''SHATRES' GIVES PROJ RESISTANCE TO SHATR AT OB = 0 (NORMAL): ' 0 = RESISTS SHATR (AP CAP); 1 = EASILY SHATRS (WEAK NOSE) (INCLUDES UNCAPPED ' 5.1"& 8" JAP TYPE 91 AP WITH OR WITHOUT CAP HEAD STILL IN PLACE ON ARMOR IMPACT); ' 2 = CHILLED CAST IRON PROJ (VERY WEAK NOSE; COMPOUND ARMOR CAN SHATR IF UNCAPPED). ''APCAP' IS AP CAP TYPE:**-1** = HOOD; 0 = NO CAP & NO HOOD; **1** = 'SOFT' AP CAP ' (MAX HARDNESS <= 300 BRINELL) (MOST WWI); **2** = 'HARD' AP CAP (INCLUDES JAP ' UNCAPPED JAP 15.5/20.3CM TYPE 91 AP PROJ W/'CAP HEAD' STILL THERE FOR HOLING ONLY ' (ALL TYPE 88 APC WITH 'CAP HEAD' WERE HARD-CAPPED AP PROJ)); **3** = SMALL/THIN ' 'HARD/TOUGH' AP CAP, AS W/WWI KRUPP "L/3,2" & "L/3,4" APC, RUSSIAN POST-1907 APC, ' AND POST-1908 A-H SKODA APC, WHICH ALL FAIL TO STOP SHATTER IF: (1) PLATE DAMAGE- ' CAUSING EFFECTIVE THICKNESS IN CAL (TD/D) > 0.67 CAL *AND* (2) OB > 20 DEG *AND* ' (3) PLATE IS A SUPER-TOUGH 'SHOFTSHAT'=1 TYPE OR, IF SHELL NOT A MIDVALE UNBREAKABLE ' ('CARDONALD'=2), THEN BRITISH 'SOFTSHAT'=2 PLATES WORK HERE. **3** ALSO APPLIES TO ' THIN CAPS SUCH AS ON KRUPP WWII 38CM SPRG.M.K. L/4,6 (CAPPED BASE-FUZED COMMON)). ''LTCASE' MEANS PROJ BODY WEAK DUE TO LARGE OR EXTRA-LARGE EXPLOSIVE CAVITY, ' THE LATTER BASED ON WWI BRITISH 'COMMON, POINTED, CAPPED' (CPC) DESIGN: ' 2 = PROJ HAS EXTRA-LARGE FILLER CAVITY & BREAKS AT OB = 0 AGAINST A ' >0.67-CAL-THICK PLATE (SHATR RESULTS ARE ALSO CHANGED) OR IF ANY NOSE DAMAGE; ' 1 = PROJ HAS A LARGE CAVITY, WHICH MAKES INTACT PENETRATION MORE DIFFICULT ' (SHATR RESULTS ALSO CHANGED), INCLUDING IF NOSE DAMAGED, BUT SMALLER THAN ' 'LTCASE'= 2 PROJ; 0 = NOT APPLICABLE. ''NSDAMAGL' IS MAX DEFLECTION ('OBDF') PROJ NOSE CAN TAKE BEFORE BREAKING. ' LIKE 'CRITAGL', THIS DAMAGE ONLY AFFECTS LATER IMPACTS. DAMAGE BLUNTS/ ' DEFORMS/BREAKS NOSE FROM FORWARD BOURRELET UP. ONLY 'LTCASE'=2 OR COMMON ' PROJ WITH 'HOOD' ('APCAP'=-1), PROJ MADE 'INEFFECTIVE'. IF SHATR, IGNORED. ''PLIM' & 'PDAM' ARE DEFAULT PROJ 'QUALITY' FACTORS AT NORMAL IMPACT USED ' FOR NAVY & EFFECTIVE B.L., RESPECTIVELY. THEY MAY BE MODIFIED BY DAMAGE ' IF OB > 0 &, IF 'LTCASE'=2, AT OB = 0 AGAINST >0.67-CAL-THICK PLATES. ''BEND' HAS 2 MEANINGS WHEN SET (NOT ZERO): ' IF 'BEND'=1, IT IS SPECIAL SHATTER-ONLY DAMAGE-CAUSE FLAG FOR PROJ THAT ' BEND CONSIDERABLY AT OBLIQUE IMPACT, BUT HAVE A DIFFERENT DAMAGE-CAUSING ' EFFECT AT NORMAL, CHANGING FROM ONE TO THE OTHER IN THE 0-30 DEGREE RANGE, ' THUS 'PLIM' AT NORMAL IF LESS THAN 1! IS LINEARLY INCREASED TO 1! AT 30 ' DEGREES & ABOVE FOR THOSE PROJECTILES WITH THIS FLAG SET WHEN SHATTER OCCURS. ' IF 'BEND'=2, IT IS A SPECIAL NON-SHATTER-ONLY NON-DAMAGE FLAG FOR MIDVALE ' DEFORMABLE PRE-'UNBREAKABLE' SHELLS VS HARVEY & CHILLED CAST IRON ARMOR. ''CARDONALD' IS SPECIAL "SUPER" PROJECTILE FLAG. WITH 'BEND' = 1, IT MEANS SUPERIOR ' BRITISH WWII 15" MARK 17B ROYAL ORDNANCE FACTORY, CARDONALD, SCOTLAND PROJECTILES ' ('CARDONALD' = 1) & WITH 'BEND' = 0 & 'CARDONALD' = 2, IT MEANS SUPERIOR SOFT-CAPPED ' WWI U.S. NAVY "MIDVALE UNBREAKABLE" OR "MIDVALE 1916" AP PROJECTILES AND ALL LATER ' US AP & "SPECIAL" COMMON PROJECTILES WITH SOFT CAPS OR HOODS (IF 'CARDONALD' = 2, ' 'SOFTSHAT' = 2 ARMOR HAS NO EFFECT AT 'OB'<= 15, AS WITH 'SOFTSHAT' = 0 ARMOR WITH ' THE REST OF THE WEAKER SOFT-CAPPED APC PROJECTILES) ' '** U.S. USPROJDATA: ON PRJTL GOTO UPR1, UPR2, UPR3, UPR4, UPR5, UPR6, UPR7, UPR8, UPR9, UPR10, UPR11, UPR12, UPR13, UPR14, UPR15, UPR16, UPR17, UPR18, UPR19, UPR20 UPR1: GOTO DEFAULT1: ' 1 UNCAPPED CHILLED CAST IRON SHOT/SHELL & ALL COMMON SHELLS (1890-1900) UPR2: GOTO DEFAULT2: ' 2 SOFT-CAPPED CHILLED CAST IRON SHOT/SHELL UPR3: GOTO DEFAULT3: ' 3 UNCAPPED AP SHOT/SHELL (NON-MIDVALE 1890-1911 & MIDVALE 1890-1895) UPR4: GOTO DEFAULT4: ' 4 SOFT-CAPPED APC SHOT/SHELL (NON-MIDVALE 1896-1911 & MIDVALE 1890-1895) UPR5: CRITAGL = 5: BRAAK = 1: SHATRES = 0: APCAP = 0: ' 5 MIDVALE TOUGH-STEEL AP SHOT/SHELL 1895-1910 NSDAMAGL = 15: PLIM = .795: LTCASE = 0: GOTO UCMN3 UPR6: CRITAGL = 5: BRAAK = 1: SHATRES = 0: APCAP = 1: ' 6 MIDVALE TOUGH-STEEL SOFT-CAPPED APC SHOT/SHELL 1898-1910 NSDAMAGL = 15: PLIM = .795: LTCASE = 0: GOTO UCMN3 UPR7: PLIM = .748: PDAM = .6: LTCASE = 2: ' 7 7/12/14" RAILROAD GUN BASE-FUZED WWI BOMBARDMENT/WWII CLASS 'B' LARGE-FILLER HE SHELLS CRITAGL = 0: BRAAK = 2: SHATRES = 1: APCAP = 0 LTCASE = 2: NSDAMAGL = 15: CARDONALD = 0: BEND = 0 ALD = .0004301: BLD = 1.845: CLD = .0027 AED = .03322: BED = 1.172: CED = .02222 RETURN UPR8: CRITAGL = 5: BRAAK = 1: SHATRES = 0: APCAP = 1: ' 8 SOFT-CAPPED NON-MIDVALE POST-1911 APC NSDAMAGL = 15: PLIM = .89: LTCASE = 0: GOTO UCMN1 UPR9: CRITAGL = 5: BRAAK = 0: SHATRES = 0: APCAP = 1: ' 9 SOFT-CAPPED MIDVALE UNBREAKABLE APC (1911 8" MARK 11 & POST-1916 12-16") NSDAMAGL = 15: PLIM = 1!: LTCASE = 0: GOTO UCMN1 UPR10: CRITAGL = 10: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 10 1921-35 A.C.D. APC (2-3% EX. D FILLER) ('MIDVALE ARMY 1921') NSDAMAGL = 15: PLIM = .94: LTCASE = 0: GOTO UCMN UPR11: CRITAGL = 20: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 11 POST-1935 A.C.D. APC (1.4-2% EX. D FILLER) NSDAMAGL = 20: PLIM = .94: LTCASE = 0: GOTO UCMN1 UPR12: CRITAGL = 10: BRAAK = 0: SHATRES = 1: APCAP = 0: ' 12 POST-WWI BASE-FUZED COMMON (4-5% Ex. D FILLER w/WINDSCREEN & W/O HOOD) NSDAMAGL = 15: PLIM = .85: LTCASE = 1: GOTO UCMN1 UPR13: CRITAGL = 15: BRAAK = 0: SHATRES = 1: APCAP = -1: ' 13 POST-WWI BASE-FUZED 'SPECIAL' COMMON (3-4.4% EX. D FILLER W/HOOD & WINDSCREEN) (1930-45) (NOT 6" MK 27 OR 8" MK 15) NSDAMAGL = 15: PLIM = .9: LTCASE = 0: GOTO UCMN1 UPR14: CRITAGL = 20: BRAAK = 0: SHATRES = 0: APCAP = -1: ' 14 6" MK 27-1-6 BASE-FUZED 'SPECIAL' COMMON (2.1-2.4% EX. D FILLER W/HOOD) (1933) NSDAMAGL = 20: PLIM = .95: LTCASE = 0: GOTO UCMN UPR15: CRITAGL = 15: BRAAK = 0: SHATRES = 1: APCAP = 2: ' 15 8" MK 15-1 HARD-CAPPED BASE-FUZED 'SPECIAL' COMMON (4.4% EX. D FILLER) (1930) NSDAMAGL = 15: PLIM = .9: LTCASE = 0: GOTO UCMN UPR16: CRITAGL = 15: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 16 3" MK 29-1/30-1 (to 1944) AND 8" MK 19-1-3 (to 1941) & A.C.D. MK 20-1 APC NSDAMAGL = 15: PLIM = .94: LTCASE = 0: GOTO UCMN UPR17: CRITAGL = 20: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 17 8" MK 19-4-6 APC NSDAMAGL = 15: PLIM = .96: LTCASE = 0: GOTO UCMN UPR18: CRITAGL = 20: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 18 6" MK 35-1 & 16" MK 8-1-5 (to 1944) APC NSDAMAGL = 20: PLIM = .9: LTCASE = 0: GOTO UCMN: ' UPR19: CRITAGL = 25: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 19 8" MK 21-1-4, 14" MK 16-1-6 (to 1944) & A.C.D. MK 20-1, AND NSDAMAGL = 25: PLIM = .94: LTCASE = 0: GOTO UCMN: ' 16" MK 5-1-4 (to 1944) & NK 5-6 (ex-A.C.D. MK 12-1 w/MK 21 BDF) APC UPR20: CRITAGL = 30: BRAAK = 0: SHATRES = 0: APCAP = 2: ' 20 3" MK 29-2/30-2, 6" MK 35-9-11, 8" MK 21-5, 12" Mk 18-1, NSDAMAGL = 30: PLIM = 1!: LTCASE = 0: ' 14" MK 16-7-11, AND 16" MK 5-5 & MK 8-6-8 APC UCMN: CARDONALD = 0: GOTO UCMN2: ' HARD-CAPPED PROJ DO NOT USE THIS FLAG UCMN1: CARDONALD = 2: ' BEST UNCAPPED OR SOFT-CAPPED PROJ (SHEATH HARDENED) UCMN2: ALD = 0: BLD = 0: CLD = 0: ' PROJ #8-20 (COMMON DATA) AED = -1: BED = -1: CED = -1 BEND = 0: PDAM = -1: ' 'PDAM' IS UNIVERSAL NO-OP HERE (USUALLY SET TO EQUAL 'PLIM' TO NO-OP) RETURN UCMN3: ALD = 0: BLD = 0: CLD = 0: ' PROJ #5 & #6 (COMMON DATA) AED = -1: BED = -1: CED = -1 BEND = 2: PDAM = -1: ' 'PDAM' IS UNIVERSAL NO-OP HERE (USUALLY SET TO EQUAL 'PLIM' TO NO-OP) CARDONALD = 0 RETURN ' '** BRITAIN BRPROJDATA: ON PRJTL GOTO BPR1, BPR2, BPR3, BPR4, BPR5, BPR6, BPR7, BPR8, BPR9, BPR10, BPR11, BPR12, BPR13, BPR14, BPR15, BPR16, BPR17 BPR1: GOTO DEFAULT1: ' 1 PALLISER CHILLED CAST IRON SHOT & ALL COMMON SHELLS (1890-1900) BPR2: GOTO DEFAULT3: ' 2 UNCAPPED STEEL AP SHOT/SHELL 0-6% BLACK-POWDER/HE FILLER (1890-1905) BPR3: APCAP = 0: PLIM = .728: PDAM = .5: ' 3 CP LTCASE = 2: BRAAK = 2: CARDONALD = 0: GOTO BCMN1 BPR4: APCAP = 1: PLIM = .728: PDAM = .5: ' 4 CPC LTCASE = 2: BRAAK = 2: CARDONALD = 0: GOTO BCMN1 BPR5: GOTO DEFAULT4: ' 5 ORIGINAL 6-IN TO 12-IN APC 1905-1912 BPR6: APCAP = 1: PLIM = .985: PDAM = .985: ' 6 AVE 6-13.5" (LT) CAST-STEEL APC 1913-1918 LTCASE = 0: BRAAK = 1: CARDONALD = 0: GOTO BCMN1 BPR7: APCAP = 1: PLIM = 1!: PDAM = 1!: ' 7 13.5" (HY), 14", & 15" FORGED-STEEL APC 1913-1918 LTCASE = 0: BRAAK = 0: CARDONALD = 2 BCMN1: ALD = .0004301#: BLD = 1.845#: CLD = .0027#: ' 3, 4, 6, & 7 (COMMON DATA) AED = .03322: BED = 1.172: CED = .02222 CRITAGL = 0: NSDAMAGL = 15: BEND = 0: SHATRES = 1 RETURN BPR8: PLIM = 1!: PDAM = 1!: CRITAGL = 0: ' 8 12" MK 7A APC ALD = .0004301#: BLD = 1.845#: CLD = .0027# AED = .03322: BED = 1.172: CED = .02222 GOTO BCMN2 BPR9: PLIM = 1.02: PDAM = 1.02: CRITAGL = 0: ' 9 13.5" (HVY), 14", & 15" MK 5A APC ALD = .000454554#: BLD = 2.08917437#: CLD = .00514125# AED = .03322: BED = 1.172: CED = .02222 GOTO BCMN2 BPR10: PLIM = 1.02: PDAM = 1.02: CRITAGL = 15: ' 10 15" MK 5A BLUE-BAND APC ALD = 0: BLD = 0: CLD = 0: AED = -1: BED = -1: CED = -1 BCMN2: CARDONALD = 0: BEND = 0: SHATRES = 0: APCAP = 2: ' 8-10, & 13 (COMMON DATA) LTCASE = 0: BRAAK = 0: NSDAMAGL = 20 RETURN BPR11: SHATRES = 1: APCAP = -1: PLIM = .9: PDAM = .9: ' 11 POST-WWI CPBC/SAP WITH HOOD ALD = .000184977#: BLD = 2.46#: CLD = .02549452# CRITAGL = -33: CARDONALD = 0: LTCASE = 1: GOTO BCMN3 BPR12: SHATRES = 0: APCAP = 2: PLIM = .93: PDAM = .93: ' 12 8" SAPC ALD = .000000122#: BLD = 3.84#: CLD = .001118# CRITAGL = -33: CARDONALD = 0: LTCASE = 0: GOTO BCMN3 BPR13: PLIM = 1!: PDAM = .99: CRITAGL = 15: ' 13 9.2" GREEN BOY COAST DEFENSE 1919-1935 ALD = .0004301#: BLD = 1.845#: CLD = .0027# AED = .03322: BED = 1.172: CED = .02222 GOTO BCMN2 BPR14: SHATRES = 0: APCAP = 2: PLIM = 1.06: PDAM = 1.06: ' 14 9.2" COAST DEFENSE 1935-1950 (STILL 3.4% FILLER) ALD = .000232273#: BLD = 2.00692#: CLD = .00096671# CRITAGL = -41: CARDONALD = 0: LTCASE = 0: GOTO BCMN3 BPR15: SHATRES = 0: APCAP = 2: PLIM = 1.01: PDAM = 1.01: ' 15 16" MK 1B APC ALD = .000184977#: BLD = 2.46#: CLD = .02549452# CRITAGL = -38: CARDONALD = 0: LTCASE = 0: GOTO BCMN3 BPR16: SHATRES = 0: APCAP = 2: PLIM = 1.05: PDAM = 1.05: ' 16 14-16" POST-1930 ALD = .000184977#: BLD = 2.46#: CLD = .02549452# CRITAGL = -38: CARDONALD = 0: LTCASE = 0: GOTO BCMN3 BPR17: SHATRES = 0: APCAP = 2: PLIM = 1.05: PDAM = 1.05: ' 17 15" CARDONALD ALD = .000184977#: BLD = 2.46#: CLD = .02549452# CRITAGL = -38: CARDONALD = 1: LTCASE = 0 BCMN3: AED = -1: BED = -1: CED = -1: BEND = 1: BRAAK = 0: ' 11-12, 14-17 (COMMON DATA) NSDAMAGL = 25: RETURN ' '** GERMANY GEPROJDATA: ON PRJTL GOTO GPR1, GPR2, GPR3, GPR4, GPR5, GPR6, GPR7, GPR8, GPR9, GPR10, GPR11, GPR12, GPR13, GPR14, GPR15 GPR1: GOTO DEFAULT1: ' 1 GRUSON CHILLED CAST IRON AP SHOT/SHELL & ALL COMMON SHELLS (1890-1900) GPR2: SHATRES = 0: APCAP = 0: BRAAK = 2: ' 2 UNCAPPED KRUPP STEEL AP SHOT/SHELL UP TO 1918 PLIM = .794: PDAM = .754: LTCASE = 1: GOTO GCMN1 GPR3: SHATRES = 1: APCAP = 0: BRAAK = 2: ' 3 UNCAPPED COMMON UP TO 1929 PLIM = .75: PDAM = .65: LTCASE = 1: GOTO GCMN1 GPR4: SHATRES = 0: APCAP = 1: BRAAK = 2: ' 4 AVE. OF ALL PRE-1911 STEEL APC SHOT/SHELL (PSGR.M.K. L/3,1 & UNDER) PLIM = .794: PDAM = .754: LTCASE = 1: GOTO GCMN1 GPR5: SHATRES = 0: APCAP = 3: BRAAK = 1: ' 5 28.3CM ("28CM") PSGR.M.K. L/3,2 & 30.5/38CM PSGR.M.K. L/3,4 PLIM = .794: PDAM = .754: LTCASE = 0 GCMN1: ALD = .000143#: BLD = 2.249#: CLD = .00267#: ' 2, 3, 4, & 5 (COMMON DATA) AED = .000247: BED = 2.129: CED = .00172 CRITAGL = 0: NSDAMAGL = 15 CARDONALD = 0: BEND = 0 RETURN GPR6: GOTO DEFAULT5: ' 6 COMMON WITH HOOD ("GRUNDRING") AFTER 1929 GPR7: GOTO DEFAULT6: ' 7 38CM & PROJECTED 40.6CM CAPPED COMMON (SPGR.M.BDZ.U.K.) GPR8: NSDAMAGL = 10: PLIM = .759: PDAM = .709: APCAP = 2: ' 8 15CM PSGR.M.K. L/3,7 ALD = .0000243#: BLD = 2.477#: CLD = .00307# AED = .000247: BED = 2.129: CED = .00172 CRITAGL = 0: BRAAK = 1: SHATRES = 0: CARDONALD = 0 BEND = 0: LTCASE = 1 RETURN GPR9: NSDAMAGL = 10: PLIM = .794: PDAM = .754: APCAP = 2: ' 9 28,3CM ("28CM") PSGR.M.K. L/3,7 ALD = .000143#: BLD = 2.249#: CLD = .00267#: ' AED = .000247: BED = 2.129: CED = .00172 CRITAGL = 0: BRAAK = 1: SHATRES = 0: CARDONALD = 0 LTCASE = 0: BEND = 0 RETURN GPR10: NSDAMAGL = 25: PLIM = .99: PDAM = .972: GOTO GCMN3: ' 10 20,3CM & 30,5CM PSGR.M.K. L/4,4 AND 15CM PSGR.M.K. L/4,6 GPR11: NSDAMAGL = 25: PLIM = .979: PDAM = .926: GOTO GCMN3: ' 11 28,3CM ("28CM") PSGR.M.K. L/4,4 GPR12: NSDAMAGL = 25: PLIM = .988: PDAM = .977: GOTO GCMN3: ' 12 38CM PSGR.M.K. L/4,4 GPR13: NSDAMAGL = 25: PLIM = .929: PDAM = .881: GOTO GCMN3: ' 13 40.6CM PSGR.M.K. L/4,4 GPR14: NSDAMAGL = 25: PLIM = .86: PDAM = .8: GOTO GCMN3: ' 14 LIGHTWEIGHT 38CM & 40.6CM COAST DEFENSE APC (PSGR.M.K.) GPR15: NSDAMAGL = 25: PLIM = .9: PDAM = .86: ' 15 PROJECTED 53CM "GERAT 36" APC (PSGR.M.K.) GCMN3: ALD = .00006891#: BLD = 2.26#: CLD = .00333#: ' 10-15 (COMMON DATA) AED = .0000971: BED = 2.283: CED = .0035 CRITAGL = 0: BRAAK = 1: SHATRES = 0: APCAP = 2 LTCASE = 0: CARDONALD = 0: BEND = 0 RETURN ' '** FRANCE FRPROJDATA: ON PRJTL GOTO FPR1, FPR2, FPR3, FPR4, FPR5, FPR6, FPR7, FPR8 FPR1: GOTO DEFAULT1: ' 1 UNCAPPED CHILLED CAST IRON SHOT/SHELL & ALL COMMON SHELLS (1890-1910) FPR2: GOTO DEFAULT2: ' 2 SOFT-CAPPED CHILLED CAST IRON APC SHOT/SHELL (1898-1910) FPR3: GOTO DEFAULT3: ' 3 UNCAPPED STEEL AP SHOT/SHELL FPR4: GOTO DEFAULT4: ' 4 SOFT-CAPPED SAPC (c.1900-c.1909) FPR5: GOTO DEFAULT7: ' 5 HARD-CAPPED SAPC (c.1909-45) USE A-H SKODA HARD-CAPPED AP SHELL FPR6: GOTO DEFAULT5: ' 6 USE UNCAPPED GERMAN SPGR.M.BDZ. (POST-1922) FPR7: ALD = .00335#: BLD = 2.13#: CLD = .08701#: ' 7 33CM SAPC CRITAGL = 15: LTCASE = 0 GOTO FCMN FPR8: ALD = .00336#: BLD = 1.418#: CLD = .0091701#: ' 8 38CM FRENCH 1940 APC CRITAGL = 20: LTCASE = 0 FCMN: BRAAK = 1: SHATRES = 0: APCAP = 2: ' 7 & 8 (COMMON DATA) AED = -1: BED = -1: CED = -1 NSDAMAGL = 20: PLIM = 1!: PDAM = 1! CARDONALD = 0: BEND = 0 RETURN FPR9: ALD = 0: BLD = 0: CLD = 0: ' 9 38CM US CRUCIBLE STEEL CO 380MM AP MK 1 AED = -1: BED = -1: CED = -1: CRITAGL = 30 BRAAK = 0: SHATRES = 0: APCAP = 2: LTCASE = 0 NSDAMAGL = 30: PLIM = 1!: PDAM = 1! CARDONALD = 0: BEND = 0 RETURN ' '** ITALY ITPROJDATA: ON PRJTL GOTO IPR1, IPR2, IPR3, IPR4, IPR5, IPR6, IPR7, IPR8, IPR9, IPR10, IPR11, IPR12 IPR1: GOTO DEFAULT1: ' 1 AVE. PALLISER/GRUSON CHILLED CAST IRON SHOT/SHELL & ALL COMMON SHELLS (1890-1900) IPR2: GOTO DEFAULT3: ' 2 AVE. STEEL AP SHOT/SHELL (1890-1923) IPR3: GOTO DEFAULT4: ' 3 AVE. SOFT-CAPPED STEEL APC SHOT/SHELL (1905-1930) IPR4: GOTO BPR3: ' 4 AVE. BRITISH-TYPE UNCAPPED CP (LIGHT-CASE) (1900-23) IPR5: GOTO BPR4: ' 5 AVE. BRITISH-TYPE CPC (LIGHT-CASE) (1912-23) IPR6: GOTO BPR6: ' 6 AVE. BRITISH-TYPE IMPROVED 6-12" CAST-STEEL APC (1912-23) IPR7: GOTO BPR7: ' 7 AVE. BRITISH-TYPE IMPROVED 15" FORGED-STEEL APC FOR PROPOSED 1914 BB IPR8: GOTO BPR8: ' 8 AVE. BRITISH-12"-MARK-7A-TYPE POST-JUTLAND APC (1923-30) IPR9: GOTO BPR9: ' 9 AVE. BRITISH-15"-MARK 5A-TYPE POST-JUTLAND APC FOR PROPOSED 1914 BB IPR10: GOTO DEFAULT5: ' 10 ITALIAN POST-1930 UNCAPPED COMMON (SAP) (EST. USING KRUPP 20.3CM SPGR.M.BDZ. W/'GRUNDRING') IPR11: GOTO DEFAULT6: ' 11 ITALIAN POST-1930 HARD-CAPPED COMMON (SAPC) (EST. USING KRUPP 38CM SPGR.M.BDZ.U.K.) IPR12: PLIM = 1.02: PDAM = 1.02: ' 12 ITALIAN POST-1930 15-38CM APC (EST. BASED ON BRITISH 15" MK 5A IMPROVMENTS) ALD = .0081984#: BLD = 1.119507#: CLD = .005032# AED = -1: BED = -1: CED = -1 CARDONALD = 0: BEND = 0: SHATRES = 0: APCAP = 2 LTCASE = 0: CRITAGL = 25: BRAAK = 0: NSDAMAGL = 20 RETURN ' '** JAPAN JAPPROJDATA: ON PRJTL GOTO JPR1, JPR2, JPR3, JPR4, JPR5, JPR6, JPR7, JPR8, JPR9, JPR10 JPR1: GOTO DEFAULT1: ' 1 PALLISER CHILLED CAST IRON AP SHOT/SHELL & ALL COMMON SHELLS (1890-1900) JPR2: GOTO DEFAULT3: ' 2 AP SHOT/SHELL (0-6% FILLER) JPR3: GOTO DEFAULT4: ' 3 SOFT-CAPPED APC SHOT/SHELL (0-6% FILLER) JPR4: APCAP = 0: BRAAK = 2: LTCASE = 2: PLIM = .728: PDAM = .5: ' 4 BRITISH CP (9-10% FILLER) GOTO JCMN2 JPR5: APCAP = 1: BRAAK = 2: LTCASE = 2: PLIM = .728: PDAM = .5: ' 5 BRITISH CPC (9-10% FILLER) GOTO JCMN2 JPR6: APCAP = 1: BRAAK = 1: LTCASE = 0: PLIM = .985: PDAM = .985: ' 6 14-INCH BRITISH PRE-JUTLAND APC 1912-1921 JCMN2: ALD = .0004301#: BLD = 1.845#: CLD = .0027#: ' 4, 5, & 6 (COMMON DATA) AED = .03322: BED = 1.172: CED = .02222: SHATRES = 1 CRITAGL = 0: : NSDAMAGL = 15: CARDONALD = 0 BEND = 0 RETURN JPR7: PLIM = 1.02: PDAM = 1.01: ' 7 14-IN BRITISH 'MK 5' APC (JAPANESE COPY) ALD = .0081984#: BLD = 1.119507#: CLD = .005032# AED = .03322: BED = 1.172: CED = .02222 GOTO JCMN3 JPR8: PLIM = 1.02: PDAM = 1.01: ' 8 20CM, 36CM, & 41CM MK 6/TYPE 88 APC ALD = .0081984#: BLD = 1.119507#: CLD = .005032# AED = .03322: BED = 1.172: CED = .02222 JCMN3: CARDONALD = 0: BEND = 0: SHATRES = 0: APCAP = 2: ' 7 & 8 (COMMON DATA) CRITAGL = 15: BRAAK = 1: NSDAMAGL = 20: LTCASE = 0 RETURN JPR9: AED = .00104: BED = 1.773: CED = .00823: LTCASE = 0: ' 9 ALL CAPPED TYPE 91 AP (APC) CRITAGL = 0: SHATRES = 0: NSDAMAGL = 15: PDAM = .85 GOTO JCMN4 JPR10: AED = -1: BED = -1: CED = -1: CRITAGL = 15: SHATRES = 1: ' 10 ALL UNCAPPED TYPE 91 AP (SAP) NSDAMAGL = 20: PDAM = .945: LTCASE = 1 JCMN4: ALD = .00336#: BLD = 1.418#: CLD = .0091701#: ' 9 & 10 (COMMON DATA) BRAAK = 1: APCAP = 2: PLIM = .945: CARDONALD = 0: BEND = 0 RETURN ' '** AUSTRO-HUNGARY AHPROJDATA: ON PRJTL GOTO APR1, APR2, APR3, APR4, APR5, APR6, APR7, APR8 APR1: GOTO DEFAULT1: ' 1 CHILLED CAST IRON AP SHOT/SHELL & ALL COMMON SHELLS (1890-1900) APR2: GOTO DEFAULT2: ' 2 SOFT-CAPPED CHILLED CAST IRON AP SHOT APR3: GOTO DEFAULT3: ' 3 AVERAGE STEEL AP SHOT/SHELL (1890-1908) APR4: GOTO DEFAULT4: ' 4 AVERAGE SOFT-CAPPED STEEL APC SHOT/SHELL (1898-1908) APR5: APCAP = 0: ' 5 SKODA BRITISH-TYPE CP (9-10% FILLER) (UNCAPPED) (1895-1918) GOTO AHCMN1 APR6: GOTO DEFAULT6: ' 6 'TOUGH'-CAPPED AP SHELL/COMMON (4-6% FILLER) (E.GR.) (1909-18) APR7: APCAP = 3: ' 7 SKODA BRITISH-TYPE (BUT TOUGH-CAPPED) CPC (9-10% FILLER)(Z.GR.)(1909-1918) AHCMN1: PLIM = .728: PDAM = .5: LTCASE = 2: ' 5 & 7 (COMMON DATA) ALD = .0004301#: BLD = 1.845#: CLD = .0027# AED = .03322: BED = 1.172: CED = .02222 CRITAGL = 0: BRAAK = 2: NSDAMAGL = 15 CARDONALD = 0: BEND = 0: SHATRES = 1 RETURN APR8: PLIM = .83: PDAM = .78: LTCASE = 0: ' 8 SKODA WWI TOUGH-CAPPED APC (P.GR.) (1909-1918) ALD = .000143#: BLD = 2.24#: CLD = .00267# AED = .000247: BED = 2.129: CED = .00172 APCAP = 3: CRITAGL = 0: NSDAMAGL = 15 BRAAK = 1: CARDONALD = 0: BEND = 0 SHATRES = 0 RETURN ' '** RUSSIA RUPROJDATA: ON PRJTL GOTO RPR1, RPR2, RPR3, RPR4, RPR5, RPR6, RPR7, RPR8 RPR1: GOTO DEFAULT1: ' 1 UNCAPPED CHILLED CAST IRON SHOT/SHELL & ALL COMMON SHELLS (1890-1900) RPR2: GOTO DEFAULT2: ' 2 SOFT-CAPPED CHILLED CAST IRON SHOT/SHELL (1896-1900) RPR3: GOTO DEFAULT3: ' 3 UNCAPPED AP SHOT/SHELL (1890-c1905) RPR4: GOTO DEFAULT4: ' 4 SOFT-CAPPED APC SHOT/SHELL (1896-c1905) ' RUSSIAN #5 & #6 BELOW BASED ON BRITISH 13.5" (HVY), 14", & 15" MK 5A APC (UNCAPPED & CAPPED) ' (USE THRU 1945 UNTIL BETTER INFO). 'M190X' INDICATES c1905 SHELL DESIGNS (EXACT DATE VARIES) RPR5: PLIM = 1.02: PDAM = 1.02: CRITAGL = 0: ' 5 UNCAPPED M190X-QUALITY STEEL AP SHELL ALD = .000454554#: BLD = 2.08917437#: CLD = .00514125# AED = .03322: BED = 1.172: CED = .02222: APCAP = 0: SHATRES = 1 GOTO RCMN1 RPR6: PLIM = 1.02: PDAM = 1.02: CRITAGL = 0: ' 6 'TOUGH'-CAPPED M190X STEEL APC SHELL ALD = .000454554#: BLD = 2.08917437#: CLD = .00514125# AED = .03322: BED = 1.172: CED = .02222: APCAP = 3: SHATRES = 0 GOTO RCMN1 ' RUSSIAN #7 & #8 BASED ON BRITISH WWI CP & CPC (USE THRU 1945 UNTIL BETTER INFO) RPR7: APCAP = 0: PLIM = .728: PDAM = .5: ' 7 UNCAPPED M190X COMMON LTCASE = 2: BRAAK = 1: CARDONALD = 0: SHATRES = 1 GOTO RCMN2 RPR8: APCAP = 3: PLIM = .728: PDAM = .5: ' 8 'TOUGH'=CAPPED M190X COMMON LTCASE = 2: BRAAK = 1: CARDONALD = 0: SHATRES = 0 GOTO RCMN2 ' RCMN1: CARDONALD = 0: BEND = 0: ' 5 & 6 (COMMON DATA) LTCASE = 0: BRAAK = 0: NSDAMAGL = 20 RETURN RCMN2: ALD = .0004301#: BLD = 1.845#: CLD = .0027#: ' 7 & 8 (COMMON DATA) AED = .03322: BED = 1.172: CED = .02222 CRITAGL = 0: NSDAMAGL = 15: BEND = 0 RETURN ' '************************************************************************ '** DEFAULTS #1-7: ESTIMATES FOR PROJ WITH LITTLE DATA DEFAULT1: ' AVE PRE-1900 UNCAPPED CHILLED CAST IRON AP (PALLISER/GRUSON) PLIM = .6: PDAM = .5 SHATRES = 2: APCAP = 0: NSDAMAGL = 5: LTCASE = 1 AED = -1: BED = -1: CED = -1 GOTO DEFCMN3 DEFAULT2: ' AVE CHILLED CAST IRON APC (U.S. ARMY COAST DEFENSE C. 1900, ETC.) PLIM = .6: PDAM = .5 SHATRES = 2: APCAP = 1: NSDAMAGL = 5: LTCASE = 1 GOTO DEFCMN2 DEFAULT3: ' AVE 1890-1910 UNCAPPED STEEL AP SHOT & SHELL (0-6% BLACK POWDER/HE FILLER) LTCASE = 1: APCAP = 0: BEND = 0 GOTO DEFCMN1 DEFAULT4: ' AVE 1897-1910 SOFT-CAPPED STEEL APC SHOT & SHELL (0-6% BLACK POWDER/HE FILLER) LTCASE = 1: APCAP = 1: BEND = 0 DEFCMN1: ' DEFAULT 3 & 4 (COMMON DATA #1) PLIM = .795: PDAM = .7 ALD = .0004301#: BLD = 1.845#: CLD = .0027# AED = .03322: BED = 1.172: CED = .02222 CRITAGL = 0: CARDONALD = 0: BRAAK = 2 SHATRES = 1: NSDAMAGL = 15 RETURN DEFAULT5: ' GERMAN WWII HOODED BASE-FUZED COMMON ('SPGR.M.BDZ.U.HB. WITH GRUNDRING') PLIM = .86: PDAM = .768: LTCASE = 0 SHATRES = 1: APCAP = -1: NSDAMAGL = 15 GOTO DEFCMN2 DEFAULT6: ' GERMAN WWII THIN-CAPPED BASE-FUZED COMMON ('38CM & 40.6CM SPGR.M.BDZ.U.K. L/4,6') PLIM = .86: PDAM = .768: LTCASE = 0 SHATRES = 1: APCAP = 3: NSDAMAGL = 15 GOTO DEFCMN2 DEFAULT7: ' SKODA C. 1910 TOUGH-CAPPED STEEL "AP SHELL"/COMMON (4-6% BLACK-POWDER/HE FILLER) PLIM = .795: PDAM = .7 SHATRES = 1: APCAP = 3: NSDAMAGL = 15: LTCASE = 0 DEFCMN2: ' 2, 5, 6, & 7 (COMMON DATA #2, PART 1) AED = .000247: BED = 2.129: CED = .00172 DEFCMN3: ' 1, 5, 6, & 7 (COMMON DATA #2, PART 2) ALD = .000143#: BLD = 2.249#: CLD = .00267# CRITAGL = 0: BRAAK = 1: CARDONALD = 0: BEND = 0 RETURN ' ' ** END OF SUB ALLPROJDATA ** END SUB SUB ARMORBACK STATIC ' ' INPUT WOOD, CEMENT, &/OR METAL BACK SUPPORT LAYER THICKNESS BEHIND ARMOR ' WDTRU = 100 * WD: PRINT "CURRENT WOOD BACKING THICKNESS ="; WDTRU; "inch"; IF (WDTRU > 1!) THEN PRINT "es": ELSE PRINT WOOD: INPUT "Thickness of wood backing, inches (0 = NONE): ", WD$ IF (WD$ = "") THEN PRINT "Using"; WDTRU ELSE WD = VAL(WD$) / 100 END IF IF (WD < 0) THEN GOTO WOOD: 'BAD INPUT ' CMTTRU = 25 * CMT: PRINT "CURRENT CEMENT BACKING THICKNESS ="; CMTTRU; "inch"; IF (CMTTRU > 1!) THEN PRINT "es": ELSE PRINT CEMENT: INPUT "Thickness of cement-type backing, inches (0 = NONE): ", CMT$ IF (CMT$ = "") THEN PRINT "Using"; CMTTRU ELSE CMT = VAL(CMT$) / 25 END IF IF (CMT < 0) THEN GOTO CEMENT: 'BAD INPUT ' PRINT "CURRENT METAL BACKING PLATE THICKNESS ="; MTLBACK; "inch"; IF (MTLBACK > 1!) THEN PRINT "es": ELSE PRINT METALBACK: INPUT "Total thickness of all metal backing, inches (0 = NONE): ", BK$ IF (BK$ = "") THEN PRINT "Using"; MTLBACK ELSE MTLBACK = VAL(BK$) END IF IF (MTLBACK < 0) THEN GOTO METALBACK: 'BAD INPUT ' ' ** END OF SUB ARMORBACK ** ' END SUB SUB ARMORINFO (ARMR) STATIC '* PARAMETERS FOR SELECTED ARMOR TYPE: * ''CARTWL' --IF '1', BRITTLE PLATE ALWAYS THROWS LARGE DISK ('CARTWHEEL' OR 'BACK SPALL') FROM BACK; IF '2', HAPPENS ONLY AT HIGH OBLIQUITY ''CMPND' --COMPOUND (STEEL-FACED WROUGHT IRON) ARMOR (FACE TOO SOFT TO SHATR MOST STEEL PROJ) ''SOFTSHAT'--EXTRA-TOUGH ARMOR THAT, IF '1', ALWAYS SHATRS SOFT-CAPPED PROJ (MOST POST-WWI ARMOR) OR, IF '2', SAME FOR WEAKER SOFT-CAPPED PROJ ('CARDONALD' < 2) ''THKTHN' --FLAG FOR BOUNDARY OF THICK- & THIN-PLATE CALCULATIONS (1=LOW 0.35-CAL VALUE/DUCTILE ARMOR; 0=HIGH 0.5-CAL VALUE/BRITTLE ARMOR) ''THNCHL' --VERY THIN FACE LAYER W/REDUCED BREAKAGE ABILITY (HARVEY & BETHLEHEM THIN CHILL) ''Q' --PLATE'S RELATIVE STEEL QUALITY BASED ON TYPICAL WWII ARMOR AS 1.00 STANDARD (LARGER=BETTER) ''QDAM' --PLATE'S RELATIVE PROJ DAMAGE ABILITY (ONLY RARELY DIFFERENT FROM 'Q') ''UB' --AVERAGE THICKNESS OF PLATE'S UNHARDENED BACK LAYER (THINNER MEANS MORE SCALING EFFECTS) (65% USED BY ORIGINAL KRUPP KC) ' ('UB' FOR GRUSON, HARVEY, & ITALIAN TERNI CEMENTED VARIES -- SET BY SUBRTN 'FACECALC') ' ' PASSED PARAMETER "ARMR" = GLOBAL "ARMOR" SELECTION VALUE ' Q = 1!: UB = 65: CARTWL = 0: CMPND = 0: SOFTSHAT = 0: THKTHN = 0: THNCHL = 0: 'INIT DEFAULT VALUES (SKIPPED IN TABLE IF USED AS-IS) 'FOR HARVEY ARMOR ONLY: PLATE QUALITY INCREASES AS THICKNESS DECREASES; BELOW 8" THIS RATE IS FASTER. QVELHTHICK = -.027917 * TA + 1.2525: QVELHTHIN = (-.035 * TA + 1.28) * QVELHTHICK IF (TA < 8) THEN QVELHMULT = QVELHTHIN: ELSE QVELHMULT = QVELHTHICK ' ON ARMR GOTO GRUSON, COMPOUND, HARVEYMS, HARVEYNIS, KCAA, KCNA1, KCNA2, AHKC, BRWWIKC, BR1922KC, CA, TERNI, VH, MNC, BTC, WWICLA, WWIICLA, WWIICLA2, AVE1898, AVE1911, AVE1922, AVE1930 ' GRUSON: Q = .7: CARTWL = 1: '1-GRUSON CHILLED CAST IRON DOMES (VARIABLE FACE THICKNESS) CALL FACECALC UB = UBCALC: 'SET CALCULATED VALUE GOTO QDAMEQLQ COMPOUND: UB = 70: Q = .75: QDAM = .6: CMPND = 1: EXIT SUB: '2-COMPOUND (67-75% WROUGHT IRON W/CIRCA 450 BRINELL STEEL FACE) HARVEYMS: QBASE = .78: '3-HARVEY MILD STEEL (1-1.5 INCH HIGH-CARBON 600-700 BRINELL 'CEMENTED' FACE) Q = QBASE * .982 * QVELHMULT ^ (1 / 1.21): QDAM = .86 * Q CALL FACECALC UB = UBCALC: 'SET CALCULATED VALUE IF UB > 75 THEN THNCHL = 1 ELSE THNCHL = 0 EXIT SUB HARVEYNIS: QBASE = .805: '4-HARVEY NI-STEEL (STRONGER STEEL; SAME FACE) Q = QBASE * .982 * QVELHMULT ^ (1 / 1.21): QDAM = .86 * Q CALL FACECALC UB = UBCALC: 'SET CALCULATED VALUE IF UB > 75 THEN THNCHL = 1 ELSE THNCHL = 0 EXIT SUB KCAA: Q = .828: GOTO QDAMEQLQ: '5-GERMAN KC a/A (ORIGINAL KRUPP KC) (TOUGH BACK LAYER, BUT FACE TOO BRITTLE FOR BEST RESULTS) KCNA1: UB = 59: Q = .9: THKTHN = 1: GOTO QDAMEQLQ: '6-GERMAN KC n/A (IMPROVED 1928 KRUPP KC FOR 'POCKET BATTLESHIP' TURRETS) (MEDIUM--41%--FACE THICKNESS & HIGHEST FACE HARDNESS EVER USED) KCNA2: UB = 59: Q = .96: GOTO AVE1930: '7-GERMAN KC n/A (FINAL FURTHER-IMPROVED THICK-PLATE VERSION OF GERMAN KC n/A FOR SCHARNHORST & BISMARCK) (HAS 'SOFTSHAT' CAPABILITY) AHKC: Q = .947: GOTO AVE1930: '8-AUSTRO-HUNGARIAN WITKOWITZER KC (ASSUMES 1911 SKODA 30.5-CM APC = KRUPP 30.5-CM L/3.4 APC) (BEST WWI FH ARMOR--HAS 'SOFTSHAT' CAPABILITY) BRWWIKC: Q = .85: SOFTSHAT = 2: THKTHN = 2: GOTO QDAMEQLQ: '9-BRITISH WWI AVERAGE KC BR1922KC: Q = .9: SOFTSHAT = 2: THKTHN = 2: GOTO QDAMEQLQ: '10-BRITISH AVERAGE KC USED IN HMS NELSON & RODNEY (IMPROVED WWI KC) CA: UB = 70: Q = .928: GOTO AVE1930: '11-BRITISH WWII CA (THINNEST FACE AFTER 1930 IN ALL THICKNESSES) TERNI: Q = .98: '12-ITALIAN POST-1930 TERNI CEMENTED (VARIABLE FACE THICKNESS = BEST THICK KC-TYPE & NEAR-BEST THIN KC-TYPE) CALL FACECALC UB = UBCALC: 'SET CALCULATED VALUE GOTO AVE1930 VH: Q = .839: GOTO QDAMEQLQ: '13-JAP VH (BEST NON-CEMENTED FH ARMOR, BUT BRITTLE--NOT 'SOFTSHAT' TYPE. ONLY POST-1930 FH ARMOR THAT WASN'T 'SOFTSHAT' ARMOR--BASED ON 1910 BRITISH VICKERS KC (VC)) MNC: UB = 18: Q = .881: CARTWL = 1: SOFTSHAT = 1: GOTO QDAMEQLQ: '14-MIDVALE NON-CEMENTED (HEAVIEST--82%--FACE: 50% @ 490-BRINELL & 32% TRANSITION--HAS 'SOFTSHAT' CAPABILITY) BTC: UB = 85: Q = .889: QDAM = .85: THNCHL = 1: EXIT SUB: '15-BETHLEHEM THIN CHILL (KC-TYPE, BUT THINNEST--ONLY ABOUT 15%--FACE) WWICLA: Q = .889: GOTO QDAMEQLQ: '16-MOST DEFAULTS USED HERE. AVERAGE OF ALL OTHER U.S. CLASS 'A' 1911-1930 (MOSTLY CARNEGIE KC ('CKC'; IMPROVED KRUPP KC a/A)) WWIICLA: UB = 45: GOTO AVE1930: '17-ORIGINAL U.S. WWII CLASS 'A' (THICKEST--55%--FACE FOR WWII FH ARMOR. BEST THIN PLATES, BUT FACE TOO THICK IN THICK PLATES) WWIICLA2: Q = 1.025: UB = 45: GOTO AVE1930: '18-IMPROVED U.S. WWII CLASS 'A' STARTING IN 1944 (MOST 6-TAPERED-TO-4" TO 8" PLATES) AVE1898: Q = .828: CARTWL = 2: GOTO QDAMEQLQ: '19-ALL OTHER KC 1898-1910 (SIMILAR TO KRUPP KC a/A, BUT EVEN MORE BRITTLE--WORST KC-TYPE ARMOR) AVE1911: Q = .85: GOTO QDAMEQLQ: '20-ALL OTHER KC 1911-1921 (NOTICABLY IMPROVED KRUPP KC a/A, WITH SOME IMPROVED TOUGHNESS, BUT STILL NO 'SOFTSHAT' CAPABILITY) AVE1922: Q = .9: GOTO QDAMEQLQ: '21-ALL OTHER KC 1922-1930 (FURTHER IMPROVED KC a/A; BUT STILL NO 'SOFTSHAT' CAPABILITY, TO MY KNOWLEDGE) AVE1930: SOFTSHAT = 1: THKTHN = 1: '22-MOST DEFAULTS USED HERE. ALL OTHER POST-1930 KC (VERY IMPROVED KC a/A) (ALL ARE EXTRA-TOUGH 'SOFTSHAT' PLATES--SOFT AP/HOODS CAPS DO NOT WORK VERY WELL) ' QDAMEQLQ: QDAM = Q: 'DEFAULT 'Q'='QDAM' VALUE FOR MOST ARMORS ' ** END OF SUB ARMORINFO ** END SUB SUB AUSTHUNGPROJ STATIC ' ' SCREEN PRINT OF AUSTRO-HUNGARIAN PROJECTILE OPTIONS ' PRINT " 1. Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shell(1890-1900) (*)" PRINT " 2. Average Soft-capped Chilled Cast Iron APC Shot (1898-1900) (*)" PRINT " 3. Average Steel AP Shot/Shell (0-6% black-powder/HE filler)(1890-1908)" PRINT " 4. Ave Soft-capped Steel APC Shot/Shell (0-6% black-powdr/HE filler)(1898-1908)" PRINT " 5. British-type CP without AP cap (9-10% black-powder/HE filler) (1900-18)(*)" PRINT " 6. Tough-capped 'AP Shell'/Common(E.Gr.)(4-6% black-pwdr/HE filler)(1909-18)(*)" PRINT " 7. British-type CPC w/Tough AP cap(Z.gr.)(9-10% blk-pwdr/HE filler)(1909-18)(*)" PRINT " 8. Skoda APC (P.Gr.) with Tough AP cap (2-3.5% block-TNT filler) (1909-18)" PRINT PRINT "NOTE: 'Tough' caps were 25% nickel so were a kind of homogeneous armor, not soft" PRINT " and not hard, so I lump them with thin hard caps used in some SAPC shells." PRINT ' ** END SUB AUSTHUNGPROJ ** END SUB SUB BENDLOGIC '* BRITISH DEFORMABLE PROJ ('BEND' = 1) PENETRATION RULES IF (BEND = 1) AND (SHAT = 0) THEN IF (OB >= OBCRIT) THEN IF (CARDONALD = 1) THEN 'IF CARDONALD PROJ COMPLETELY PENETRATES AT ABOVE CRITICAL VEL, IT IS INTACT IF (VS >= VSCRIT) THEN BRK = 0: ELSE BRK = 7 ELSE BRK = 8: 'ONLY CARDONALD PROJECTILES RECOVER FROM SHATTER-BREAKAGE HERE END IF ELSE IF (((BRAIK = 0) AND (PENFLG < 2)) OR (PENFLG = 2)) THEN BRK = 0: ' PROJ BODY DAMAGE NIL BELOW 'OBCRIT' ON COMPLETE PENETRATION OR WITH STRONG PROJ ELSE BRK = 9: ' WEAK ('BRAIK' > 0) PROJ BODY BREAKS IF NOT COMPLETE PENETRATION END IF END IF END IF ' ** END SUB BENDLOGIC ** END SUB SUB BRITAINPROJ STATIC ' ' SCREEN PRINT OF BRITISH PROJECTILE OPTIONS ' PRINT " 1. Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shell (1890-1900)(*)" PRINT " 2. Average Steel AP Shot/Shell (0-6% black-powder/Lyddite filler) (1890-1905)" PRINT " 3. Average uncapped Common, Pointed (CP)(6.6-9.4% black-powder filler)(1900-21)" PRINT " 4. Ave. Common, Pointed,(Soft-)Capped(CPC)(6.6-9.4% blak-pdr/Shellite)(1905-25)" PRINT " 5. 6 to 12-in first Soft-capped cast-steel APC(3.05-3.4% Lyddite filr)(1905-11)" PRINT " 6. 6 to 13.5-in(Light) improved cast-steel APC(3.05-3.4% Lyddite filr)(1912-18)" PRINT " 7. 13.5(Hvy), 14, 15 & 18-in forged-steel APC(3.15-3.87% Lyddite filr)(1913-18)" PRINT " 8. 12-in Mk 7A GREEN BOY(=Hard cap/delay fuze)APC(2.5% Shellite fillr)(1918-45)" PRINT " 9. 13.5(Heavy)/14/15-in Mark 5A GREEN BOY APC (2.5% Shellite filler) (1918-35)" PRINT "10. 15-in Mark 5A 'Improved' (special 'blue-band' model) APC (1921-35)" PRINT "11. Average post-WWI CPBC/SAP (w/Hood & 4-6% TNT or Shellite filler) (1921-55)" PRINT "12. Post-WWI 8-in Mark 1B & 4B SAPC (4-5% TNT filler)" PRINT "13. 9.2-in GREEN BOY Coast Defense (C.D.) APC(3.4% Shellite filler) (1919-35)" PRINT "14. 9.2-in Mark 12A C.D.(made by Brit. & US) APC(3.4% Shellite filler) (1935-50)" PRINT "15. 16-in Mark 1B (NELSON Class) APC (2048 lb & 2.25% Shellite filler) (1925-45)" PRINT "16. 14-in Mark 1B/8B (KING GEORGE V Cl.), 15-in Mark 13A/non-Cardonald 17B/22B," PRINT " & Projected 16-in Mark 2B (WWII LION Cl.) APC (2.5% TNT filler) (1935-57)" PRINT "17. Royal Ordnance Factory WWII 15-in Mk 17B 'Cardonald' APC (hardened)(1940-45)" PRINT PRINT "NOTE: French 'K' explosive windscreen dye bag design adopted late in WWII for" PRINT " 14-in & 15-in APC shell spotting (not sure about other sizes)." PRINT ' ** END SUB BRITAINPROJ ** END SUB SUB CALCVDF STATIC ' ' COMPUTE VELOCITY HOLING DIFFERENTIAL TO USE IN THIS CASE ' ' BRITTLE WWI PLATES (ALL 'THKTHN = 0' PLATES) USE 'VDFSTDWW1'; ' ALL MORE MODERN, TOUGHER ('THKTHN > 0') PLATES USE SMALLER 'VDFSTDWW2' DIFFERENCE. ' BRITISH DEFORMABLE PROJECTILES ('BEND' = 1) VARY THIS FROM A NARROW GAP UP TO 22.5 DEG ' THEN A RAPID INCREASE IN THE GAP UNTIL IT REACHES THE STANDARD PLATE GAP AT & ABOVE 45 DEG. ' A CARDONALD PROJ IS MORE RIGID AND DOES NOT SUFFER THIS RAISING OF THE HBL (AT LEAST AS I SEE IT NOW). ' NON-BRITISH-CPC-TYPE PROJECTILES THAT BREAK IF THEY DO NOT COMPLETELY PENETRTATE HAVE HBL RAISED BY 'SHATVDF' ' SOFT-CAPPED BRITISH-CPC-TYPE PROJECTILES ALWAYS USE THE WWII VDF VALUE (THE GAP BETWEEN HBL & NBL STAYS LARGE) ' IF SHATTER OCCURS OR 'VDFBRK' IF NO SHATTER (CALCULATED IN SUBROUTINE 'CALCNBL' IN 'FH40MAIN' MODULE) ' 'VARIABLE 'VDFSTD' USED FOR NON-DEFORMING PROJ & BRITISH 'CARDONALD' PROJ WITH 'VLND' & 'VHND' ' IF ((THKTHN > 0) OR ((BRAIK > 0) AND (LTCASE = 2) AND (ABS(HARD) = 1))) THEN 'TOUGHER WWII & BRITISH POST-1911/WITKOWITZER WWI ARMORS OR BRITISH-CPC-TYPE PROJ VDFSTD = VDFSTDWW2 ELSEIF ((ARMOR = 3) OR (ARMOR = 4)) THEN 'HARVEY ARMOR GAP BETWEEN HBL & HBL WITH SHATR, OR WITH STRONG PROJ W/O SHATR VDFSTD = VDFHARVEY 'THIS GAP IS WIDE BECAUSE PENETRATION IS MORE LIKE THROUGH A HOMOGENEOUS PLATE. ' THERE ARE MANY NOSE-STUCK-IN-PLATE RESULTS AND DEEP INCOMPLETE PENETRATIONS, ' WITH VERY FEW PLUGS THROWN ON HOLING, SO ONLY WITH WEAK BROKEN UP OR ANY ' SHTRED PROJ WILL MORE AND MORE PROJ PIECES GO THROUGH UNTIL EVERYTHING DOES. ELSE VDFSTD = VDFSTDWW1: ' BRITTLE WWI ARMOR VEL GAP BETWEEN HBL & NBL END IF ' VDFUSED = VDFSTD: ' DEFAULT FOR MOST NON-BRITTLE PROJ (CONSTANT FOR ALL 'OB') ' IF ((BEND = 1) AND (CARDONALD = 0)) THEN ' BRITISH DEFORMABLE NON-CARDONALD PROJ OBVDF = OB IF (OB < 22.5) THEN OBVDF = 22.5: ' EQUAL TO 'DIF2' IF OB =< 22.5 DEG IF (OB > 45) THEN OBVDF = 45: ' EQUAL TO 'DIF1+DIF2' IF OB >= 45 DEG NINETYDEG = 90 / 57.29578: ' CHANGE TO RADIANS FOR SINE VDFVAL = NINETYDEG * (2 * ((OBVDF - 22.5) / 22.5) + 1) DIF1 = .08: DIF2 = .01: ' NON-CARDONALD DEFORMING PROJ THAT ARE NOT AS BRITTLE VDFBND = (VDFUSED / (DIF1 + DIF2)) * (DIF1 * (1 - SIN(VDFVAL)) / 2 + DIF2) ELSE VDFBND = 0: 'NON-BENDING PROJECTILES OR BRITISH CARDONALD BENDING PROJECTILES END IF ' ** END OF SUB CALCVDF ** END SUB SUB DEFLECCALC STATIC 'CALCULATED DEFLECTION OF 'EX' FROM ORIGINAL IMPACT 'OB' VRAT = VRATVEL / VRATMIN TMPV = VRAT ^ 2 - 1: TMPVEL = VRAT ^ 2 + VRAT * SQR(TMPV) TMPDF1 = SNCSMAX / TMPVEL: TMPDF2 = 1 - 4 * TMPDF1 ^ 2 TANOBDF = (1 - SQR(TMPDF2)) / (2 * TMPDF1): 'TRIG IDENTITY FOR TANGENT OF 'OBDF' TMPOBDF = ATN(TANOBDF) * 57.29578: ''TMPOBDF' = 'EXMIN' AT NBL, SO EXTRA LOGIC NEEDED IF (OB-EXMIN)>45 DEG IF ((OB - EXMIN) > 45!) THEN OB45CALC = ((OB - EXMIN) - 45!) / 45!: 'OB45CALC' = FRACTION OF (OB - EXMIN) > 45 DEG ELSE OB45CALC = 0: ' DEFAULT VALUE RESTORED END IF TMPOBDF = TMPOBDF * (1 + OB45CALC): ''OB45CALC' CHANGES IN STEP WITH 'OBDF' FOR 45 DEG, IF NOT ZERO ' ** END OF SUB DEFLECCALC ** END SUB SUB EFFVELINIT STATIC ' INITIALIZE EFF VEL CALC VARIABLES ' 'INIT STRING VARIABLES ' EBL$ = "'Effective' Ballistic Limit =" PAND$ = "": HBLTONBL$ = "": EFFPRINT1$ = "": EFFPRINT2$ = "": NTSTV$ = "" NOTE1$ = "": NOTE2$ = "": NOTE3$ = "": NOTE4$ = "": NOTE5$ = "": EFFVEL$ = "" NOTE5A$ = "USUALLY MINOR PROJ DAMAGE IF PLATE HOLED BELOW NBL; BREAKAGE LIKELY IF NO HOLE" NOTE5B$ = "USUALLY MINOR PROJ DAMAGE IF PLATE HIT BELOW NBL, WITH OR WITHOUT A HOLE" ' MINEV = 0: NOTEFLAG = 0: NSFLG = 0: CRITVEL = 0: NOSEVEL = 0: NVRFLAG = 0 MINEV1 = 0: MINEV2 = 0: MINEV3 = 0: MINEV4 = 0: MINEV5 = 0: NSTEST = 0 NSTESTV = 0 'SET UP FOR REVERSE 'EX' LOGIC IF (SHAT = 1) THEN MAXDIFF = 0: 'SHATR HAS NO LINEAR 'EX' PART BELOW 'VLMT' ELSE 'LINEAR 'EX' BELOW 'VLMT' OR WHEN 'OB'<=15 DEG IF (OB > 15!) THEN MAXDIFF = 15!: 'DEFLECTION AT 'VLMT' WHEN 'OB'>15 DEG ELSE MAXDIFF = OB: 'NO DEFLECTION AT 'VLMT' WHEN 'OB'<=15 DEG END IF END IF ' ** END OF SUB EFFVELINIT ** END SUB SUB FRANCEPROJ STATIC ' ' SCREEN PRINT OF FRENCH PROJECTILE OPTIONS ' PRINT " 1. Ave. Palliser/Gruson Chilled Cast Iron Shot & All Common Shell(1890-1910)(*)" PRINT " 2. Average Soft-capped Chilled Cast Iron APC Shot/Shell (1898-1910)(*)" PRINT " 3. Average Steel AP Shot/Shell (0-6% black-powder/Melanite filler) (1890-1922)" PRINT " 4. Ave SAPC(SAP w/Soft cap)(4-6% blk-powdr/Melanite/Shellite filler)(c.1900-09)" PRINT " 5. Ave SAPC(SAP w/Hard cap) (4% Melanite/Shellite filler) (c.1909-1945)" PRINT " 6. Average SAP (4-6% TNT/British 'Shellite' filler) (1923-60)(*)" PRINT " 7. 33cm APC (1934 SAPC)(4% Shellite filr)(O.Pf(RC) KMle 34 w/ & w/o 'K' Mod)(*)" PRINT " 8. 38cm APC (original French 1940)(2% Shellite filler)(O.Pf(RC) KMle 40 w/K)(*)" PRINT " 9. 38cm APC (US Crucible Steel AP Mk 1 1943)(2% Ex. D filler)(O.Pf(RC) KMle 43)" PRINT PRINT "NOTES: PRINT " (1) A Semi-Armor-Piercing (SAP) shell is a base-fuzed Common w/heavy AP nose." PRINT " The French used them with AP caps & 4-6% fillers instead of APC prior to" PRINT " making their last WWII 38cm APC shell. The c.1909 hard caps were only" PRINT " hardened near the conical face, with soft homogeneous-steel-armor-like" PRINT " material for the entire side to the base of the skirt, not designed for" PRINT " oblique impact over about 30 degrees or so. I am lumping them with thin" PRINT " hard caps and 'tough' caps." PRINT " (2) 'K' Mod has HE shell impact nose fuze in windscreen tip, a small HE" PRINT " charge attached to it, and a large dye bag. Indicates both hits & misses" PRINT " of ship firing shell, even at night, by flash, smoke, & splash color." PRINT " Also adopted by British late in WWII to help in spotting of gunfire." PRINT ' ** END SUBROUTINE FRANCEPROJ ** END SUB SUB GERMANYPROJ STATIC ' SCREEN PRINT OF ALL GERMAN NAVAL PROJECTILES (MOSTLY KRUPP) PRINT " 1. Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shell (1890-1900)(*)" PRINT " 2. Krupp Steel AP Shot/Shell(Psgr.)(0-6% black-pwdr/block-TNT fillr)(1890-1918)" PRINT " 3. Ave Steel SAP (Spgr.m.Bdz.='HE Shell w/base fuze') (4-6% filler)(1900-29)(*)" PRINT " 4. Ave Soft-capped APC(Psgr.m.K.)w/black-pwdr/block-TNT(Gr.f.88)filr(1898-1910)" PRINT " 5. Krupp Tough-capped L/3.2 & L/3.4 APC w/blok-TNT & delay-action fuze(1911-18)" PRINT " 6. Krupp WWII 15-28.3cm 'Special' SAP w/'Grundring' (Spgr.m.Bdz.u.Hb.)(1930-45)" PRINT " 7. WWII 38cm & Projected 40.6cm L/4.6 SAPC (SAP w/hard cap)(Spgr.m.Bdz.u.K.)(*)" PRINT " 8. Post-WWI 15cm L/3.7 APC (All German Navy 15cm guns 1925-45)" PRINT " 9. Post-WWI 28.3cm L/3.7 APC ('28cm') ('Pocket BB' main armament)" PRINT "10. WWII 20.3cm L/4.4 and Prototype 30.5cm L/4.4 & 1944 15cm L/4.6 APC" PRINT "11. WWII 28.3cm L/4.4 APC ('28cm')" PRINT "12. WWII 38cm L/4.4 APC" PRINT "13. WWII 40.6cm L/4.4 and Projected 45.7cm & 50.8cm (L/4.4?) APC" PRINT "14. Krupp long-range, light-weight Coast Artillery APC (21/28.3/38/40.6cm) (*)" PRINT "15. Projected 53cm 'Gerat. 36' (L/4.4?) APC for H-44-Type Battleships (*)" PRINT "NOTES:" PRINT " (1) Semi-Armor-Piercing (SAP) Shells are base-fuzed Common with heavy AP noses" PRINT " (2) Post-1930 German Common & APC projectile types had aluminum windscreens" PRINT " (3) 'Grundring' (US Hood) is a thin AP-cap-like nose sheath to hold windscreen" PRINT " (3) 'Tough' caps work to at least 30 degrees (either made of something like" PRINT " homogeneous steel armor with a high nickel content (Skoda 1908 caps) &/or" PRINT " extra-strong (Krupp high-temperature) solder." PRINT ' ** END SUB GERMANYPROJ ** END SUB SUB INITVALHDR STATIC ' ' INITIALIZE CONSTANTS AND PRINT SCREEN HEADER VXP = 1 / 1.21: 'INVERSE OF VEL-TO-THICKNESS EXPONENT (= 0.8264463) '"VDFXXX" IS THE VELOCITY DIFFERENCE BETWEEN HOLING AND COMPLETE PENETRATION LIMITS (100*%(NBL-HBL)) VDFHARVEY = .13#: 'HARVEY ARMOR VEL DIFF VDFSTDWW1 = .1256839#: 'STANDARD WWI VEL DIFF VDFSTDWW2 = .09#: 'STANDARD WWII VEL DIFF VDFBRK = .02#: 'VEL DIFF IF PROJ ALWAYS BREAKS IF IT DOES NOT PENETRATE COMPLETELY (EXCEPT AGAINST HARVEY ARMOR) PRINT "NATHAN OKUN FACE HARDENED ARMOR PENETRATION PROGRAM(c) (VERSION 6.9 (3/5/2012))": PRINT : 'CENTERED TITLE PRINT " *** Press RETURN/ENTER without entry to repeat a previous DATA VALUE entry ***": PRINT ' ' ** END OF SUB INITVALHDR ** END SUB SUB ITALYPROJ STATIC ' ' SCREEN PRINT OF ITALIAN PROJECTILE OPTIONS ' PRINT " 1. Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shells(1890-1900)(*)" PRINT " 2. Average Steel AP Shot/Shell (0-6% black-powder/HE filler)(1890-23)" PRINT " 3. Ave. Soft-capped Steel APC Shot/Shell (0-6% black-powder/HE filler)(1890-30)" PRINT " 4. Average British uncapped CP (6.6-9.4% black-powder filler)(1900-23)" PRINT " 5. Average British Soft-capped CPC (6.6-9.4% black-powder filler)(1912-23)" PRINT " 6. British improved cast 6-12-in APC (3.05-3.4% Lyddite filler) (1912-23)" PRINT " 7. British improved forged 15-in APC (c.3.5% Lyddite filler) (Proposed 1914 BB)" PRINT " 8. British 12-in Hard-capped 'Mark-7A' APC (2.5% TNT filler)(1921-30)" PRINT " 9. British 15-in Hard-capped 'Mark 5A' APC (2.5% TNT filler) (Proposed 1914 BB)" PRINT "10. Average Italian-design uncapped Common(SAP) (3-6% TNT filler)(1931-50)(*)" PRINT "11. Average Italian-design Hard-capped Common(SAPC)(3-6% TNT filler)(1931-50)(*)" PRINT "12. Ave Italian-dsign 15-38cm APC(2-2.9% TNT filr)(Imprvd Brit Mk5A)(1931-45)(*)" PRINT PRINT "NOTE: Since Italy used several British-type shells thru WWI, I use them as" PRINT " the baseline for improved Italian post-WWI APC. I use German SAP/SAPC" PRINT " shells as the basis for the Italian post-WWI SAP/SAPC ammo, though." ' ** END SUB ITALYPROJ ** END SUB SUB JAPANPROJ STATIC ' ' SCREEN PRINT OF JAPANESE PROJECTILE OPTIONS ' PRINT " 1. Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shells(1890-1900)(*)" PRINT " 2. Average Steel AP Shot/Shell (0-6% black-powdr/Shimose filler)(1890-1911)" PRINT " 3. Ave. Soft-capped Steel APC Shot/Shell(0-6% blak-pwdr/Shimose fillr)(1900-45)" PRINT " 4. Average uncapped British CP (6.1-10% black-powder/Shimose filler)(1895-1923)" PRINT " 5. 14/16.1-in(36/41cm)British CPC(6.1-10% black-powder/Shimose filler)(1912-28)" PRINT " 6. 14-in (36cm) British pre-Jutland APC (3.16% Shimose filler) (1912-21)" PRINT " 7. 36/41cm hard-capped APC (= British Mark 5 APC)(2.5% Shimose filler)(1921-28)" PRINT " 8. 20 (1928-45), 36, & 41cm Mk 6/Type 88 APC(= Brit. Mk 5 w/Cap Head) (1928-31)" PRINT " 9. 30.5 & 51cm (Proposed) & 36, 41, & 46cm Type 91/1 APC with Cap Head(1931-45)" PRINT "10. 15.5 & 20.3cm uncapped Type 91 AP (flat-nosed SAP) with Cap Head (1931-45)" PRINT PRINT "NOTE: Type 88 APC had 2.5% Shimose filler but Type 91/1 APC had 2.5% cavity with" PRINT " only 1.4-1.6% TNA filler & Type 91 AP had 4% cavity with only 2.5% TNA filler." PRINT " 'Cap head' is break-away nose tip lost with windscreen after any impact; it" PRINT " functions against face-hardened armor as tip of projectile cap or, for uncapped" PRINT " Type 91, as a very limited AP cap only during plate hole formation. Loss prior" PRINT " to plate impact reduces penetration slightly with capped projectiles, but prior" PRINT " loss results in a major loss of holing ability in uncapped Type 91 projectiles." PRINT ' ** END SUB JAPANPROJ ** END SUB SUB LMTSTRINGS STATIC ' ' BALLISTIC LIMIT DEFINITION STRINGS FOR PAGE 2 OF RESULTS DEFINED HERE ' RESNOTE$ = " BL USED FOR PENETRATION MARKED BY '-!-'/BL USED FOR POST-IMPACT LOGIC BY '-#-'" NBL1$ = "N1> Navy BL w/o shatter, but all other damage & given AP cap =" NBL2$ = "N2> Navy BL w/ shatter and all other damage & given AP cap =" NBL3$ = "(Worst (maximum) NBL at low OB; replaces N1 when OB <= 45 deg and N2 < N1)" NBL4$ = "N3> Navy BL w/ shatter, but no other damage & given AP cap =" NBL5$ = "(Replaces N2 (& N1/N4 if N2 does) @ NBL or VS if no shatter-changing damage)" NBL6$ = "N4> Navy BL if unshattered/undeformed body and given AP cap =" NBL7$ = "(Best (minimum) NBL; replaces N1 @ NBL or VS if no penetration-changing damage)" '* HBL1$ = "H1> Holing BL without shatter using given AP cap =" HBL2$ = "(Unshattered HBL if < H2 and non-shatter damage reduces penetration @ HBL)" HBL3$ = "(Includes Japanese uncapped Type 91 AP projectile w/cap head in place)" HBL4$ = "H2> Holing BL with shatter (AP cap, if any, did not work) =" HBL5$ = "(Replaces H1 if H2 <= H1 (smaller hole) or other damage adds to shatter @ HBL)" HBL6$ = "H3> Holing BL with shatter, but no other kind of damage =" HBL7$ = "(Best high-OB HBL; replaces H2 @ HBL or VS if no shatter-changing damage)" HBL8$ = "H4> Holing BL if unshattered/undeformed body & given AP cap =" HBL9$ = "(Best low -OB HBL; replaces H1 @ HBL or VS if no penetration-changing damage)" ' ' END SUBROUNTINE 'LMTSTRINGS END SUB SUB LPAUSTHUNG (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "AUSTRO-HUNGARIAN:" SELECT CASE PRJ CASE 1 LPRINT " Average Palliser/Gruson Chilled Cast Iron Shot & All Common Shells (1890-1900)" CASE 2 LPRINT " Average Soft-capped Chilled Cast Iron APC Shot (1898-1900)" CASE 3 LPRINT " Average Steel AP Shot/Shell (0-6% black-powder/HE filler) (1890-1908)" CASE 4 LPRINT " Ave Soft-capped Steel APC Shot/Shell (0-6% black-powder/HE filler)(1898-1908)" CASE 5 LPRINT " British-type CP without AP cap (9-10% black-powder/HE filler) (1900-18)" CASE 6 LPRINT " Tough-capped 'AP Shell'/Common (E.Gr.) (4-6% black-powder/HE filler)(1909-18)" CASE 7 LPRINT " British-type CPC w/Tough AP cap(Z.gr.)(9-10% black-powder/HE filler)(1909-18)" CASE 8 LPRINT " Skoda APC (P.Gr.) with Tough AP cap (2-3.5% block-TNT filler) (1909-18)" END SELECT '** END OF SUB LPAUSTHUNG ** END SUB SUB LPBRITISH (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "BRITISH:" SELECT CASE PRJ CASE 1 LPRINT " Average Chilled Cast Iron (Palliser) uncapped AP & Common" CASE 2 LPRINT " Average Steel AP Shot/Shell (0-6% black-powder/Lyddite filler) (1890-1905)" CASE 3 LPRINT " Average uncapped Common, Pointed (CP) (6.6-9.4% black-powder filler) (1900-21)" CASE 4 LPRINT " Ave. Common, Pointed,(soft)Capped(CPC) (6.6-9.4% black-pdr/Shellite) (1905-25)" CASE 5 LPRINT " 6 to 12-in first Soft-capped cast-steel APC (3.05-3.4% Lyddite filr) (1905-11)" CASE 6 LPRINT " 6 to 13.5-in(Light) improved cast-steel APC (3.05-3.4% Lyddite filr) (1912-18)" CASE 7 LPRINT " 13.5(Hvy), 14, 15 & 18-in forged-steel APC(3.15-3.87% Lyddite filler)(1913-18)" CASE 8 LPRINT " 12-in Mark 7A GREEN BOY APC (2.5% Shellite filler) (1918-45)" CASE 9 LPRINT " 13.5(Heavy)/14/15-in Mark 5A GREEN BOY APC (2.5% Shellite filler) (1918-35)" CASE 10 LPRINT " 15-in Mark 5A 'Improved' (special 'blue-band' model) APC (1921-35)" CASE 11 LPRINT " Average post-WWI CPBC/SAP (w/Hood & 4-6% TNT or Shellite filler) (1921-55)" CASE 12 LPRINT " Post-WWI 8-in Mark 1B & 4B SAPC (4-5% TNT filler)" CASE 13 LPRINT " 9.2-in GREEN BOY Coast Defense APC (3.4% Shellite filler) (1919-35)" CASE 14 LPRINT " 9.2-in Mk 12A Coast Defence(made by Br./US)APC(3.4% Shellite fillr)(1935-50)" CASE 15 LPRINT " 16-in Mark 1B (NELSON Class) APC (2048 lb & 2.25% Shellite filler) (1925-45)" CASE 16 LPRINT " 14-in Mark 1B/8B (KING GEORGE V Cl.), 15-in Mark 13A/non-Cardonald 17B/22B," LPRINT " & Projected 16-in Mark 2B (WWII LION Cl.) APC (2.5% TNT filler) (1935-57)" CASE 17 LPRINT " Royal Ordnance Factory WWII 15-in Mk 17B 'Cardonald' APC (hardened) (1940-45)" END SELECT ' ** END OF SUB LPBRITISH ** END SUB SUB LPDAMAGE STATIC 'PRINT TO PRINTER NOSE & BODY DAMAGE INFO SELECT CASE SHATPRT CASE 0 LPRINT "STANDARD SHATTER LOGIC USED" CASE 1 LPRINT "PLATE TOO THIN TO SHATTER PROJECTILE AT THIS OBLIQUITY" CASE 2 LPRINT "HARVEY ARMOR WILL NOT SHATTER THIS PROJECTILE" CASE 3 LPRINT "COMPOUND ARMOR WILL NOT SHATTER THIS PROJECTILE" END SELECT '* '**** PRINT IT **** '* LPRINT BDYDM1$ LPRINT BDYDM2$ IF (BDYDM4$ <> "") THEN LPRINT BDYDM4$ IF (BDYDM5$ <> "") THEN LPRINT BDYDM5$ '* IF (NSBRK1$ <> "") THEN LPRINT NSBRK1$ IF (BDYDM3$ <> "") THEN LPRINT BDYDM3$ ' ** END SUB LPDAMAGE ** END SUB SUB LPFRENCH (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "FRENCH:" SELECT CASE PRJ CASE 1 LPRINT " Average Palliser/Gruson Chilled Cast Iron Shot & All Common Shell (1890-1910)" CASE 2 LPRINT " Average Soft-capped Chilled Cast Iron APC Shot (1898-1910)" CASE 3 LPRINT " Average Steel AP Shot/Shell (0-6% black-powder/Melanite filler) (1890-1922)" CASE 4 LPRINT " Ave SAPC(SAP w/Soft cap)(4-6% blk-powder/Melanite/Shellite filler)(c.1900-09)" CASE 5 LPRINT " Ave SAPC(SAP w/Hard cap) (4% Melanite/Shellite filler) (c.1909-45)" CASE 6 LPRINT " Average SAP (4-6% TNT/British 'Shellite' filler) (1923-60)" CASE 7 LPRINT " 33cm APC (1934 SAPC) (4% Shellite filler) (O.Pf(RC) KMle 34)" CASE 8 LPRINT " 38cm APC (original French 1940) (2% Shellite filler) (O.Pf(RC) KMle 40)" CASE 9 LPRINT " 38cm APC (US Crucible Steel AP Mk 1 1943)(2% Ex. D filler) (O.Pf(RC) KMle 43)" END SELECT ' ** END OF SUB LPFRENCH ** END SUB SUB LPGERMAN (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "GERMAN:" SELECT CASE PRJ CASE 1 LPRINT " Ave Palliser/Gruson Chilled Cast Iron Shot & All Common Shells (1890-1900)" CASE 2 LPRINT " Krupp Steel AP Shot/Shell(Psgr.)(0-6% black-powdr/block-TNT fillr)(1890-1918)" CASE 3 LPRINT " Average Steel SAP (Spgr.m.Bdz.) (4-6% filler) (1900-29)" CASE 4 LPRINT " Ave Steel APC (Psgr.m.K.) w/black-powder/block-TNT(Gr.f.88) filler(1898-1910)" CASE 5 LPRINT " Krupp Tough-capped L/3.2 & L/3.4 APC w/block-TNT & delay-action fuze(1911-18)" CASE 6 LPRINT " Krupp SAP (Common w/base-fuze & hood (Grundring)) (Spgr.m.Bdz.u.Hb.)(1930-45)" CASE 7 LPRINT " WWII 38cm & Projected 40.6cm L/4.6 SAPC (Common with AP cap)(Spgr.m.Bdz.u.K.)" CASE 8 LPRINT " Post-WWI 15cm L/3.7 APC (All German Navy 15cm guns 1925-45)" CASE 9 LPRINT " Post-WWI 28.3cm L/3.7 APC ('28cm') ('Pocket BB' main armament)" CASE 10 LPRINT " WWII 20.3cm L/4.4 and Prototype 30.5cm L/4.4 & 1944 15cm L/4.6 APC" CASE 11 LPRINT " WWII 28.3cm L/4.4 APC ('28cm')" CASE 12 LPRINT " WWII 38cm L/4.4 APC" CASE 13 LPRINT " WWII 40.6cm L/4.4 & Projected 45.7cm & 50.8cm (L/4.4?) APC" CASE 14 LPRINT " Krupp long-range, light-weight Coast Artillery APC (21/28.3/38/40.6cm)" CASE 15 LPRINT " Projected 53cm 'Gerat. 36' (L/4.4?) APC for H-44-Type Battleships" END SELECT ' ** END OF SUB LPGERMAN ** END SUB SUB LPITALIAN (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "ITALIAN:" SELECT CASE PRJ CASE 1 LPRINT " Average Chilled Cast Iron (Palliser/Gruson) uncapped AP & Common" CASE 2 LPRINT " Average Steel AP Shot/Shell (0-6% black-powder/HE filler) (1890-23)" CASE 3 LPRINT " Ave. Soft-capped Steel APC Shot/Shell (0-6% black-powder/HE filler) (1905-30)" CASE 4 LPRINT " Ave. British uncapped CP (6.6-9.4% black-powder filler) (1900-23)" CASE 5 LPRINT " Ave. British Soft-capped CPC (6.6-9.4% black-powder filler) (1912-23)" CASE 6 LPRINT " British improved 6-12-in cast steel APC (3.05-3.4% Lyddite filler) (1912-23)" CASE 7 LPRINT " British improved 15-in forged APC (c.3.5% Lyddite filler) (Proposed 1914 BB)" CASE 8 LPRINT " British 12-in Hard-capped 'Mark-7A' APC (2.5% TNT filler) (1923-30)" CASE 9 LPRINT " British 15-in Hard-capped 'Mark 5A' APC (2.5% TNT filler) (Proposed 1914 BB)" CASE 10 LPRINT " Average Italian-design uncapped Common (SAP) (3-6% TNT filler) (1931-50)" CASE 11 LPRINT " Average Italian-design Hard-capped Common (SAPC) (3-6% TNT filler) (1931-50)" CASE 12 LPRINT " Ave Italian-design 15-38cm APC(2-2.9% TNT filler)(Improved Brit. Mk 5A)(1931-45)" END SELECT ' ** END OF SUB LPITALIAN ** END SUB SUB LPJAPANESE (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "JAPANESE:" SELECT CASE PRJ CASE 1 LPRINT " Average Palliser/Gruson Chilled Cast Iron Shot & All Common Shells (1890-1900)" CASE 2 LPRINT " Average Steel AP Shot/Shell (0-6% black-powder/Shimose filler) (1890-1911)" CASE 3 LPRINT " Ave. Soft-capped Steel APC Shot/Shell(0-6% black-pwdr/Shimose filler)(1900-45)" CASE 4 LPRINT " Ave. uncapped British CP (6.1-10% black-powder/Shimose filler) (1895-1923)" CASE 5 LPRINT " 14/16.1-in (36/41cm) British CPC(6.1-10% black-powder/Shimose filler)(1912-28)" CASE 6 LPRINT " 14-in (36cm) British pre-Jutland APC (3.16% Shimose filler) (1912-21)" CASE 7 LPRINT " 36/41cm Hard-capped APC (= British Mark 5 APC) (2.5% Shimose filler)(1921-28)" CASE 8 LPRINT " 20 (1928-45), 36, & 41cm Mk 6/Type 88 APC (= Brit. Mk 5 w/Cap Head) (1928-31)" CASE 9 LPRINT " 30.5 & 51cm (Proposed) & 36, 41, & 46cm Type 91/1 APC with Cap Head (1931-45)" CASE 10 LPRINT " 15.5 & 20.3cm uncapped Type 91 AP (flat-nosed SAP) with Cap Head (1931-45)" END SELECT '** END OF SUB LPJAPANESE ** END SUB SUB LPPROJIMPACT STATIC 'PRINT D, VS, & OB TO PRINTER LPRINT "Projectile Diameter (Caliber) ="; D; "inch"; IF (D > 1!) THEN LPRINT "es": ELSE LPRINT LPRINT "Projectile Striking Velocity ="; VS; IF (VS > 1!) THEN LPRINT "feet/second": ELSE LPRINT "foot/second" LPRINT "Projectile Impact Obliquity ="; OBPRNT; "degree"; IF (OBPRNT > 1!) THEN LPRINT "s": ELSE LPRINT ' ** END OF SUB LPPROJIMPACT ** END SUB SUB LPRINTHDR STATIC LPRINT SPC(4); "USUAL RESULTS OF NATHAN OKUN FACE HARDENED ARMOR PENETRATION PROGRAM (c)" LPRINT SPC(23); "(VERSION 6.9 DATED 5 MARCH 2012)" LPRINT : LPRINT LPRINT SPC(21); ">>>>>>>> ARMOR TYPE USED ="; ARMOR; "<<<<<<<<" LPRINT SELECT CASE ARMOR CASE 1 LPRINT " Gruson Chilled Cast Iron (1868-90) (land fortification dome turrets)" CASE 2 LPRINT " Average Compound (hardened-steel-faced wrought iron) (1880-90)" CASE 3 LPRINT " Harveyized (cemented/carburized/case hardened) Mild Steel (1891-1900)" CASE 4 LPRINT " Harveyized Nickel-Steel (1890-1900) (usual 'Harvey' armor)" CASE 5 LPRINT " German original Krupp Cemented (1894-1918) ('KC a/A' (KC 'Old Type'))" CASE 6 LPRINT " German new KC 'n/A' ('New Type') (1928-36) for 'Pocket BB' turrets only" CASE 7 LPRINT " German improved thick-plate KC n/A (1936-45) (SCHARNHORST & BISMARCK)" CASE 8 LPRINT " Austro-Hungarian Witkowitz KC (1898-1918)" CASE 9 LPRINT " British average KC manufactured 1911-21 (all manufacturers)" CASE 10 LPRINT " British average KC manufactured 1922-30 (all manufacturers)" CASE 11 LPRINT " British average post-1930 Cemented Armor (all manufacturers)" CASE 12 LPRINT " Italian Terni Cemented Armor (TC) (thin face for thick plates) (1935-45)" CASE 13 LPRINT " Japanese Vickers Hardened (non-cemented) (1937-45)" CASE 14 LPRINT " U.S. Midvale Non-Cemented Class 'A' (1907-12 & 1922)" CASE 15 LPRINT " U.S. Bethlehem Thin Chill Class 'A' (1921-25) (also made by Midvale)" CASE 16 LPRINT " U.S. average of all other Class 'A' manufactured 1911-25" CASE 17 LPRINT " U.S. average 1935-1943 Class 'A' (all manufacturers) (original)" CASE 18 LPRINT " U.S. average 1944-1950 Class 'A' (all manufacturers) (improved)" CASE 19 LPRINT " Average of all other KC introduced before 1911 (including U.S.& Britain)" CASE 20 LPRINT " Average of all other KC introduced between 1911 and 1921" CASE 21 LPRINT " Average of all other KC introduced between 1922 and 1930" CASE 22 LPRINT " Average of all other KC introduced after 1930" END SELECT ' ' ** END OF SUB LPRINTHDR ** END SUB SUB LPRNTARMOR STATIC ' PRINT ARMOR TYPE & PARAMETERS TO PRINTER LPRINT LPRINT "SEE PROGRAM ARMOR PARAMETER CHANGE LOGIC FOR MEANING OF VALUES & FLAGS." IF ((ARMOR = 1) OR (ARMOR = 3) OR (ARMOR = 4) OR (ARMOR = 12)) THEN LPRINT "GRUSON, HARVEY, & TC ARMORS: Soft Back Layer Percentage 'UB' varies with" LPRINT "plate thickness. Calculated default 'UB' value for this plate given in" LPRINT "'ORIGINAL ARMOR' data. 'CURRENT ARMOR' data may use a manual override." UBPRNT = UBCALC ELSE UBPRNT = UBSV END IF LPRINT "FLAGS = '0'(CLEAR), '1'(SET), or, for SOFTSHAT, CARTWL & THKTHN, '2'(ALTERNATE)" LPRINT "ORIGINAL ARMOR TABLE PARAMETER VALUES:"; TAB(41); "UB ="; UBPRNT; TAB(52); "Q ="; QSV; TAB(64); "QDAM ="; QDAMSV LPRINT " FLAGS: CARTWL="; CARTWLSV; TAB(21); "CMPND="; CMPNDSV; TAB(31); LPRINT "THNCHL="; THNCHLSV; TAB(42); "SOFTSHAT="; SOFTSHATSV; TAB(55); "THKTHN="; THKTHNSV LPRINT "CURRENT ARMOR PARAMETER VALUES:"; TAB(41); "UB ="; UB; TAB(52); "Q ="; Q; TAB(64); "QDAM ="; QDAM LPRINT " FLAGS: CARTWL="; CARTWL; TAB(21); "CMPND="; CMPND; TAB(31); LPRINT "THNCHL="; THNCHL; TAB(42); "SOFTSHAT="; SOFTSHAT; TAB(55); "THKTHN="; THKTHN NATN$ = STR$(NATION): PRJ$ = STR$(PROJ) PSL$ = " >>>>>>>> PROJECTILE TYPE USED: NATION =" + NATN$ + " & SELECTION =" + PRJ$ + " <<<<<<<<" ' ** END OF SUB LPRNTARMOR ** END SUB SUB LPRNTSECPG STATIC 'PRINT OUT SECOND PAGE OF DATA (EBL/NBL/HBL) TO PRINTER LPRINT TAB(34); "PAGE 1 OF 2": LPRINT CHR$(12); : 'FORM FEED '* LPRINT SPC(12); CALC$ LPRINT LPRINT RESNOTE$ LPRINT LPRINT NBL1$; VELLTRU$; " "; N1$ LPRINT NBL2$; VELLSHAT$; " "; N2$: LPRINT NBL3$ LPRINT NBL4$; VELLSHATMAX$; " "; N3$: LPRINT NBL5$ LPRINT NBL6$; VELLND$; " "; N4$: LPRINT NBL7$ LPRINT LPRINT HBL1$; VELHTRU$; " "; H1$: LPRINT HBL2$: LPRINT HBL3$ LPRINT HBL4$; VELHSHAT$; " "; H2$: LPRINT HBL5$ LPRINT HBL6$; VELHSHATMAX$; " "; H3$: LPRINT HBL7$ LPRINT HBL8$; VELHND$; " "; H4$: LPRINT HBL9$ '* 'PRINT EFFECTIVE B.L. LPRINT : LPRINT EBL$; IF (EFFVEL$ <> "") THEN LPRINT EFFVEL$; IF ((VHOL <= 4000) AND (PAND$ <> "")) THEN LPRINT PAND$: LPRINT SPC(29); END IF IF (HBLTONBL$ = "") THEN LPRINT EFFPRINT1$; EFFPRINT2$; IF (NVRFLAG = 1) THEN LPRINT OBCRIT: ELSE PRINT ELSE LPRINT HBLTONBL$ END IF LPRINT IF (NOTE1$ <> "") THEN LPRINT NOTE1$: LPRINT NOTE2$ IF (NOTE3$ <> "") THEN LPRINT NOTE3$ IF (NOTE4$ <> "") THEN LPRINT NOTE4$ IF ((NOTE5$ <> "") AND ((BEND = 1) OR ((BEND = 0) AND (MINEV >= VHOL)))) THEN LPRINT NOTE5$ LPRINT : LPRINT : LPRINT TAB(34); "PAGE 2 OF 2": LPRINT CHR$(12); : 'FORM FEED ' ** END OF SUB LPRNTSECPG ** END SUB SUB LPRUSSIAN (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "RUSSIAN:" SELECT CASE PRJ CASE 1 LPRINT " Ave. Palliser/Gruson Chilled Cast Iron Shot & All Common Shells (1890-1900)" CASE 2 LPRINT " Average Soft-capped Chilled Cast Iron APC Shot/Shell (1896-1900)" CASE 3 LPRINT " Average Steel AP Shot/Shell(0-6% black-powder/wet guncotton filler)(1890-1904)" CASE 4 LPRINT " Ave. Soft-capped Steel APC Shot/Shell (0-6% wet guncotton filler) (1896-1906)" CASE 5 LPRINT " Post-1906 AP (= decapped Brit. Mk 5 APC) (3-4% TNT filler) (1907-45)" CASE 6 LPRINT " Post-1906 'Tough'-capped APC(Brit Mk 5 APC w/thnr cap)(3-4% TNT filr)(1907-45)" CASE 7 LPRINT " Post-1906 Common (= British WWI CP) (6-8% TNT filler) (1907-45)" CASE 8 LPRINT " Post-1906 'Tough'-capped Common(Brt WWI CPC w/betr cap)(6-8% TNT flr)(1907-45)" END SELECT LPRINT LPRINT "NOTE 1: Russian ammo identified by year introduced -- MODEL 1909, for example." LPRINT " Above year 1907 estimated as when the better AP/APC/CP/CPC shells" LPRINT " introduced (stronger bodies & better AP caps) and may not be exact" LPRINT " dividing line from the older, weaker shells in some guns." LPRINT " 2: 'Tough' cap is of high-nickel-content homogeneous-armor-like steel, not soft" LPRINT " and not hard, which seems to work up to at least 30 degrees obliquity." IF (PRJ < 5) THEN LPRINT "NOTE 3: 'Wet Guncotton' is a high explosive made from a modified form of" LPRINT " smokeless powder gun propellant. It replaced black powder sometime in" LPRINT " the 1890's. TNT replaced it around 1907." END IF '** END OF SUB LPRUSSIAN ** END SUB SUB LPUS (PRJ) STATIC LPRINT PSL$ LPRINT LPRINT "U.S.:" IF (PRJ > 13) THEN LPRINT " >>NOTE: 'Mk XX-Y-Z' means 'Mark (Design) XX Mod (Model/Version) Y to Z'<<" END IF SELECT CASE PRJ CASE 1 LPRINT " Ave. Army/Navy(A/N)Chilled Cast Iron (Palliser) Shot & Steel Common(1890-1910)" CASE 2 LPRINT " Ave. capped Chilled Cast Iron Army Coast Defense (ACD) Shot/Shell (1898-1910)" CASE 3 LPRINT " A/N Steel AP Shot/Shell (0-6% black-powder/Ex.D filler) (1890-1910)" CASE 4 LPRINT " A/N Soft-capped Steel APC Shot/Shell (0-6% blk-pwdr/Ex.D filr)(1897-1910N/20A)" CASE 5 LPRINT " Midvale Tough-body-steel AP Shot/Shell(0-6% black-pwdr/Ex.D filler)(1895-1910)" CASE 6 LPRINT " Midvale tough Soft-capped APC Shot/Shell(0-6% black-pwdr/Ex.D filr)(1897-1910)" CASE 7 LPRINT " Base-fuzed 7/12/14-in 'Bombardment' (Light-case) (9-11% Ex.D filler) (1914-42)" CASE 8 LPRINT " Ave. Navy 1911-23 APC except Navy Midvale 8-in Mk 11 (1911) & 'Midvale 1916'" CASE 9 LPRINT " Navy Midvale 8-in Mk 11 (1911) and all Navy 'Midvale Unbreakable 1916' APC" CASE 10 LPRINT " Ave. 1921-1935 ACD APC Shot (2-3% Ex. D filler) ('Midvale Army 1921')" CASE 11 LPRINT " Ave. post-1935 ACD APC Shot (1.4-2% Ex. D filler) (= Ave. Navy APC c.1940)" CASE 12 LPRINT " Ave WWI-era base-fuzed Common (some w/windscreens) (4-5% Ex.D filler)(1910-30)" CASE 13 LPRINT " Ave Special Common(w/Hood/windscreen/base fuze) (3-4.4% Ex.D filler) (1930-45)" LPRINT " (**Except 6-inch Mark 27 or 8-inch Mark 15 Special Common Shells**)" CASE 14 LPRINT " 6-in Mk 27-1-6 Special Common (= US Army AP) (2.1-2.4% Ex.D filler) (1933-45)" CASE 15 LPRINT " 8-in Mk 15-1 Hard-capped Special Common (= SAPC) (4.4% Ex. D filler) (1930)" CASE 16 LPRINT " 3-in Mk 29-1/30-1 (to 1944) and 8-in Mk 19-1-3 (to 1941) & ACD Mk 20-1 APC" CASE 17 LPRINT " 8-in Mk 19-4-6 APC" CASE 18 LPRINT " 6-in Mk 35-1-8 and 16-in Mk 8-1-5 (to 1944) APC" CASE 19 LPRINT " 8-in Mk 21-1-4, 14-in Mk 16-1-6 (to 1943) & A.C.D. Mk 20-1, and" LPRINT " 16-in Mk 5-1-4 (to 1944) & Mk 5-6 (ex-ACD Mk 12-1 w/Mk 21 BDF) APC" CASE 20 LPRINT " 3-in Mk 29-2/30-2, 6-in Mk 35-9-11, 8-in Mk 21-5, 12-in Mk 18-1," LPRINT " 14-in Mk 16-7-11, and 16-in Mk 5-5 & Mk 8-6-8 APC" END SELECT ' ** END OF SUB LPUS ** END SUB SUB OBHDSAPCAP STATIC '* PRINT DISCUSSION ABOUT OBLIQUITY, HOODS, & SOFT AP CAPS PRINT PRINT " OBLIQUITY IS MEASURED SO THAT ZERO DEGREES IS AT RIGHT-ANGLES TO PLATE FACE." PRINT " MAXIMUM OBLIQUITY FOR PLATE DAMAGE IS 75 DEG. (THICK) & 80 DEG. (OTHERWISE)." PRINT " MAXIMUM OBLIQUITY FOR COMPLETE PENETRATION WITHOUT SHATTER IS 70 DEG." PRINT PRINT " NOSE-ONLY SHATTER AND OTHER RESTRICTED DAMAGE EFFECTS ARE DUE TO THE SHELL'S" PRINT " EXPLOSIVE-FILLED CAVITY BEING SHORT ENOUGH TO NOT EXTEND VERY FAR INTO THE" PRINT " TAPERED NOSE REGION ABOVE THE BOURRELET, USUALLY BELOW 4-4.5% FILLER WEIGHT" PRINT " WITH STRONG PROJECTILES (MOSTLY POST-WWI HOODED/CAPPED COMMON DESIGNS)." PRINT IF (ABS(HARD) = 1) THEN 'SOFT AP CAP OR HOOD EXISTS IF (HARD = -1) THEN PRINT " HOODS ACT AS SOFT AP CAPS ABOVE MORE-BRITTLE PLATE'S NBL, REDUCING DAMAGE." PRINT " THIS RESULTS IN NOSE-ONLY SHATTER, OPENING EXPLOSIVE CAVITY IF OVER ~4.5%." PRINT " BELOW NBL OR AGAINST EXTRA-TOUGH ARMOR, HOOD DOES NOTHING." END IF PRINT " SOFT AP CAPS AND HOODS ALWAYS WORK IF OB<=15 DEG, BUT NEVER IF OB>20 DEG." IF ((SOFTSHAT = 0) AND (HARD = -1)) THEN PRINT " IF NOT EXTRA-TOUGH ARMOR, NOSE-ONLY SHATTER OCCURS WHENEVER HOOD WORKS.": 'HOODED PROJ PLATE RULE DEFINED ELSEIF (HARD = 1) THEN PRINT " IF EXTRA-TOUGH ARMOR, NOSE-ONLY SHATTER OCCURS WHENEVER SOFT CAP WORKS.": 'SOFTSHAT PLATE RULE DEFINED END IF PRINT END IF '** END OF SUB 'OBHDSAPCAP' ** END SUB SUB OBINPUT STATIC ' ' INPUT IMPACT OBLIQUITY VALUE ' PRINT "CURRENT IMPACT OBLIQUITY ="; OB; "degree"; IF (OB > 1!) THEN PRINT "s": ELSE PRINT OBLIQUE: INPUT "Impact Obliquity (OB), degrees: ", OB$ IF (OB$ = "") THEN PRINT "Using"; OB ELSE OBTEST = VAL(OB$) END IF IF ((OBTEST < 0) OR (OBTEST > MAXOB)) THEN GOTO OBLIQUE: 'BAD INPUT OB = OBTEST OBRAD = OB / 57.29578: 'OB IN RADIANS FOR BASIC TRIG FUNCTIONS ' ' ** END OF SUB OBINPUT ** END SUB SUB OBMULT STATIC ' 'INITIALIZE OBLIQUITY MULTIPLIER TABLES FOR UNSHATRD PROJ & THIN-PLATE SHATRD PROJ ' '* UNSHATRD PROJ 'MO' INTERPOLATION TABLE * M(0) = 1!: M(1) = 1.045: M(2) = 1.09: M(3) = 1.135: M(4) = 1.18 M(5) = 1.235: M(6) = 1.31: M(7) = 1.4: M(8) = 1.53: M(9) = 1.695: M(10) = 1.9 M(11) = 2.3: M(12) = 3.2: M(13) = 4.9: M(14) = 8!: M(15) = 15! ' NOTE: MS(14) IS FOR 70 DEG (MAX OB ALLOWED IF NO SHATR) ' 'SHATRD PROJ 'MSHAT' INTERPOLATION TABLE FOR 'THIN' PLATES (RELATIVE TO NORMAL OB VALUE) 'THICK PLATES USE FORMULA UP TO 75 DEG IN SUB "SETOBMULT" IF SHATR OCCURS OR FOR HIGH-OB HBL MS(0) = 1!: MS(1) = 1.002: MS(2) = 1.0078: MS(3) = 1.0176: MS(4) = 1.0314 MS(5) = 1.0495: MS(6) = 1.0722: MS(7) = 1.0994: MS(8) = 1.1317: MS(9) = 1.1672 MS(10) = 1.2018: MS(11) = 1.2377: MS(12) = 1.2782: MS(13) = 1.3236 MS(14) = 1.3715: MS(15) = 1.429: MS(16) = 1.51: MS(17) = 1.6036 ' NOTES: MS(16) IS FOR 80 DEG (MAX OB ALLOWED FOR THIN PLATE SHATR) ' ' ** END OF SUB OBMULT ** END SUB SUB PLUGCALC STATIC 'CALCULATE WEIGHTS OF EJECTED ARMOR PLUGS 'IRON WEIGHS ABOUT 0.283 LB/CUBIC INCH. FH PLATES ALWAYS FAIL BY PUNCHING A CYLINDRICAL, CONICAL, &/OR ELLIPTICAL PLUG OF ARMOR OUT OF PLATE'S BACK. ' 'PLUGMULT' ENLARGES HOLE IF GREATER THAN 1. SHATR MULTIPLIER OVERRIDES CARTWHEEL MULTIPLIER, IF BOTH APPLY IF (SHAT = 1) THEN PLUGMULT = 1.5: 'SHATTERED VALUE WITH IRREGULAR-SHAPED, ENLARGED HOLE ELSEIF (CART = 1) THEN PLUGMULT = 2: 'EXTREMELY BRITTLE PLATE GIVES WORST CASE CARTWHEEL VALUE FOR ALL IMPACTS (PROJ SHATR OVERRIDES THIS) ELSEIF (CART = 2) THEN PLUGMULT = 1 / COS(OBRAD): IF (PLUGMULT > 2) THEN PLUGMULT = 2: 'BRITTLE PLATE HAS PROBLEMS AT HIGH OBLIQUITY, BUT NOT MANY AT LOW OBLIQUITY ELSE PLUGMULT = 1: 'USE REGULAR PLUG SIZE (NO CHANGES) END IF 'DEFAULT NORMAL PLUG IS ONE-CALIBER-DIAMETER CYLINDER FOR FIRST 67% OF PLATE THICKNESS THEN EXPANDS AS A 90-DEG CONE TO PLATE BACK RNDPLUGWT = .011 * TA * (TA ^ 2 + 4.5 * D * TA + 20.25 * D ^ 2) * PLUGMULT 'NORMAL PLUG IS CYLINDER/CONE PART OF PLUG PUNCHED OUT AT RIGHT ANGLES TO FACE. HOWEVER, WHEN OB > 45 DEG IT BEGINS TO ELONGATE NORMPLUGWT = RNDPLUGWT: IF (OB >= 45!) THEN NORMPLUGWT = NORMPLUGWT / COS(2 * (OBRAD - .7853981)) 'DELTA PLUG IS ADDITIONAL PLATE MATERIAL SCOOPED WHEN PROJ NOSE COMPLETELY PENETRATES & 'EX' > 0 DEG, ELONGATING THE HOLE. DOES NOT EXIST OTHERWISE. DELTAPLUGWT = RNDPLUGWT * ((1 / COS(EXRAD)) - 1) IF ((VS < VLMT) AND (((SHAT = 1) AND (OB >= 45!)) OR (SHAT = 0))) THEN DELTAPLUGWT = 0: 'ONLY COMPLETE NOSE PEN CREATES A DELTA PLUG IF ((TPCAL < THIN) AND (VS >= VLSHAT) AND (VLTRU > VLSHAT)) THEN 'BASE SLAP GREATLY ELONGATES HOLE IN THIN PLATE IF VEL >= 'VLSHAT', WHEN 'VLSHAT' < 'VLTRU' (= HIGH OB) NPWTPR = NORMPLUGWT / COS(OBRAD) IF ((TPCAL < THIN) AND (TPCAL > TRUTHIN)) THEN NPWTPR = (NPWTPR + NORMPLUGWT) / 2: 'SPLIT THE DIFFERENCE IN WEIGHT OF PLUG THROWN END IF 'AVERAGE PROJ BODY LENGTH IS ABOUT 2 CALIBERS (IGNORING TAPERED NOSE PORTION) & THIS GIVES MIN INCREASE IN HOLE LENGTH USED BELOW IF (NPWTPR < (2 * NORMPLUGWT)) THEN NORMPLUGWT = 2 * NORMPLUGWT ELSE NORMPLUGWT = NPWTPR END IF END IF TOTPLUGWT = NORMPLUGWT + DELTAPLUGWT: 'TOTAL PLUG IS ALL MATERIAL THROWN FROM PLATE BY IMPACT ' ** END SUB PLUGCALC ** END SUB SUB PROJMOTIONPRNT STATIC ' PRINT EFFECTS OF IMPACT ON POST-IMPACT PROJECTILE MOTION WBLG$ = "wobbling or tumbling " DFL$ = "change in direction." DMG$ = "damage." IF (OBDF > 45!) THEN WBL1$ = WBLG$: WBL2$ = "due to extreme ": WBL3$ = DFL$ ELSEIF ((OBDF > 30!) AND (NSBRK = 0) AND (BDYDM = 0)) THEN WBL1$ = "has est. 67% chance of wobbling due to ": WBL2$ = DFL$ ELSEIF ((OBDF > 15!) AND (NSBRK = 0) AND (BDYDM = 0)) THEN WBL1$ = "has est. 33% chance of wobbling due to ": WBL2$ = DFL$ ELSEIF ((OBDF > 30!) AND ((NSBRK > 0) OR (BDYDM > 0))) THEN WBL1$ = WBLG$: WBL2$ = "due to ": WBL3$ = DMG$ ELSEIF ((OBDF > 15!) AND ((NSBRK > 0) OR (BDYDM > 0))) THEN WBL1$ = "has est. 67% chance of ": WBL2$ = WBLG$: WBL3$ = "due to ": WBL4$ = DMG$ ELSEIF ((NSBRK > 0) OR (BDYDM > 0)) THEN WBL1$ = "has est. 33% chance of ": WBL2$ = WBLG$: WBL3$ = "due to ": WBL4$ = DMG$ ELSE WBL1$ = "is almost always moving nose-first with little or no wobble." END IF PRINT "Projectile "; WBL1$; WBL2$; WBL3$; WBL4$ ' ** END SUB PROJMOTIONPRNT ** END SUB SUB PROJNATION STATIC PRINT "SELECT PROJECTILE'S NATION (EACH NATION HAS ITS OWN PROJECTILE TABLE):" PRINT PRINT SPC(26); "1. UNITED STATES (SEE NOTE 2)" PRINT SPC(26); "2. GREAT BRITAIN" PRINT SPC(26); "3. GERMANY" PRINT SPC(26); "4. FRANCE" PRINT SPC(26); "5. ITALY" PRINT SPC(26); "6. JAPAN" PRINT SPC(26); "7. AUSTRO-HUNGARY" PRINT SPC(26); "8. RUSSIA" PRINT "NOTES:" PRINT "(1) Many older guns kept old ammunition after the dates given below. The" PRINT "dates are for projectiles introduced during that time period for any guns." PRINT "(2) Unlike other nations, with U.S. Navy ammunition, I can adjust projectile" PRINT "parameters for individual versions of many projectiles as they were improved." PRINT "US Navy never used 'APC'. 'AP' always capped after 1898; else, only 'Common'." PRINT "So we have: 'Mk XX-Y-Z' = Mark (Design) XX Mod (Models/Versions) Y to Z" PRINT "(3) If the projectile you desire is not made by one of the above nations or" PRINT "it is not made to one of their designs, use FRANCE or ITALY as your selection" PRINT "because both are mostly defaults." PRINT "(4) Projectile types marked by '(*)' are rough estimates based on little data." PRINT "As new information is discovered, the tables change, sometimes radically." PRINT IF (NATION > 0) THEN PRINT "CURRENT NATION SELECTION ="; NATION ' **END SUB PROJNATION ** END SUB SUB PROJQMODS STATIC 'CALCULATE ALL PROJECTILE PENETRATION QUALITY FACTOR MODIFIERS LCDAM = 0: TCAL = TD / D IF ((LTCASE = 2) AND (TCAL > .67)) THEN LCDAM = .5: 'LIGHTCASE BASE-FUZED PROJ LOSE PEN AT NORMAL WHEN EFFECTIVE DAMAGE-CAUSING PLATE THICKNESS > 0.67 CALIBER (BRITISH CPC STANDARD). AFFECTS ALL LIMITS. OPRIMEL = OB: OPRIMED = OB: 'SEPARATE THESE FOR ANY MODIFICATION LOGIC IF (OB > 60!) THEN OPRIMEL = 60!: OPRIMED = 60!: 'LITTLE DATA AT OB > 60 DEG EXIST FOR PROJ USING THIS FORMULA, SO RESTRICT EFFECTS TO OB = 45 DEG AS WORST CASE 'BENDING/COMPRESSION/BREAKAGE DAMAGE EFFECTS ON HBL & NBL, IF USED FOR THIS PROJ LCMOD = LCDAM * (TCAL - .67): 'LIGHTCASE PROJ ONLY EFFECTS AT NORMAL OB POLMOD = 1 + CLD * OPRIMEL - ALD * TCAL * (OPRIMEL ^ BLD) - LCMOD IF (POLMOD > 1!) THEN POLMOD = 1! IF (POLMOD < .1) THEN POLMOD = .1: 'MIN MOD ALLOWED TO PREVENT PROGRAM CRASH ''AED' = -1 MEANS 'POIMOD' FORMULA NOT USED BY THIS PROJ TYPE IF (AED < 0) THEN POIMOD = POLMOD: 'NO-OP 'POIMOD' IF NOT USED FOR THIS PROJ TYPE ELSE 'BENDING/COMPRESSION/BREAKAGE DAMAGE EFFECTS ON EFFECTIVE LIMIT, IF USED FOR THIS PROJ TYPE POIMOD = 1 + CED * OPRIMED - AED * TCAL * (OPRIMED ^ BED) - LCMOD IF (POIMOD > 1!) THEN POIMOD = 1! ELSE IF (POIMOD < .095) THEN POIMOD = .095: 'MIN MOD ALLOWED TO PREVENT PROGAM CRASH END IF END IF ' ** END OF SUB PROJQMODS ** END SUB SUB RUSSIAPROJ STATIC ' ' SCREEN PRINT OF RUSSIAN PROJECTILE OPTIONS ' PRINT " 1. Ave. Palliser/Gruson Chilled Cast Iron Shot & All Common Shells (1890-1900)" PRINT " 2. Average Soft-capped Chilled Cast Iron APC Shot/Shell (1896-1900)" PRINT " 3. Average Steel AP Shot/Shell (0-6% blk-pwdr/wet guncotten filler)(1890-1906)" PRINT " 4. Ave, Soft-capped Steel APC Shot/Shell(0-6% blk-pwdr/gnctn fillr)(1896-1906)" PRINT " 5. Post-1906 AP (= decapped British Mk 5 APC) (3-4% TNT filler) (1907-45)(*)" PRINT " 6. Post-1906 'Tough'-capd APC (Brit Mk 5 APC w/thn cap)(3-4% TNT flr)(1907-45)" PRINT " 7. Post-1906 Common (= British WWI CP) (6-8% TNT filler) (1907-45)(*)" PRINT " 8. Post-1906 'Tough'-cpd Comon (Brit WWI CPC w/btr cap)(6-8% TNT flr)(1907-45)" PRINT PRINT "NOTE 1: Russian Shells identified by year introduced -- MODEL 1909, for example." PRINT " Above year 1905 estimated as when the better AP/APC/CP/CPC shells first" PRINT " introduced (stronger bodies & better AP caps) and may not be exact" PRINT " dividing line date from the older, weaker shells in some guns." PRINT " 2: 'Tough' cap is of high-nickel-content homogeneous-armor-like steel, not" PRINT " soft or hard, which seems to work up to at least 30 degrees obliquity." PRINT " 3: 'Wet guncotton'(='gncotn') is a high explosive made from a modified form" PRINT " of smokeless powder. It rep[laced black powder in the 1890's and was" PRINT " replaced by TNT around 1907." ' ** END SUBROUTINE RUSSIAPROJ ** END SUB SUB SCALEFACTOR (BACK) 'SCALING FACTOR CONSTANTS BASED ON UNAFFECTED BACK PERCENTAGE OF ACTUAL PLATE THICKNESS (STEP-FUNCTION APPROX='BACK'='UB') 'THINNER BACK = LARGER SCALING EFFECTS FROM FACE & TRANSITION LAYER SHEARING & BRITTLE FRACTURE FAILURE 'CONSTANTS 'AZ' & 'BZ' FOR COMBINED FACE & TRANSITION LAYERS & 'CZ' FOR SOFT BACK LAYER ''D' IS PROJ DIAMETER ' 'COMPUTE SCALING FACTOR TERM 'SC' USING FORMULA: SC = (AZ * (D^BZ)) + CZ ' IF (BACK > 90) THEN AZ = 0: BZ = 1: CZ = 79: 'EXTRAPOLATED VERY-THIN-FACED PLATE (NO REAL PLATE TYPE) ELSEIF (BACK > 75) THEN AZ = 6.65E-07: BZ = 5.35: CZ = 78.5: 'HARVEY & U.S. POST-WWI BETHLEHEM THIN CHILL CLASS 'A' ELSEIF (BACK > 67.5) THEN AZ = .00037: BZ = 3.23: CZ = 77.8: 'BRITISH WWII CA ELSEIF (BACK > 62) THEN AZ = .003: BZ = 2.75: CZ = 77.7: 'STANDARD (GERMAN WWI KC a/A = DEFAULT) ELSEIF (BACK > 52) THEN AZ = .03: BZ = 2.1: CZ = 77: 'GERMAN WWII KC n/A ELSEIF (BACK > 30) THEN AZ = 1!: BZ = 1.25: CZ = 67: 'U.S. WWII THICK CHILL CLASS 'A' ELSE AZ = 10.57: BZ = .80625: CZ = 17.26: 'U.S. PRE-WWI MIDVALE NON-CEMENTED CLASS 'A' END IF ' SC = AZ * (D ^ BZ) + CZ ' '** END OF SUB SCALEFACTOR ** END SUB SUB SCPGPRNT STATIC 'PRINT SECOND EBL/NBL/HBL INFORMATION, IF USER DESIRES CLS : PRINT SPC(12); CALC$ PRINT RESNOTE$ PRINT NBL1$; VELLTRU$; " "; N1$ PRINT NBL2$; VELLSHAT$; " "; N2$: PRINT NBL3$ PRINT NBL4$; VELLSHATMAX$; " "; N3$: PRINT NBL5$ PRINT NBL6$; VELLND$; " "; N4$: PRINT NBL7$ PRINT HBL1$; VELHTRU$; " "; H1$: PRINT HBL2$: PRINT HBL3$ PRINT HBL4$; VELHSHAT$; " "; H2$: PRINT HBL5$ PRINT HBL6$; VELHSHATMAX$; " "; H3$: PRINT HBL7$ PRINT HBL8$; VELHND$; " "; H4$: PRINT HBL9$ '* 'PRINT EFFECTIVE B.L. PRINT EBL$; IF (EFFVEL$ <> "") THEN PRINT EFFVEL$; IF ((VHOL <= 4000) AND (PAND$ <> "")) THEN PRINT PAND$: PRINT SPC(29); END IF IF (HBLTONBL$ <> "") THEN PRINT HBLTONBL$ ELSE PRINT EFFPRINT1$; EFFPRINT2$; IF (NVRFLAG = 1) THEN PRINT OBCRIT: ELSE PRINT END IF '* 'PRINT SPECIAL NOTES ON EFFECTIVE B.L. IF (NOTE1$ <> "") THEN PRINT NOTE1$: PRINT NOTE2$ IF (NOTE3$ <> "") THEN PRINT NOTE3$ IF (NOTE4$ <> "") THEN PRINT NOTE4$ IF ((NOTE5$ <> "") AND ((BEND = 1) OR ((BEND = 0) AND (MINEV >= VHOL)))) THEN PRINT NOTE5$ ' ** END OF SUB SCPGPRNT ** END SUB SUB SETMINEV STATIC ' SORT OUT TRUE MIN EFF VEL IF ((MINEV1 >= 0) AND (MINEV < MINEV1)) THEN MINEV = MINEV1 IF (MINEV < MINEV2) THEN MINEV = MINEV2 IF ((MINEV3 > 0) AND (MINEV < MINEV3)) THEN MINEV = MINEV3 IF (MINEV < MINEV4) THEN MINEV = MINEV4 IF (MINEV < MINEV5) THEN MINEV = MINEV5 ' ** END OF SUB SETMINEV END SUB SUB SETOBMULT STATIC '* PROJ OB MULTIPLIER FOR BOTH SHATRD & UNSHATRD PROJ FROM TABLE INTERPOLATION OR CALCULATION FORMULAE ''INT1' IS M/MS-TABLE INDEX & 'INT2' IS FRACTION OF 5-DEG STEP THAT OB IS ABOVE 'M/MS(INT1)' INT1 = INT(OB / 5): INT2 = (OB - 5 * INT1) / 5 'FIRST, DO UNSHATRD PROJ MULTIPLIER IF (OB < 70!) THEN ''MO' IS FOR ALL UNSHATRD PROJ, EXCEPT HBL WHEN 'VHSHAT' < 'VHTRU' '3-POINT FORWARD-LOOKING INTERPOLATION FORMULA POINT5 = .5: IF (INT1 > 11) THEN POINT5 = 0: 'LINEAR INTERPOLATION IF OB > 60 DEG (POOR DATA) MO = M(INT1) + INT2 * (M(INT1 + 1) - M(INT1)) + POINT5 * INT2 * (INT2 - 1) * (M(INT1 + 2) - 2 * M(INT1 + 1) + M(INT1)) ELSEIF (OB = 70!) THEN 'OB = 70 DEG IS MAX FOR UNSHATRD COMPLETE PEN MO = 8!: 'MAX USABLE 'MO' ELSE MO = 100!: 'ENSURE NO PEN OCCURS AT OB > 70 DEG IF NO SHATR (70.01-80 DEG) END IF ''MSHAT' IS FOR SHATRD PROJ (TWO VALUES DEPENDING ON 'THIN' PLATE THICKNESS THRESHOLD) ' 'THICK PLATE, USE FORMULAE FOR MSHAT MSHATTHKMAX = 5.5264: 'MAX THICK-PLATE SHATRD OB = 75 DEG 'COMPUTE MSHATTHK UP TO 80 DEG FOR THIN PLATE CALC MSHATTHK = 1 / COS(1.061 * OBRAD): 'THICK-PLATE 'MSHAT' USES SLIGHTLY MODIFIED SECANT CURVE FORMULA ' 'THIN PLATE, USE SPECIAL SHATR OB MULT TABLE (PLATE SHATRS, TOO!) MSHATTHINMAX = 1.51: 'MAX THIN-PLATE SHATRD OB = 80 DEG (VALUE FOR INT1 = 17 IS FOR 85 DEG (DUMMY)) IF (OB >= 80!) THEN MSHATTHIN = MSHATTHINMAX ELSE '3-POINT FORWARD-LOOKING INTERPOLATION FORMULA MSHATTHIN = MS(INT1) + INT2 * (MS(INT1 + 1) - MS(INT1)) + .5 * INT2 * (INT2 - 1) * (MS(INT1 + 2) - 2 * MS(INT1 + 1) + MS(INT1)) END IF ' IF (TPCAL < THIN) THEN 'ALLOW PEN UP TO 80 DEG IF NOT FULLY THICK PLATE IF ((TPCAL < THIN) AND (TPCAL > TRUTHIN)) THEN 'STEP DOWN TO THE THIN VALUE IN TWO INTERMEDIATE STEPS FOR ALL 'OB' UP TO 80 DEG. IF (TPCAL > (TRUTHIN + .05)) THEN MSHAT = MSHATTHIN + .625 * ABS(MSHATTHK - MSHATTHIN): 'UPPER MIDDLE STEP ELSE MSHAT = MSHATTHIN + .3 * ABS(MSHATTHK - MSHATTHIN): 'LOWER MIDDLE STEP END IF ELSE MSHAT = MSHATTHIN: 'MIN MSHAT BELOW 'TRUTHIN' END IF ELSE 'THICK PLATE VS SHATRD PROJ MAXIMUM IS AT 75 DEG IF (OB > 75!) THEN MSHAT = 100!: 'KILL PEN IF >75 DEG FOR THICK PLATE ELSEIF (OB = 75!) THEN MSHAT = MSHATTHKMAX ELSE MSHAT = MSHATTHK END IF END IF ' ** END OF SUB SETOBMULT ** END SUB SUB SETVALUE STATIC ' 'ALLOW USER TO CHANGE ARMOR PARAMETERS ' FIXVALUE: BADIN = 0 INPUT "NEW VALUE = ", NWVL$ IF (NWVL$ <> "") THEN NEWVALUE = VAL(NWVL$) SELECT CASE FLAG CASE 0: ''UB' VALUE PRINT "UB is rounded DOWN to nearest whole integer. Minimum UB is 1." IF (NWVL$ = "") THEN PRINT "Using "; OLDVALUE: NEWVALUE = OLDVALUE ELSE IF ((NEWVALUE > 100) OR (NEWVALUE < 1)) THEN BADIN = 1: 'BAD INPUT END IF NEWVALUE = INT(NEWVALUE): 'ROUND DOWN (TRUNCATE) TO INTEGER VALUE CASE 1: ''CMPND' OR 'THNCHL' FLAGS (= '0' OR '1' ONLY) IF (NWVL$ = "") THEN PRINT "Using "; OLDVALUE: NEWVALUE = OLDVALUE ELSE IF ((NEWVALUE <> 0) AND (NEWVALUE <> 1)) THEN BADIN = 1: 'BAD INPUT END IF CASE 2: ''Q' VALUE IF (NWVL$ = "") THEN PRINT "Using "; OLDVALUE: NEWVALUE = OLDVALUE ELSE IF (NEWVALUE < .1) THEN BADIN = 1: 'BAD INPUT END IF CASE 3: ''QDAM' VALUE IF (NWVL$ = "") THEN IF (OLDVALUE <= Q) THEN PRINT "Using "; OLDVALUE: NEWVALUE = OLDVALUE ELSE BADIN = 1: 'BAD INPUT END IF END IF IF (BADIN = 0) THEN IF ((NEWVALUE > Q) OR (NEWVALUE < .1)) THEN BADIN = 1: 'BAD INPUT END IF CASE 4: ''CARTWL', 'THKTHN', & 'SOFTSHAT' HAVE 3 VALUES: '0', '1', OR '2' IF (NWVL$ = "") THEN PRINT "Using "; OLDVALUE: NEWVALUE = OLDVALUE ELSE IF ((NEWVALUE <> 0) AND (NEWVALUE <> 1!) AND (NEWVALUE <> 2!)) THEN BADIN = 1: 'BAD INPUT END IF END IF END SELECT IF (BADIN = 1) THEN GOTO FIXVALUE: 'REDO INPUT OLDVALUE = NEWVALUE: 'GOOD NEW INPUT ' ' ** END OF SUB SETVALUE ** END SUB SUB SHOWORIGARMR STATIC 'DISPLAY ORIGINAL TABULATED ARMOR PARAMETERS ' PRINT " SOFT BACK LAYER THICKNESS 'UB' ALWAYS ROUNDED DOWN TO AN INTEGER VALUE" IF ((ARMOR = 1) OR (ARMOR = 12)) THEN PRINT "*** GRUSON & TC ARMORS ONLY: 'UB' INCREASES AS PLATE THICKNESS INCREASES ***" PRINT "*** CALCULATED DEFAULT 'UB' FOR CURRENT PLATE IS IN 'ORIGINAL ARMOR' DATA ***" END IF PRINT "FLAGS = '0'(CLEAR), '1'(SET), or, for SOFTSHAT, THKTHN, & CARTWL, '2'(ALTERNATE)" PRINT "ORIGINAL ARMOR PARAMETER VALUES:"; TAB(40); "UB ="; UBSV; TAB(51); "Q ="; QSV; TAB(63); "QDAM ="; QDAMSV PRINT "CARTWL FLAG ="; CARTWLSV; TAB(20); "CMPND FLAG ="; CMPNDSV; TAB(40); PRINT "THNCHL FLAG ="; THNCHLSV PRINT "SOFTSHAT FLAG ="; SOFTSHATSV; TAB(20); "THKTHN FLAG ="; THKTHNSV PRINT "CURRENT PARAMETER VALUES:"; TAB(40); "UB ="; UB; TAB(51); "Q ="; Q; TAB(63); "QDAM ="; QDAM PRINT "CARTWL FLAG ="; CARTWL; TAB(20); "CMPND FLAG ="; CMPND; TAB(40); PRINT "THNCHL FLAG ="; THNCHL PRINT "SOFTSHAT FLAG ="; SOFTSHAT; TAB(20); "THKTHN FLAG ="; THKTHN ' ' ** END OF SUB SHOWORIGARMR ** END SUB