# # File: FeatureList # # Contains: This script is a wrapper for ParseFeatures for specific builds. The # main thing that it does is strip ": ROM" from the feature list. # The script part should be rolled into ParseFeatures. # # PLEASE try to keep this in sync with BBSStartup # # Written by: Kurt Clark. # # Copyright: © 1992-1993 by Apple Computer, Inc., all rights reserved. # # Change History (most recent first): # # 1/29/17 HQX Add conditionals for "Custer" (Mirrored Drive Door G4 ROM v10.2.1) # resources, change TNTPlus to hasPCI. # 1/9/17 HQX Add Classic flag # 12/28/16 HQX Finally realise how this works. Patch to emulate the missing # "ParseFeatures" command. Added NewWorld and TNTPlus flags. # # 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ # machines # 11/10/93 fau Update from SuperMunggio . # 9/23/93 chp Add TNT debug flag pseudo-feature. # 8/25/93 chp Added hasGrandCentral feature for TNT interrupt/DMA controller. # 11/9/93 KW somehow removed DBLite...put back in. # 11/9/93 KW added forSTP601 and forSTPnop # 11/8/93 SAM Added hadROMGibbly. # 10/6/93 RC Rolled in change from MC Jesus which adds the flag forPDMProto # 10/4/93 RC Add forPDMProto to list (to support EVT2/3 PDM and EVT1 Cold # Fusion) # 9/30/93 IH Split hasDisplayMgr feature into hasDisplayMgr and # hasDisplayMgrWindows. This allows the display manager in the # gibbly without patching out the window manager on PDM. # 9/25/93 PN Adding DBLite feature # 9/2/93 SKH change hasSCSIDiskMode to hasSCSIDiskModeFeature # 8/4/93 JDR removed hasNewSoundMgr since there is only the one version, and # that is 3.0. # 8/3/93 BH Added hasManEject # 7/21/93 RC Changed PowerPCNativeComponents to SupportNativeComponents # 7/14/93 RC added hasAMIC feature flag # 7/7/93 RC added feature flag for native component Mgr support # 7/1/93 BT Add hasCacheTypeCPU for Figment. # 6/28/93 PN Add feature hasMACE into the list # 6/6/93 BT Add hasRISCV0ResMgrPatches to featurelist. # 5/30/93 SAM Moved ROM_EM to Tidbits. # 5/21/93 CSS Add international features: hasDoubleByte, Script_Char_Extra, # hasPenFraction, hasFullKerning, hasGlyphState. # 5/20/93 BT Update build to only include Figment under conditional compile # flag "hasNewHeapMgr" # 3/31/93 kc Add code to remove case dependencys from command line arguments. # 3/27/93 IH Add hasDisplayMgr to available features. # 3/5/93 RC added hasCAppleTalkInROM for PDM version of AppleTalk (all # written in C) # 2/5/93 SAM Removed ÔRISCÕ conditional. # 2/2/93 GMR Added hasSwim3 feature. # 12/17/92 RB Added the features hasYMCA, hasHMC, hasCPUIDRegister. # 12/8/92 RC Added "RISC" to the FeatureList # 12/3/92 RB Added the feature has2MegROMOrMore. # 11/30/92 EH Add hasPratt for the Blackbird memory controller chip. # 11/30/92 kc Add forRomulator. # 11/29/92 PW Removed the COUSIN_ITT feature (hasAsyncSCSI is all we need). # 11/24/92 RB Added the feature hasROM_EM so it can be easily taken out. # 11/23/92 kc Add DefineOverides as a second parameter. # 11/11/92 RB Added the features hasSCSIDiskMode, hasAppleTalkInROM, # hasNewAge, hasVideoIn, hasAsyncSCSI, hasDSP and hasNewSoundMgr # COUSIN_ITT. # # # Set cdg5Features "¶ Vanilla ¶ LatestHack ¶ hasPCI ¶ BlueBox ¶ NewWorld ¶ CusterBacklightParcel ¶ CusterUSBShimKeyboard ¶ cdg5HappyMac ¶ NKDebugShim ¶ NKShowLog ¶ ExtraNKLogging ¶ DebugAlways ¶ SkipTbxiValidation ¶ TbxiPatchG4Version ¶ TbxiDisableAppleKiwi ¶ Wedge ¶ " Set AvailableFeatures "{cdg5Features} ¶ hasBCScreen ¶ hasROMGibbly ¶ hasManEject ¶ hasCacheTypeCPU ¶ forPDMProto ¶ hasAMIC ¶ SupportNativeComponents ¶ hasRISCV0ResMgrPatches ¶ hasNewHeapMgr ¶ hasPDMMaceEnet ¶ hasMace ¶ hasMixedMode ¶ kHasNewFloppyDriver ¶ nonVectorizedRom ¶ hasSCSIDiskModeFeature ¶ hasDataAccessPACK ¶ hasSysSevenResources ¶ hasVMinROM ¶ has2MegROMOrMore ¶ hasCAppleTalkInROM ¶ hasAppleTalkInROM ¶ hasNewAge ¶ hasVideoIn ¶ hasAsyncSCSI ¶ hasDSP ¶ BadBlockSparingEnabled ¶ CubeE ¶ ForROM ¶ IopADB ¶ LC930 ¶ DBLite ¶ NewBuildSystem ¶ OssADB ¶ PadForOverpatch ¶ PwrMgrADB ¶ ROMFastTraps ¶ ROMinRAM ¶ Supports24Bit ¶ SystemSevenOrLater ¶ SystemSixOrLater ¶ TheFuture ¶ ViaADB ¶ forADBKeyboards ¶ forAppleTalk20 ¶ forCyclone ¶ forLocalizability ¶ forNonADBKeyboards ¶ forPDMDebug ¶ forTNTDebug ¶ forRomulator ¶ forSmurf ¶ forSTP601 ¶ forSTP601v1 ¶ forSTPnop ¶ has040MMU ¶ hasADBKeyLayouts ¶ hasASC ¶ hasAliasMgr ¶ hasApple2Fonts ¶ hasAppleEventMgr ¶ hasBalloonHelp ¶ hasBattery ¶ hasCQD ¶ hasCommToolbox ¶ hasCPUIDRegister ¶ hasDAFB ¶ hasDisplayMgr ¶ hasDisplayMgrWindows ¶ hasDJMEMC ¶ hasDataAccessMgr ¶ hasEDisk ¶ hasEclipseVIA2 ¶ hasEditionMgr ¶ hasEgret ¶ hasExtendedCharacterSet ¶ hasFMC ¶ hasGDU ¶ hasGlue ¶ hasGrandCentral ¶ hasHarpoVIA ¶ hasHMC ¶ hasIdle ¶ hasIopScc ¶ hasIopSwim ¶ hasJaws ¶ hasLCDScreen ¶ hasMDU ¶ hasMMU ¶ hasMSC ¶ hasMac2VIA2 ¶ hasMagic ¶ hasNetBoot ¶ hasNiagra ¶ hasNonADBKeyLayouts ¶ hasNormandy ¶ hasOrwell ¶ hasOss ¶ hasPSC ¶ hasPictureUtilities ¶ hasPortableKeyLayouts ¶ hasPowerMgr ¶ hasPratt ¶ BlackBirdDebug ¶ hasProtectedPRAM ¶ hasPwrControls ¶ hasPwrMgrClock ¶ hasRBV ¶ hasSCSI96 ¶ hasSWIM2 ¶ hasSwim3 ¶ hasSlotMgr ¶ hasSonora ¶ hasSplineFonts ¶ hasTrueType2Byte ¶ hasVDAC ¶ hasVIAClock ¶ hasVISA2 ¶ hasVISADecoder ¶ hasWaimeaVIA2 ¶ hasYMCA ¶ isUniversal ¶ nonSerializedIO ¶ onHafMac ¶ onMac32 ¶ onNuMac ¶ pre70 ¶ hasDoubleByte ¶ Script_Char_Extra ¶ hasPenFraction ¶ hasFullKerning ¶ hasGlyphState ¶ useROMFonts " # # ParseFeatures is lost to the ages... # If "` ParseFeatures -a "{AvailableFeatures}" -f ": ROM {1}" `" =~ /': ROM '(Å)¨1/ # Set Defines "{¨1}" # Else # Exit 1 # End # Set Defines "-d " # This block of code replaces it... For Feature in {AvailableFeatures} Set Defines "{Defines} -d {Feature}=`Evaluate " {1} " =~ /Å {Feature} Å/`" End # Ugh! Set Defines "`Echo {Defines} | StreamEdit -e '¥,° Replace /=1/ "=TRUE" -c °' -e '¥,° Replace /=0/ "=FALSE" -c °'`" For Override in {2} If "{Override}" =~ /(Å)¨1=(Å)¨2/ Set Name {¨1} Set Value {¨2} Else Set Name {Override} Set Value TRUE End If {Value} =~ /true/ Set Value 1 #TRUE # to allow overrides to work right! Else If {Value} =~ /false/ Set Value 0 #FALSE End If "{Defines}" =~ /(Å)¨3{Name}=[Â ¶t]+(Å)¨4/ Set Defines "{¨3} {Name}={Value} {¨4}" Else Set Defines "{Defines} -d {Name}={Value}" End End Echo {Defines} Exit