mac-rom/Make/FeatureList

272 lines
7.9 KiB
Plaintext
Raw Normal View History

#
# 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: <09> 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 <20>RISC<53> 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 "<22>
Vanilla <09>
LatestHack <09>
hasPCI <09>
BlueBox <09>
NewWorld <09>
CusterBacklightParcel <09>
CusterUSBShimKeyboard <09>
cdg5HappyMac <09>
NKDebugShim <09>
NKShowLog <09>
ExtraNKLogging <09>
DebugAlways <09>
SkipTbxiValidation <09>
TbxiPatchG4Version <09>
TbxiDisableAppleKiwi <09>
Wedge <09>
"
Set AvailableFeatures "{cdg5Features} <09>
hasBCScreen <09>
hasROMGibbly <09>
hasManEject <09>
hasCacheTypeCPU <09>
forPDMProto <09>
hasAMIC <09>
SupportNativeComponents <09>
hasRISCV0ResMgrPatches <09>
hasNewHeapMgr <09>
hasPDMMaceEnet <09>
hasMace <09>
hasMixedMode <09>
kHasNewFloppyDriver <09>
nonVectorizedRom <09>
hasSCSIDiskModeFeature <09>
hasDataAccessPACK <09>
hasSysSevenResources <09>
hasVMinROM <09>
has2MegROMOrMore <09>
hasCAppleTalkInROM <09>
hasAppleTalkInROM <09>
hasNewAge <09>
hasVideoIn <09>
hasAsyncSCSI <09>
hasDSP <09>
BadBlockSparingEnabled <09>
CubeE <09>
ForROM <09>
IopADB <09>
LC930 <09>
DBLite <09>
NewBuildSystem <09>
OssADB <09>
PadForOverpatch <09>
PwrMgrADB <09>
ROMFastTraps <09>
ROMinRAM <09>
Supports24Bit <09>
SystemSevenOrLater <09>
SystemSixOrLater <09>
TheFuture <09>
ViaADB <09>
forADBKeyboards <09>
forAppleTalk20 <09>
forCyclone <09>
forLocalizability <09>
forNonADBKeyboards <09>
forPDMDebug <09>
forTNTDebug <09>
forRomulator <09>
forSmurf <09>
forSTP601 <09>
forSTP601v1 <09>
forSTPnop <09>
has040MMU <09>
hasADBKeyLayouts <09>
hasASC <09>
hasAliasMgr <09>
hasApple2Fonts <09>
hasAppleEventMgr <09>
hasBalloonHelp <09>
hasBattery <09>
hasCQD <09>
hasCommToolbox <09>
hasCPUIDRegister <09>
hasDAFB <09>
hasDisplayMgr <09>
hasDisplayMgrWindows <09>
hasDJMEMC <09>
hasDataAccessMgr <09>
hasEDisk <09>
hasEclipseVIA2 <09>
hasEditionMgr <09>
hasEgret <09>
hasExtendedCharacterSet <20>
hasFMC <09>
hasGDU <09>
hasGlue <09>
hasGrandCentral <09>
hasHarpoVIA <09>
hasHMC <09>
hasIdle <09>
hasIopScc <09>
hasIopSwim <09>
hasJaws <09>
hasLCDScreen <09>
hasMDU <09>
hasMMU <09>
hasMSC <09>
hasMac2VIA2 <09>
hasMagic <09>
hasNetBoot <09>
hasNiagra <09>
hasNonADBKeyLayouts <09>
hasNormandy <09>
hasOrwell <09>
hasOss <09>
hasPSC <09>
hasPictureUtilities <09>
hasPortableKeyLayouts <09>
hasPowerMgr <09>
hasPratt <09>
BlackBirdDebug <09>
hasProtectedPRAM <09>
hasPwrControls <09>
hasPwrMgrClock <09>
hasRBV <09>
hasSCSI96 <09>
hasSWIM2 <09>
hasSwim3 <09>
hasSlotMgr <09>
hasSonora <09>
hasSplineFonts <09>
hasTrueType2Byte <09>
hasVDAC <09>
hasVIAClock <09>
hasVISA2 <09>
hasVISADecoder <09>
hasWaimeaVIA2 <09>
hasYMCA <09>
isUniversal <09>
nonSerializedIO <09>
onHafMac <09>
onMac32 <09>
onNuMac <09>
pre70 <09>
hasDoubleByte <09>
Script_Char_Extra <09>
hasPenFraction <09>
hasFullKerning <09>
hasGlyphState <09>
useROMFonts "
# # ParseFeatures is lost to the ages...
# If "` ParseFeatures -a "{AvailableFeatures}" -f ": ROM {1}" `" =~ /': ROM '(<28>)<29>1/
# Set Defines "{<7B>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} " =~ /<2F> {Feature} <20>/`"
End
# Ugh!
Set Defines "`Echo {Defines} | StreamEdit -e '<27>,<2C> Replace /=1/ "=TRUE" -c <20>' -e '<27>,<2C> Replace /=0/ "=FALSE" -c <20>'`"
For Override in {2}
If "{Override}" =~ /(<28>)<29>1=(<28>)<29>2/
Set Name {<7B>1}
Set Value {<7B>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}" =~ /(<28>)<29>3{Name}=[<5B> <20>t]+(<28>)<29>4/
Set Defines "{<7B>3} {Name}={Value} {<7B>4}"
Else
Set Defines "{Defines} -d {Name}={Value}"
End
End
Echo {Defines}
Exit