/* File: SonoraDeclVideo.r Contains: Video monitor/timing for Sonora. Copyright: © 1989-1993 by Apple Computer, Inc., all rights reserved. Change History (most recent first): 12/14/93 PN Obsolete the CPUMac020 resources. 10/6/93 RC Change the name of the PDM video to "Built-In DRAM Video" - as per Product Marketing's request. 09-23-93 jmp Commented out the PDM-specific video name directory to eliminate the list of family modes for the RAM allocation stuff (which isnŐt happening anyway). 08-06-93 jmp More completely filled out the timingInfo list. 08-03-93 jmp Began cleaning up the support for dynamically allocating RAM in PDM for video. <11> 6/22/93 IH Update timing directory to include a timing mode for the sonora multi sync functional sResource. <10> 6/1/93 IH Added video timing directory 04-07-93 jmp Added initial low-level support for the Display Manager. 04-01-93 jmp Added support for the fact that PDM uses RAM instead of VRAM for by adding a 1bpp-only mode to all the supported displays, as well as added a new video-name directory as a (hopefully) temporary interface to this feature. 3/9/93 jmp Changed the name of the PDM board sRsrc to ŇAMIC Built-in Video.Ó 3/5/93 CCH Made some mods to support Mace on Sonora/PDM. 3/4/93 dwc Added DeclDataPDMMace definition for PDM ENET. 11/2/92 kc Change ObjDir to RsrcDir. 10-17-92 jmp Added initial support for PDM. 10-17-92 jmp Needed to the change the 'decl' IDs of various externally referenced components. 10/6/92 GDW New location for ROMLink tool. */ //=================================================================== // Includes //=================================================================== #include "Types.r" #define _NO_SINL_ // DonŐt need 'SINL' resource here. #include "ROMLink.r" #undef _NO_SINL_ #include "DepVideoEqu.r" #include "HardwarePrivateEqu.r" #include "InternalOnlyEqu.r" #include "Quickdraw.r" // This #define's are a stopgap measure for now. #define firstVidMode 0x80 #define secondVidMode 0x81 #define thirdVidMode 0x82 #define fourthVidMode 0x83 #define fifthVidMode 0x84 #define sixthVidMode 0x85 //------------------------------------------------------------- // Driver Directory //------------------------------------------------------------- resource 'ddir' (1770, "_VidDrvrDirSonora") {{ sMacOS68020, l{"_sSonoraDrvrDir"}; }}; resource 'node' (575, "_sSonoraDrvrDir") {{ blocksize{}; include{match{{file{$$Shell("RsrcDir")"DeclDataVideo.rsrc"}; type{'decl'}; id{70};}}}; }}; resource 'srsc' (1577, "_sRsrc_Sonora_Mace") {{ sRsrcType, l{"_NetPDMMace"}; // Network type descriptor sRsrcName, l{"_NetPDMMaceName"}; // offset to name string sRsrcDrvrDir, l{"_NetPDMMaceDrvrDir"}; // offset to driver directory sRsrcFlags, d{0}; // don't open this device at start sRsrcHWDevId, d{2}; // the second of many onboard Ethernet chips }}; resource 'ddir' (1786, "_NetPDMMaceDrvrDir") {{ sMacOS68020, l{"_sPDMMaceDrvrDir"}; }}; resource 'node' (561, "_sPDMMaceDrvrDir") {{ blocksize{}; include{match{{file{$$Shell("RsrcDir")"DeclDataPDMMace.rsrc"}; type{'decl'}; id{1};}}}; }}; //===================================================================== // Primary Init record //===================================================================== resource 'node' (421, "_sSonoraPrimaryInit") {{ blocksize{}; include{match{{file{$$Shell("RsrcDir")"DeclDataVideo.rsrc"}; type{'decl'}; id{80};}}}; }}; //------------------------------------------------------------- // Resource Types //------------------------------------------------------------- resource 'styp' (1615, "_VideoTypeSonora") {CatDisplay, TypVideo, DrSwApple, DrHwSonora}; resource 'styp' (1633, "_NetPDMMace") {CatNetwork, TypEthernet, DrSwApple, DrHwMace}; //------------------------------------------------------------- // Resource Names //------------------------------------------------------------- resource 'cstr' (1670, "_VideoNameSonora") {"Display_Video_Apple_Sonora"}; resource 'cstr' (1686, "_NetPDMMaceName") {"Network_Ethernet_Apple_PDM_Mace"}; resource 'long' (2318, "_MinorLength_Sonora_FP") {MinorLength_Sonora_FP}; resource 'long' (2320, "_MinorLength_Sonora_FPa") {MinorLength_Sonora_FPa}; resource 'long' (2325, "_MinorLength_Sonora_FPb") {MinorLength_Sonora_FPb}; resource 'long' (2330, "_MinorLength_Sonora_FPc") {MinorLength_Sonora_FPc}; resource 'long' (2332, "_MinorLength_Sonora_GS") {MinorLength_Sonora_GS}; resource 'long' (2335, "_MinorLength_Sonora_GSa") {MinorLength_Sonora_GSa}; resource 'long' (2340, "_MinorLength_Sonora_GSb") {MinorLength_Sonora_GSb}; resource 'long' (2345, "_MinorLength_Sonora_GS560a") {MinorLength_Sonora_GSa}; resource 'long' (2350, "_MinorLength_Sonora_GS560b") {MinorLength_Sonora_GSb}; resource 'long' (2352, "_MinorLength_Sonora_HR") {MinorLength_Sonora_HR}; resource 'long' (2355, "_MinorLength_Sonora_HRa") {MinorLength_Sonora_HRa}; resource 'long' (2360, "_MinorLength_Sonora_HRb") {MinorLength_Sonora_HRb}; resource 'long' (2365, "_MinorLength_Sonora_HRc") {MinorLength_Sonora_HRc}; resource 'long' (2370, "_MinorLength_Sonora_HR400a") {MinorLength_Sonora_HR400a}; resource 'long' (2375, "_MinorLength_Sonora_HR400b") {MinorLength_Sonora_HR400b}; resource 'long' (2378, "_MinorLength_Sonora_GF") {MinorLength_Sonora_GF}; resource 'long' (2380, "_MinorLength_Sonora_GFa") {MinorLength_Sonora_GFa}; resource 'long' (2385, "_MinorLength_Sonora_GFb") {MinorLength_Sonora_GFb}; //------------------------------------------------------------- // Board resources //------------------------------------------------------------- resource 'boar' (325, "_sRsrc_BdVail") {{ sRsrcType, a{"_BoardType"}; sRsrcName, c{"Macintosh AA Built-In Video"}; sRsrcIcon, a{"_VidICONVail"}; BoardId, d{VailBoardID}; PrimaryInit, a{"_sSonoraPrimaryInit"}; VendorInfo, a{"_VendorInfo"}; SecondaryInit, a{"_sSecondaryInit"}; sRsrcVidNames, l{"_SonoraVidNameDir"}; sVidParmDir, l{"_VidParmDir_Sonora"}; }}; resource 'boar' (345, "_sRsrc_BdPDM") {{ sRsrcType, a{"_BoardType"}; sRsrcName, c{"Built-In DRAM Video"}; // sRsrcIcon, a{"_VidICONVail"}; BoardId, d{PDMBrdID}; VendorInfo, a{"_VendorInfo"}; SecondaryInit, a{"_sSecondaryInit"}; //sRsrcVidNames, l{"_PDMVidNameDir"}; sRsrcVidNames, l{"_SonoraVidNameDir"}; sVidAuxParams, l{"_SonoraVidAuxParamsDir_Sonora"}; sVidParmDir, l{"_VidParmDir_Sonora"}; }}; //------------------------------------------------------------- // // Sonora sRsrc Directory // // Only CPUs possessing the Sonora or Sonora-like // functionality should be placed in this // directory // //------------------------------------------------------------- resource 'sdir' (155, "_sRsrcSonoraDir") {{ sRsrc_BdVail, l{"_sRsrc_BdVail"}; // Board sResources sRsrc_BdPDM, l{"_sRsrc_BdPDM"}; // Functional sRsrcs for Sonora built-in video. // sRsrc_Vid_Sonora_FP, l{"_sRsrc_Vid_Sonora_FP"}; // Full-Page (1,PDM) sRsrc_Vid_Sonora_FPa, l{"_sRsrc_Vid_Sonora_FPa"}; // Full-Page (1,2) sRsrc_Vid_Sonora_FPb, l{"_sRsrc_Vid_Sonora_FPb"}; // Full-Page (1,2,4) sRsrc_Vid_Sonora_FPc, l{"_sRsrc_Vid_Sonora_FPc"}; // Full-Page (1,2,4,8) sRsrc_Vid_Sonora_GS, l{"_sRsrc_Vid_Sonora_GS"}; // Rubik (1,PDM) sRsrc_Vid_Sonora_GSa, l{"_sRsrc_Vid_Sonora_GSa"}; // Rubik (1,2,4,8) sRsrc_Vid_Sonora_GSb, l{"_sRsrc_Vid_Sonora_GSb"}; // Rubik (1,2,4,8,16) sRsrc_Vid_Sonora_GSM, l{"_sRsrc_Vid_Sonora_GSb"}; // GSM=GSb sRsrc_Vid_Sonora_GS560a, l{"_sRsrc_Vid_Sonora_GS560a"}; // Rubik-560 (1,2,4,8) sRsrc_Vid_Sonora_GS560b, l{"_sRsrc_Vid_Sonora_GS560b"}; // Rubik-560 (1,2,4,8,16) sRsrc_Vid_Sonora_RGBFP, l{"_sRsrc_Vid_Sonora_RGBFP"}; // RGB Full-Page (1,PDM) sRsrc_Vid_Sonora_RGBFPa, l{"_sRsrc_Vid_Sonora_RGBFPa"}; // RGB Full-Page (1,2) sRsrc_Vid_Sonora_RGBFPb, l{"_sRsrc_Vid_Sonora_RGBFPb"}; // RGB Full-Page (1,2,4) sRsrc_Vid_Sonora_RGBFPc, l{"_sRsrc_Vid_Sonora_RGBFPc"}; // RGB Full-Page (1,2,4,8) sRsrc_Vid_Sonora_HR, l{"_sRsrc_Vid_Sonora_HR"}; // HiRes (1,PDM) sRsrc_Vid_Sonora_HRa, l{"_sRsrc_Vid_Sonora_HRa"}; // HiRes (1,2,4) sRsrc_Vid_Sonora_HRb, l{"_sRsrc_Vid_Sonora_HRb"}; // HiRes (1,2,4,8) sRsrc_Vid_Sonora_HRc, l{"_sRsrc_Vid_Sonora_HRc"}; // HiRes (1,2,4,8,16) sRsrc_Vid_Sonora_MSB1,l{"_sRsrc_Vid_Sonora_HRc"}; // MSB1=HRc sRsrc_Vid_Sonora_HR400a, l{"_sRsrc_Vid_Sonora_HR400a"}; // HiRes-400 (1,2,4,8) sRsrc_Vid_Sonora_HR400b, l{"_sRsrc_Vid_Sonora_HR400b"}; // HiRes-400 (1,2,4,8,16) sRsrc_Vid_Sonora_VGA, l{"_sRsrc_Vid_Sonora_VGA"}; // VGA (1,PDM) sRsrc_Vid_Sonora_VGAa, l{"_sRsrc_Vid_Sonora_VGAa"}; // VGA (1,2,4) sRsrc_Vid_Sonora_VGAb, l{"_sRsrc_Vid_Sonora_VGAb"}; // VGA (1,2,4,8) sRsrc_Vid_Sonora_VGAc, l{"_sRsrc_Vid_Sonora_VGAc"}; // VGA (1,2,4,8,16) sRsrc_Vid_Sonora_GF, l{"_sRsrc_Vid_Sonora_GF"}; // GoldFish (1,PDM) sRsrc_Vid_Sonora_GFa, l{"_sRsrc_Vid_Sonora_GFa"}; // GoldFish (1,2) sRsrc_Vid_Sonora_GFb, l{"_sRsrc_Vid_Sonora_GFb"}; // GoldFish (1,2,4,8) sRsrc_Vid_Sonora_MSB2, l{"_sRsrc_Vid_Sonora_GFb"}; // MSB1=MSB2=GFb // Miscellaneous sRsrcs for Sonora. // sRsrc_Sonora_Mace, l{"_sRsrc_Sonora_Mace"}; // Sonora Mace sRrsc. sRsrc_CPUMac030, a{"_sRsrc_CPUMac030"}; // CPU sRsrc. sRsrc_Sonic, a{"_sRsrc_Sonic"}; // Sonic sRrsc. }}; resource 'list' (2745, "_VidParmDir_Sonora") {{ sRsrc_Vid_Sonora_FP, l{"_sVidParms_Sonora_FP"}; // Portrait sRsrc_Vid_Sonora_FPa, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_FPb, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_FPc, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_GS, l{"_sVidParms_Sonora_GS"}; // Rubik sRsrc_Vid_Sonora_GSa, l{"_sVidParms_Sonora_GS"}; sRsrc_Vid_Sonora_GSb, l{"_sVidParms_Sonora_GS"}; sRsrc_Vid_Sonora_GSM, l{"_sVidParms_Sonora_GS"}; sRsrc_Vid_Sonora_GS560a, l{"_sVidParms_Sonora_GS560"}; // Rubik-560 sRsrc_Vid_Sonora_GS560b, l{"_sVidParms_Sonora_GS560"}; sRsrc_Vid_Sonora_RGBFP, l{"_sVidParms_Sonora_FP"}; // RGB Portrait sRsrc_Vid_Sonora_RGBFPa, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_RGBFPb, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_RGBFPc, l{"_sVidParms_Sonora_FP"}; sRsrc_Vid_Sonora_HR, l{"_sVidParms_Sonora_HR"}; // Hi-Res sRsrc_Vid_Sonora_HRa, l{"_sVidParms_Sonora_HR"}; sRsrc_Vid_Sonora_HRb, l{"_sVidParms_Sonora_HR"}; sRsrc_Vid_Sonora_HRc, l{"_sVidParms_Sonora_HR"}; sRsrc_Vid_Sonora_MSB1, l{"_sVidParms_Sonora_HR"}; // MSB1=HR sRsrc_Vid_Sonora_HR400a, l{"_sVidParms_Sonora_HR400"}; // Hi-Res 400 sRsrc_Vid_Sonora_HR400b, l{"_sVidParms_Sonora_HR400"}; sRsrc_Vid_Sonora_VGA, l{"_sVidParms_Sonora_VGA"}; // VGA sRsrc_Vid_Sonora_VGAa, l{"_sVidParms_Sonora_VGA"}; sRsrc_Vid_Sonora_VGAb, l{"_sVidParms_Sonora_VGA"}; sRsrc_Vid_Sonora_VGAc, l{"_sVidParms_Sonora_VGA"}; sRsrc_Vid_Sonora_GF, l{"_sVidParms_Sonora_GF"}; // GoldFish sRsrc_Vid_Sonora_GFa, l{"_sVidParms_Sonora_GF"}; sRsrc_Vid_Sonora_GFb, l{"_sVidParms_Sonora_GF"}; sRsrc_Vid_Sonora_MSB2, l{"_sVidParms_Sonora_GF"}; // MSB2=GF }}; //=================================================================== // Video name parameters directory //=================================================================== resource 'vdir' (350, "_SonoraVidNameDir") {{ sRsrc_Vid_Sonora_FP, a{"_sName_FP"}; sRsrc_Vid_Sonora_FPa, a{"_sName_FP"}; sRsrc_Vid_Sonora_FPb, a{"_sName_FP"}; sRsrc_Vid_Sonora_FPc, a{"_sName_FP"}; sRsrc_Vid_Sonora_GS, a{"_sName_GS"}; sRsrc_Vid_Sonora_GSa, a{"_sName_GS"}; sRsrc_Vid_Sonora_GSb, a{"_sName_GS"}; sRsrc_Vid_Sonora_GSM, a{"_sName_GS"}; sRsrc_Vid_Sonora_GS560a, a{"_sName_GS560"}; sRsrc_Vid_Sonora_GS560b, a{"_sName_GS560"}; sRsrc_Vid_Sonora_RGBFP, a{"_sName_RGBFP"}; sRsrc_Vid_Sonora_RGBFPa, a{"_sName_RGBFP"}; sRsrc_Vid_Sonora_RGBFPb, a{"_sName_RGBFP"}; sRsrc_Vid_Sonora_RGBFPc, a{"_sName_RGBFP"}; sRsrc_Vid_Sonora_HR, a{"_sName_HR"}; sRsrc_Vid_Sonora_HRa, a{"_sName_HR"}; sRsrc_Vid_Sonora_HRb, a{"_sName_HR"}; sRsrc_Vid_Sonora_HRc, a{"_sName_HR"}; sRsrc_Vid_Sonora_MSB1, a{"_sName_HR"}; sRsrc_Vid_Sonora_HR400a, a{"_sName_HR400"}; sRsrc_Vid_Sonora_HR400b, a{"_sName_HR400"}; sRsrc_Vid_Sonora_VGA, a{"_sName_VGA"}; sRsrc_Vid_Sonora_VGAa, a{"_sName_VGA"}; sRsrc_Vid_Sonora_VGAb, a{"_sName_VGA"}; sRsrc_Vid_Sonora_VGAc, a{"_sName_VGA"}; sRsrc_Vid_Sonora_GF, a{"_sName_GF"}; sRsrc_Vid_Sonora_GFa, a{"_sName_GF"}; sRsrc_Vid_Sonora_GFb, a{"_sName_GF"}; sRsrc_Vid_Sonora_MSB2,a{"_sName_GF"}; }}; resource 'vdir' (352, "_PDMVidNameDir") {{ sRsrc_Vid_Sonora_FP, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_FPc, a{"_sName_8bppG"}; sRsrc_Vid_Sonora_GS, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_GSa, a{"_sName_8bpp"}; sRsrc_Vid_Sonora_GSb, a{"_sName16bpp"}; sRsrc_Vid_Sonora_GSM, a{"_sName_GS"}; sRsrc_Vid_Sonora_RGBFP, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_RGBFPc, a{"_sName_8bpp"}; sRsrc_Vid_Sonora_HR, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_HRb, a{"_sName_8bpp"}; sRsrc_Vid_Sonora_HRc, a{"_sName16bpp"}; sRsrc_Vid_Sonora_MSB1,a{"_sName_HR"}; sRsrc_Vid_Sonora_VGA, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_VGAb, a{"_sName_8bpp"}; sRsrc_Vid_Sonora_VGAc, a{"_sName16bpp"}; sRsrc_Vid_Sonora_GF, a{"_sName_1bpp"}; sRsrc_Vid_Sonora_GFb, a{"_sName_8bpp"}; sRsrc_Vid_Sonora_MSB2,a{"_sName_GF"}; }}; resource 'vmna' (550, "_sName_1bpp") {170, "Black & White Only"}; resource 'vmna' (555, "_sName_8bpp") {170, "256 Colors or Grays"}; resource 'vmna' (560, "_sName_8bppG") {170, "256 Grays"}; resource 'vmna' (565, "_sName16bpp") {170, "Thousands of Colors"}; //=================================================================== // Supported video modes //=================================================================== resource 'srsc' (1013, "_sRsrc_Vid_Sonora_FP") {{ sRsrcType, l{"_VideoTypeSonora"}; sRsrcName, l{"_VideoNameSonora"}; sRsrcDrvrDir, l{"_VidDrvrDirSonora"}; sRsrcFlags, d{(0|(1<