mac-rom/Make/FeatureList

272 lines
7.9 KiB
Plaintext

#
# 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.
#
# <SM25> 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ
# machines
# <SM24> 11/10/93 fau Update from SuperMunggio <SMG2-3>.
# <SMG3> 9/23/93 chp Add TNT debug flag pseudo-feature.
# <SMG2> 8/25/93 chp Added hasGrandCentral feature for TNT interrupt/DMA controller.
# <SM22> 11/9/93 KW somehow removed DBLite...put back in.
# <SM21> 11/9/93 KW added forSTP601 and forSTPnop
# <SM20> 11/8/93 SAM Added hadROMGibbly.
# <SM19> 10/6/93 RC Rolled in change from MC Jesus which adds the flag forPDMProto
# <MC2> 10/4/93 RC Add forPDMProto to list (to support EVT2/3 PDM and EVT1 Cold
# Fusion)
# <SM18> 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.
# <SM17> 9/25/93 PN Adding DBLite feature
# <SM16> 9/2/93 SKH change hasSCSIDiskMode to hasSCSIDiskModeFeature
# <SM15> 8/4/93 JDR removed hasNewSoundMgr since there is only the one version, and
# that is 3.0.
# <SM14> 8/3/93 BH Added hasManEject
# <SM13> 7/21/93 RC Changed PowerPCNativeComponents to SupportNativeComponents
# <SM12> 7/14/93 RC added hasAMIC feature flag
# <SM11> 7/7/93 RC added feature flag for native component Mgr support
# <SM10> 7/1/93 BT Add hasCacheTypeCPU for Figment.
# <SM9> 6/28/93 PN Add feature hasMACE into the list
# <SM8> 6/6/93 BT Add hasRISCV0ResMgrPatches to featurelist.
# <SM7> 5/30/93 SAM Moved ROM_EM to Tidbits.
# <SM6> 5/21/93 CSS Add international features: hasDoubleByte, Script_Char_Extra,
# hasPenFraction, hasFullKerning, hasGlyphState.
# <SM5> 5/20/93 BT Update build to only include Figment under conditional compile
# flag "hasNewHeapMgr"
# <SM4> 3/31/93 kc Add code to remove case dependencys from command line arguments.
# <SM3> 3/27/93 IH Add hasDisplayMgr to available features.
# <SM2> 3/5/93 RC added hasCAppleTalkInROM for PDM version of AppleTalk (all
# written in C)
# <SM12> 2/5/93 SAM Removed ÔRISCÕ conditional.
# <SM11> 2/2/93 GMR Added hasSwim3 feature.
# <SM10> 12/17/92 RB Added the features hasYMCA, hasHMC, hasCPUIDRegister.
# <SM9> 12/8/92 RC Added "RISC" to the FeatureList
# <SM8> 12/3/92 RB Added the feature has2MegROMOrMore.
# <SM7> 11/30/92 EH Add hasPratt for the Blackbird memory controller chip.
# <SM4> 11/30/92 kc Add forRomulator.
# <SM5> 11/29/92 PW Removed the COUSIN_ITT feature (hasAsyncSCSI is all we need).
# <SM4> 11/24/92 RB Added the feature hasROM_EM so it can be easily taken out.
# <SM3> 11/23/92 kc Add DefineOverides as a second parameter.
# <SM2> 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