Chameleon

Chameleon Commit Details

Date:2011-12-12 20:56:53 (12 years 4 months ago)
Author:ErmaC
Commit:1726
Parents: 1725
Message:- Merge latest trunk correction/enhancement. - Add more Nvidia and ATI Card.
Changes:
M/branches/ErmaC/Trunk/i386/boot2/gui.c
M/branches/ErmaC/Modules/Chameleon.xcodeproj/project.pbxproj
M/branches/ErmaC/Modules/i386/modules/NVIDIAGraphicsEnabler/nvidia.c
M/branches/ErmaC/Modules/i386/boot0/boot0md.s
M/branches/ErmaC/Modules/i386/boot2/gui.c
M/branches/ErmaC/Trunk/i386/boot2/gui.h
M/branches/ErmaC/Trunk/package/Scripts/Sub/CheckGRUBLinuxLoader.sh
M/branches/ErmaC/Modules/i386/boot2/gui.h
M/branches/ErmaC/Modules/package/Scripts/Sub/CheckGRUBLinuxLoader.sh
M/branches/ErmaC/Trunk/package/Scripts/Main/Standardpostinstall
M/branches/ErmaC/Trunk/package/buildpkg.sh
M/branches/ErmaC/Trunk/i386/libsaio/nvidia.c
M/branches/ErmaC/Modules/package/Scripts/Main/Standardpostinstall
M/branches/ErmaC/Trunk/i386/libsaio/ati.c
M/branches/ErmaC/Modules/package/buildpkg.sh
M/branches/ErmaC/Modules/i386/modules/AMDGraphicsEnabler/ati.c
M/branches/ErmaC/Trunk/Chameleon.xcodeproj/project.pbxproj

File differences

branches/ErmaC/Trunk/Chameleon.xcodeproj/project.pbxproj
651651
652652
653653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
654673
655674
656675
......
951970
952971
953972
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997973
998974
999975
......
23502326
23512327
23522328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
23532362
23542363
23552364
......
27062715
27072716
27082717
2709
2710
2711
2712
2713
2714
2715
2718
2719
27162720
27172721
27182722
27192723
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
31242724
31252725
31262726
......
35503150
35513151
35523152
3553
3153
35543154
35553155
35563156
6DBAFFC313B0D4590047ED33 /* ufsmount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufsmount.h; sourceTree = "<group>"; };
6DBAFFC413B0D4590047ED33 /* unistd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unistd.h; sourceTree = "<group>"; };
6DBAFFC513B0D4590047ED33 /* unwind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unwind.h; sourceTree = "<group>"; };
A354B6271495124F00D81AA5 /* ESPpostinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ESPpostinstall; sourceTree = "<group>"; };
A354B6281495124F00D81AA5 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A354B6291495124F00D81AA5 /* preinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = preinstall; sourceTree = "<group>"; };
A354B62A1495124F00D81AA5 /* Standardpostinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = Standardpostinstall; sourceTree = "<group>"; };
A354B62C149514DE00D81AA5 /* CheckDiskMicrocode.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckDiskMicrocode.sh; sourceTree = "<group>"; };
A354B62D149514DE00D81AA5 /* CheckFatType.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckFatType.sh; sourceTree = "<group>"; };
A354B62E149514DE00D81AA5 /* CheckGRUBLinuxLoader.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckGRUBLinuxLoader.sh; sourceTree = "<group>"; };
A354B62F149514DE00D81AA5 /* CheckPartitionScheme.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckPartitionScheme.sh; sourceTree = "<group>"; };
A354B630149514DE00D81AA5 /* CheckPreviousChameleon.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckPreviousChameleon.sh; sourceTree = "<group>"; };
A354B631149514DE00D81AA5 /* CheckProceed.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckProceed.sh; sourceTree = "<group>"; };
A354B632149514DE00D81AA5 /* CheckWindowsDiskSignature.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckWindowsDiskSignature.sh; sourceTree = "<group>"; };
A354B633149514DE00D81AA5 /* InstallLog.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = InstallLog.sh; sourceTree = "<group>"; };
A354B634149514DE00D81AA5 /* MountESP.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = MountESP.sh; sourceTree = "<group>"; };
A354B635149514DE00D81AA5 /* patch */ = {isa = PBXFileReference; lastKnownFileType = file; path = patch; sourceTree = "<group>"; };
A354B636149514DE00D81AA5 /* SetActivePartition.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = SetActivePartition.sh; sourceTree = "<group>"; };
A354B637149514DE00D81AA5 /* UnMountEFIvolumes.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = UnMountEFIvolumes.sh; sourceTree = "<group>"; };
A354B638149514DE00D81AA5 /* WriteChameleonStage0.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage0.sh; sourceTree = "<group>"; };
A354B639149514DE00D81AA5 /* WriteChameleonStage1.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage1.sh; sourceTree = "<group>"; };
A354B63A149514DE00D81AA5 /* WriteChameleonStage2.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage2.sh; sourceTree = "<group>"; };
A3561C731413FD7800E9B51E /* auto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto.c; sourceTree = "<group>"; };
A3561C741413FD7800E9B51E /* auto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = auto.h; sourceTree = "<group>"; };
A3561C751413FD7800E9B51E /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
A37D7D84141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = sr; path = sr.lproj/License.rtf; sourceTree = "<group>"; };
A37D7D85141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/Localizable.strings; sourceTree = "<group>"; };
A37D7D86141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = sr; path = sr.lproj/Welcome.rtfd; sourceTree = "<group>"; };
A3F1F210141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F212141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F214141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F216141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F218141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F220141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F222141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F224141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F226141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F228141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F230141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F233141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F235141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F237141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F239141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23B141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23D141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23F141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F241141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F243141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F245141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F247141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F249141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F24B141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F24D141B9B0D00DDA709 /* postinstall.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall.in; sourceTree = "<group>"; };
A3F1F24F141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F252141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F254141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F256141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F258141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F260141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F262141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F264141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F266141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F267141B9B3B00DDA709 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
B0056CE711F3868000754B65 /* boot0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot0.s; sourceTree = "<group>"; };
B0056CE811F3868000754B65 /* chain0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = chain0.s; sourceTree = "<group>"; };
path = ufs;
sourceTree = "<group>";
};
A354B6261495124F00D81AA5 /* Main */ = {
isa = PBXGroup;
children = (
A354B6271495124F00D81AA5 /* ESPpostinstall */,
A354B6281495124F00D81AA5 /* postinstall */,
A354B6291495124F00D81AA5 /* preinstall */,
A354B62A1495124F00D81AA5 /* Standardpostinstall */,
);
path = Main;
sourceTree = "<group>";
};
A354B62B149514DE00D81AA5 /* Sub */ = {
isa = PBXGroup;
children = (
A354B62C149514DE00D81AA5 /* CheckDiskMicrocode.sh */,
A354B62D149514DE00D81AA5 /* CheckFatType.sh */,
A354B62E149514DE00D81AA5 /* CheckGRUBLinuxLoader.sh */,
A354B62F149514DE00D81AA5 /* CheckPartitionScheme.sh */,
A354B630149514DE00D81AA5 /* CheckPreviousChameleon.sh */,
A354B631149514DE00D81AA5 /* CheckProceed.sh */,
A354B632149514DE00D81AA5 /* CheckWindowsDiskSignature.sh */,
A354B633149514DE00D81AA5 /* InstallLog.sh */,
A354B634149514DE00D81AA5 /* MountESP.sh */,
A354B635149514DE00D81AA5 /* patch */,
A354B636149514DE00D81AA5 /* SetActivePartition.sh */,
A354B637149514DE00D81AA5 /* UnMountEFIvolumes.sh */,
A354B638149514DE00D81AA5 /* WriteChameleonStage0.sh */,
A354B639149514DE00D81AA5 /* WriteChameleonStage1.sh */,
A354B63A149514DE00D81AA5 /* WriteChameleonStage2.sh */,
);
path = Sub;
sourceTree = "<group>";
};
A3561C721413FD7800E9B51E /* fdisk */ = {
isa = PBXGroup;
children = (
A3F1F20D141B9B0D00DDA709 /* Scripts */ = {
isa = PBXGroup;
children = (
A3F1F20E141B9B0D00DDA709 /* Advanced */,
A3F1F231141B9B0D00DDA709 /* BaseOptions */,
A3F1F24A141B9B0D00DDA709 /* EFI */,
A3F1F24C141B9B0D00DDA709 /* Keymaps */,
A3F1F24E141B9B0D00DDA709 /* Post */,
A3F1F250141B9B0D00DDA709 /* Resolutions */,
A3F1F265141B9B0D00DDA709 /* Standard */,
A354B6261495124F00D81AA5 /* Main */,
A354B62B149514DE00D81AA5 /* Sub */,
);
path = Scripts;
sourceTree = "<group>";
};
A3F1F20E141B9B0D00DDA709 /* Advanced */ = {
isa = PBXGroup;
children = (
A3F1F20F141B9B0D00DDA709 /* BootBanner */,
A3F1F211141B9B0D00DDA709 /* EHCIacquire */,
A3F1F213141B9B0D00DDA709 /* ForceHPET */,
A3F1F215141B9B0D00DDA709 /* ForceWake */,
A3F1F217141B9B0D00DDA709 /* GUI */,
A3F1F219141B9B0D00DDA709 /* LegacyLogo */,
A3F1F21B141B9B0D00DDA709 /* Npci */,
A3F1F21D141B9B0D00DDA709 /* QuietBoot */,
A3F1F21F141B9B0D00DDA709 /* ShowInfo */,
A3F1F221141B9B0D00DDA709 /* SMBIOSdefaults */,
A3F1F223141B9B0D00DDA709 /* UHCIreset */,
A3F1F225141B9B0D00DDA709 /* UseAtiROM */,
A3F1F227141B9B0D00DDA709 /* UseMemDetect */,
A3F1F229141B9B0D00DDA709 /* UseNvidiaROM */,
A3F1F22B141B9B0D00DDA709 /* VBIOS */,
A3F1F22D141B9B0D00DDA709 /* Wait */,
A3F1F22F141B9B0D00DDA709 /* Wake */,
);
path = Advanced;
sourceTree = "<group>";
};
A3F1F20F141B9B0D00DDA709 /* BootBanner */ = {
isa = PBXGroup;
children = (
A3F1F210141B9B0D00DDA709 /* postinstall */,
);
path = BootBanner;
sourceTree = "<group>";
};
A3F1F211141B9B0D00DDA709 /* EHCIacquire */ = {
isa = PBXGroup;
children = (
A3F1F212141B9B0D00DDA709 /* postinstall */,
);
path = EHCIacquire;
sourceTree = "<group>";
};
A3F1F213141B9B0D00DDA709 /* ForceHPET */ = {
isa = PBXGroup;
children = (
A3F1F214141B9B0D00DDA709 /* postinstall */,
);
path = ForceHPET;
sourceTree = "<group>";
};
A3F1F215141B9B0D00DDA709 /* ForceWake */ = {
isa = PBXGroup;
children = (
A3F1F216141B9B0D00DDA709 /* postinstall */,
);
path = ForceWake;
sourceTree = "<group>";
};
A3F1F217141B9B0D00DDA709 /* GUI */ = {
isa = PBXGroup;
children = (
A3F1F218141B9B0D00DDA709 /* postinstall */,
);
path = GUI;
sourceTree = "<group>";
};
A3F1F219141B9B0D00DDA709 /* LegacyLogo */ = {
isa = PBXGroup;
children = (
A3F1F21A141B9B0D00DDA709 /* postinstall */,
);
path = LegacyLogo;
sourceTree = "<group>";
};
A3F1F21B141B9B0D00DDA709 /* Npci */ = {
isa = PBXGroup;
children = (
A3F1F21C141B9B0D00DDA709 /* postinstall */,
);
path = Npci;
sourceTree = "<group>";
};
A3F1F21D141B9B0D00DDA709 /* QuietBoot */ = {
isa = PBXGroup;
children = (
A3F1F21E141B9B0D00DDA709 /* postinstall */,
);
path = QuietBoot;
sourceTree = "<group>";
};
A3F1F21F141B9B0D00DDA709 /* ShowInfo */ = {
isa = PBXGroup;
children = (
A3F1F220141B9B0D00DDA709 /* postinstall */,
);
path = ShowInfo;
sourceTree = "<group>";
};
A3F1F221141B9B0D00DDA709 /* SMBIOSdefaults */ = {
isa = PBXGroup;
children = (
A3F1F222141B9B0D00DDA709 /* postinstall */,
);
path = SMBIOSdefaults;
sourceTree = "<group>";
};
A3F1F223141B9B0D00DDA709 /* UHCIreset */ = {
isa = PBXGroup;
children = (
A3F1F224141B9B0D00DDA709 /* postinstall */,
);
path = UHCIreset;
sourceTree = "<group>";
};
A3F1F225141B9B0D00DDA709 /* UseAtiROM */ = {
isa = PBXGroup;
children = (
A3F1F226141B9B0D00DDA709 /* postinstall */,
);
path = UseAtiROM;
sourceTree = "<group>";
};
A3F1F227141B9B0D00DDA709 /* UseMemDetect */ = {
isa = PBXGroup;
children = (
A3F1F228141B9B0D00DDA709 /* postinstall */,
);
path = UseMemDetect;
sourceTree = "<group>";
};
A3F1F229141B9B0D00DDA709 /* UseNvidiaROM */ = {
isa = PBXGroup;
children = (
A3F1F22A141B9B0D00DDA709 /* postinstall */,
);
path = UseNvidiaROM;
sourceTree = "<group>";
};
A3F1F22B141B9B0D00DDA709 /* VBIOS */ = {
isa = PBXGroup;
children = (
A3F1F22C141B9B0D00DDA709 /* postinstall */,
);
path = VBIOS;
sourceTree = "<group>";
};
A3F1F22D141B9B0D00DDA709 /* Wait */ = {
isa = PBXGroup;
children = (
A3F1F22E141B9B0D00DDA709 /* postinstall */,
);
path = Wait;
sourceTree = "<group>";
};
A3F1F22F141B9B0D00DDA709 /* Wake */ = {
isa = PBXGroup;
children = (
A3F1F230141B9B0D00DDA709 /* postinstall */,
);
path = Wake;
sourceTree = "<group>";
};
A3F1F231141B9B0D00DDA709 /* BaseOptions */ = {
isa = PBXGroup;
children = (
A3F1F232141B9B0D00DDA709 /* arch */,
A3F1F234141B9B0D00DDA709 /* CSTUsingSystemIO */,
A3F1F236141B9B0D00DDA709 /* DropSSDT */,
A3F1F238141B9B0D00DDA709 /* EnableC2State */,
A3F1F23A141B9B0D00DDA709 /* EnableC3State */,
A3F1F23C141B9B0D00DDA709 /* EnableC4State */,
A3F1F23E141B9B0D00DDA709 /* EthernetBuiltIn */,
A3F1F240141B9B0D00DDA709 /* GenerateCStates */,
A3F1F242141B9B0D00DDA709 /* GeneratePStates */,
A3F1F244141B9B0D00DDA709 /* GraphicsEnabler */,
A3F1F246141B9B0D00DDA709 /* InstantMenu */,
A3F1F248141B9B0D00DDA709 /* RestartFix */,
);
path = BaseOptions;
sourceTree = "<group>";
};
A3F1F232141B9B0D00DDA709 /* arch */ = {
isa = PBXGroup;
children = (
A3F1F233141B9B0D00DDA709 /* postinstall */,
);
path = arch;
sourceTree = "<group>";
};
A3F1F234141B9B0D00DDA709 /* CSTUsingSystemIO */ = {
isa = PBXGroup;
children = (
A3F1F235141B9B0D00DDA709 /* postinstall */,
);
path = CSTUsingSystemIO;
sourceTree = "<group>";
};
A3F1F236141B9B0D00DDA709 /* DropSSDT */ = {
isa = PBXGroup;
children = (
A3F1F237141B9B0D00DDA709 /* postinstall */,
);
path = DropSSDT;
sourceTree = "<group>";
};
A3F1F238141B9B0D00DDA709 /* EnableC2State */ = {
isa = PBXGroup;
children = (
A3F1F239141B9B0D00DDA709 /* postinstall */,
);
path = EnableC2State;
sourceTree = "<group>";
};
A3F1F23A141B9B0D00DDA709 /* EnableC3State */ = {
isa = PBXGroup;
children = (
A3F1F23B141B9B0D00DDA709 /* postinstall */,
);
path = EnableC3State;
sourceTree = "<group>";
};
A3F1F23C141B9B0D00DDA709 /* EnableC4State */ = {
isa = PBXGroup;
children = (
A3F1F23D141B9B0D00DDA709 /* postinstall */,
);
path = EnableC4State;
sourceTree = "<group>";
};
A3F1F23E141B9B0D00DDA709 /* EthernetBuiltIn */ = {
isa = PBXGroup;
children = (
A3F1F23F141B9B0D00DDA709 /* postinstall */,
);
path = EthernetBuiltIn;
sourceTree = "<group>";
};
A3F1F240141B9B0D00DDA709 /* GenerateCStates */ = {
isa = PBXGroup;
children = (
A3F1F241141B9B0D00DDA709 /* postinstall */,
);
path = GenerateCStates;
sourceTree = "<group>";
};
A3F1F242141B9B0D00DDA709 /* GeneratePStates */ = {
isa = PBXGroup;
children = (
A3F1F243141B9B0D00DDA709 /* postinstall */,
);
path = GeneratePStates;
sourceTree = "<group>";
};
A3F1F244141B9B0D00DDA709 /* GraphicsEnabler */ = {
isa = PBXGroup;
children = (
A3F1F245141B9B0D00DDA709 /* postinstall */,
);
path = GraphicsEnabler;
sourceTree = "<group>";
};
A3F1F246141B9B0D00DDA709 /* InstantMenu */ = {
isa = PBXGroup;
children = (
A3F1F247141B9B0D00DDA709 /* postinstall */,
);
path = InstantMenu;
sourceTree = "<group>";
};
A3F1F248141B9B0D00DDA709 /* RestartFix */ = {
isa = PBXGroup;
children = (
A3F1F249141B9B0D00DDA709 /* postinstall */,
);
path = RestartFix;
sourceTree = "<group>";
};
A3F1F24A141B9B0D00DDA709 /* EFI */ = {
isa = PBXGroup;
children = (
A3F1F24B141B9B0D00DDA709 /* postinstall */,
);
path = EFI;
sourceTree = "<group>";
};
A3F1F24C141B9B0D00DDA709 /* Keymaps */ = {
isa = PBXGroup;
children = (
A3F1F24D141B9B0D00DDA709 /* postinstall.in */,
);
path = Keymaps;
sourceTree = "<group>";
};
A3F1F24E141B9B0D00DDA709 /* Post */ = {
isa = PBXGroup;
children = (
A3F1F24F141B9B0D00DDA709 /* postinstall */,
);
path = Post;
sourceTree = "<group>";
};
A3F1F250141B9B0D00DDA709 /* Resolutions */ = {
isa = PBXGroup;
children = (
A3F1F251141B9B0D00DDA709 /* 1024x600x32 */,
A3F1F253141B9B0D00DDA709 /* 1024x768x32 */,
A3F1F255141B9B0D00DDA709 /* 1280x1024x32 */,
A3F1F257141B9B0D00DDA709 /* 1280x800x32 */,
A3F1F259141B9B0D00DDA709 /* 1280x960x32 */,
A3F1F25B141B9B0D00DDA709 /* 1440x900x32 */,
A3F1F25D141B9B0D00DDA709 /* 1600x900x32 */,
A3F1F25F141B9B0D00DDA709 /* 1680x1050x32 */,
A3F1F261141B9B0D00DDA709 /* 1920x1080x32 */,
A3F1F263141B9B0D00DDA709 /* 1920x1200x32 */,
);
path = Resolutions;
sourceTree = "<group>";
};
A3F1F251141B9B0D00DDA709 /* 1024x600x32 */ = {
isa = PBXGroup;
children = (
A3F1F252141B9B0D00DDA709 /* postinstall */,
);
path = 1024x600x32;
sourceTree = "<group>";
};
A3F1F253141B9B0D00DDA709 /* 1024x768x32 */ = {
isa = PBXGroup;
children = (
A3F1F254141B9B0D00DDA709 /* postinstall */,
);
path = 1024x768x32;
sourceTree = "<group>";
};
A3F1F255141B9B0D00DDA709 /* 1280x1024x32 */ = {
isa = PBXGroup;
children = (
A3F1F256141B9B0D00DDA709 /* postinstall */,
);
path = 1280x1024x32;
sourceTree = "<group>";
};
A3F1F257141B9B0D00DDA709 /* 1280x800x32 */ = {
isa = PBXGroup;
children = (
A3F1F258141B9B0D00DDA709 /* postinstall */,
);
path = 1280x800x32;
sourceTree = "<group>";
};
A3F1F259141B9B0D00DDA709 /* 1280x960x32 */ = {
isa = PBXGroup;
children = (
A3F1F25A141B9B0D00DDA709 /* postinstall */,
);
path = 1280x960x32;
sourceTree = "<group>";
};
A3F1F25B141B9B0D00DDA709 /* 1440x900x32 */ = {
isa = PBXGroup;
children = (
A3F1F25C141B9B0D00DDA709 /* postinstall */,
);
path = 1440x900x32;
sourceTree = "<group>";
};
A3F1F25D141B9B0D00DDA709 /* 1600x900x32 */ = {
isa = PBXGroup;
children = (
A3F1F25E141B9B0D00DDA709 /* postinstall */,
);
path = 1600x900x32;
sourceTree = "<group>";
};
A3F1F25F141B9B0D00DDA709 /* 1680x1050x32 */ = {
isa = PBXGroup;
children = (
A3F1F260141B9B0D00DDA709 /* postinstall */,
);
path = 1680x1050x32;
sourceTree = "<group>";
};
A3F1F261141B9B0D00DDA709 /* 1920x1080x32 */ = {
isa = PBXGroup;
children = (
A3F1F262141B9B0D00DDA709 /* postinstall */,
);
path = 1920x1080x32;
sourceTree = "<group>";
};
A3F1F263141B9B0D00DDA709 /* 1920x1200x32 */ = {
isa = PBXGroup;
children = (
A3F1F264141B9B0D00DDA709 /* postinstall */,
);
path = 1920x1200x32;
sourceTree = "<group>";
};
A3F1F265141B9B0D00DDA709 /* Standard */ = {
isa = PBXGroup;
children = (
A3F1F266141B9B0D00DDA709 /* postinstall */,
);
path = Standard;
sourceTree = "<group>";
};
B0056CE511F3868000754B65 /* i386 */ = {
isa = PBXGroup;
children = (
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0410;
LastUpgradeCheck = 0420;
};
buildConfigurationList = 1DEB919308733D9F0010E9CD /* Build configuration list for PBXProject "Chameleon" */;
compatibilityVersion = "Xcode 3.2";
branches/ErmaC/Trunk/i386/libsaio/nvidia.c
400400
401401
402402
403
403
404404
405405
406406
......
440440
441441
442442
443
443
444444
445445
446
446
447447
448448
449449
......
451451
452452
453453
454
454
455455
456456
457457
......
481481
482482
483483
484
484
485485
486486
487487
......
512512
513513
514514
515
515
516516
517517
518518
......
530530
531531
532532
533
533
534534
535535
536536
537537
538538
539
539
540540
541541
542542
......
563563
564564
565565
566
566
567567
568568
569569
......
586586
587587
588588
589
589
590590
591591
592592
......
606606
607607
608608
609
610
609
610
611611
612612
613613
......
635635
636636
637637
638
639
638
639
640640
641641
642642
......
646646
647647
648648
649
649
650650
651651
652652
......
671671
672672
673673
674
674
675675
676
676
677677
678678
679679
......
714714
715715
716716
717
717
718718
719719
720720
721
721
722722
723723
724724
......
749749
750750
751751
752
753
752
753
754754
755755
756756
757
757
758758
759
759
760760
761761
762762
......
765765
766766
767767
768
769
768
769
770770
771771
772772
773773
774774
775775
776
777
778
779
776
777
778
779
780780
781
781
782782
783783
784784
......
791791
792792
793793
794
794
795795
796
797
796
797
798798
799799
800800
......
833833
834834
835835
836
837
838
836839
837840
838841
839
840
841
842
842
843843
844844
845845
846846
847
848
847
848
849
849850
850
851
851
852
852853
853
854
854855
855
856
856
857
857858
858859
859860
860
861
861862
862
863
863864
864
865
865866
866867
867
868
869
868
869
870
870871
871872
872
873
873874
874875
875876
{ 0x10DE05E2, "GeForce GTX 260" },
{ 0x10DE05E3, "GeForce GTX 285" },
{ 0x10DE05E6, "GeForce GTX 275" },
{ 0x10DE05E7, "Tesla C1060" },
{ 0x10DE05E7, "Tesla C1060" }, // ErmaC
{ 0x10DE05EA, "GeForce GTX 260" },
{ 0x10DE05EB, "GeForce GTX 295" },
{ 0x10DE05ED, "Quadroplex 2200 D2" },
{ 0x10DE061B, "Quadro VX 200" },
{ 0x10DE061C, "Quadro FX 3600M" },
{ 0x10DE061D, "Quadro FX 2800M" },
{ 0x10DE061E, "Quadro FX 3700M" },
{ 0x10DE061E, "Quadro FX 3700M" }, // ErmaC
{ 0x10DE061F, "Quadro FX 3800M" },
// 0620 - 062F
{ 0x10DE0621, "GeForce GT 230" },
{ 0x10DE0621, "GeForce GT 230" }, // ErmaC
{ 0x10DE0622, "GeForce 9600 GT" },
{ 0x10DE0623, "GeForce 9600 GS" },
{ 0x10DE0625, "GeForce 9600 GSO 512"},
{ 0x10DE0627, "GeForce GT 140" },
{ 0x10DE0628, "GeForce 9800M GTS" },
{ 0x10DE062A, "GeForce 9700M GTS" },
{ 0x10DE062B, "GeForce 9800M GS" },
{ 0x10DE062B, "GeForce 9800M GS" }, // ErmaC
{ 0x10DE062C, "GeForce 9800M GTS" },
{ 0x10DE062D, "GeForce 9600 GT" },
{ 0x10DE062E, "GeForce 9600 GT" },
{ 0x10DE0652, "GeForce GT 130M" },
{ 0x10DE0653, "GeForce GT 120M" },
{ 0x10DE0654, "GeForce GT 220M" },
{ 0x10DE0655, "GeForce GT 120" },
{ 0x10DE0655, "GeForce GT 120" }, // ErmaC
{ 0x10DE0656, "GeForce 9650 S" },
{ 0x10DE0658, "Quadro FX 380" },
{ 0x10DE0659, "Quadro FX 580" },
{ 0x10DE06DD, "Quadro 4000" },
{ 0x10DE06DE, "Tesla M2050" },// TODO: sub-device id: 0x0846
{ 0x10DE06DE, "Tesla M2070" },// TODO: sub-device id: ?
{ 0x10DE06DF, "Tesla M2070-Q" },
{ 0x10DE06DF, "Tesla M2070-Q" }, // ErmaC
// 0x10DE06DE also applies to misc S2050, X2070, M2050, M2070
// 06E0 - 06EF
{ 0x10DE06E0, "GeForce 9300 GE" },
{ 0x10DE06EC, "GeForce G 105M" },
{ 0x10DE06EF, "GeForce G 103M" },
// 06F0 - 06FF
{ 0x10DE06F1, "GeForce G105M" },
{ 0x10DE06F1, "GeForce G105M" }, // ErmaC
{ 0x10DE06F8, "Quadro NVS 420" },
{ 0x10DE06F9, "Quadro FX 370 LP" },
{ 0x10DE06FA, "Quadro NVS 450" },
{ 0x10DE06FB, "Quadro FX 370M" },
{ 0x10DE06FD, "Quadro NVS 295" },
{ 0x10DE06FF, "HICx16 + Graphics" },
{ 0x10DE06FF, "HICx16 + Graphics" }, // ErmaC
// 0700 - 070F
// 0710 - 071F
// 0720 - 072F
// 0820 - 082F
// 0830 - 083F
// 0840 - 084F
{ 0x10DE0840, "GeForce 8200M" },
{ 0x10DE0840, "GeForce 8200M" }, // ErmaC
{ 0x10DE0844, "GeForce 9100M G" },
{ 0x10DE0845, "GeForce 8200M G" },
{ 0x10DE0846, "GeForce 9200" },
{ 0x10DE0866, "GeForce 9400M G" },
{ 0x10DE0867, "GeForce 9400" },
{ 0x10DE0868, "nForce 760i SLI" },
{ 0x10DE0869, "GeForce 9400" },
{ 0x10DE0869, "GeForce 9400" }, // ErmaC
{ 0x10DE086A, "GeForce 9400" },
{ 0x10DE086C, "GeForce 9300 / nForce 730i" },
{ 0x10DE086D, "GeForce 9200" },
// 0880 - 088F
// 0890 - 089F
// 08A0 - 08AF
{ 0x10DE08A0, "GeForce 320M" },
{ 0x10DE08A4, "GeForce 320M" },
{ 0x10DE08A0, "GeForce 320M" }, // ErmaC
{ 0x10DE08A4, "GeForce 320M" }, // ErmaC
// 08B0 - 08BF
// 08C0 - 08CF
// 08D0 - 08DF
{ 0x10DE0A20, "GeForce GT220" },
{ 0x10DE0A22, "GeForce 315" },
{ 0x10DE0A23, "GeForce 210" },
{ 0x10DE0A26, "GeForce 405" },
{ 0x10DE0A27, "GeForce 405" },
{ 0x10DE0A26, "GeForce 405" }, // ErmaC
{ 0x10DE0A27, "GeForce 405" }, // ErmaC
{ 0x10DE0A28, "GeForce GT 230M" },
{ 0x10DE0A29, "GeForce GT 330M" },
{ 0x10DE0A2A, "GeForce GT 230M" },
// 0A30 - 0A3F
{ 0x10DE0A34, "GeForce GT 240M" },
{ 0x10DE0A35, "GeForce GT 325M" },
{ 0x10DE0A38, "Quadro 400" },
{ 0x10DE0A38, "Quadro 400" }, // ErmaC
{ 0x10DE0A3C, "Quadro FX 880M" },
// 0A40 - 0A4F
// 0A50 - 0A5F
{ 0x10DE0A73, "GeForce 305M" },
{ 0x10DE0A74, "GeForce G210M" },
{ 0x10DE0A75, "GeForce G310M" },
{ 0x10DE0A76, "ION" },
{ 0x10DE0A76, "ION" }, // ErmaC
{ 0x10DE0A78, "Quadro FX 380 LP" },
{ 0x10DE0A7A, "GeForce 315M" },
{ 0x10DE0A7A, "GeForce 315M" }, // ErmaC
{ 0x10DE0A7C, "Quadro FX 380M" },
// 0A80 - 0A8F
// 0A90 - 0A9F
{ 0x10DE0CA2, "GeForce GT 320" },
{ 0x10DE0CA3, "GeForce GT 240" },
{ 0x10DE0CA4, "GeForce GT 340" },
{ 0x10DE0CA5, "GeForce GT 220" },
{ 0x10DE0CA5, "GeForce GT 220" }, // ErmaC
{ 0x10DE0CA7, "GeForce GT 330" },
{ 0x10DE0CA8, "GeForce GTS 260M" },
{ 0x10DE0CA9, "GeForce GTS 250M" },
{ 0x10DE0CAC, "GeForce GT 220" },
{ 0x10DE0CAC, "GeForce GT 220" }, // ErmaC
{ 0x10DE0CAF, "GeForce GT 335M" },
// 0CB0 - 0CBF
{ 0x10DE0CB0, "GeForce GTS 350M" },
{ 0x10DE0DC6, "GeForce GTS 450" },
{ 0x10DE0DCA, "GF10x" },
// 0DD0 - 0DDF
{ 0x10DE0DCD, "GeForce GT 555M" },
{ 0x10DE0DCE, "GeForce GT 555M" },
{ 0x10DE0DCD, "GeForce GT 555M" }, // ErmaC
{ 0x10DE0DCE, "GeForce GT 555M" }, // ErmaC
{ 0x10DE0DD1, "GeForce GTX 460M" },
{ 0x10DE0DD2, "GeForce GT 445M" },
{ 0x10DE0DD3, "GeForce GT 435M" },
{ 0x10DE0DD6, "GeForce GT 550M" },
{ 0x10DE0DD6, "GeForce GT 550M" }, // ErmaC
{ 0x10DE0DD8, "Quadro 2000" },
{ 0x10DE0DDA, "Quadro 2000M" },
{ 0x10DE0DDA, "Quadro 2000M" }, // ErmaC
{ 0x10DE0DDE, "GF106-ES" },
{ 0x10DE0DDF, "GF106-INT" },
// 0DE0 - 0DEF
{ 0x10DE0DE2, "GeForce GT 420" },
{ 0x10DE0DE5, "GeForce GT 530" },
{ 0x10DE0DEB, "GeForce GT 555M" },
{ 0x10DE0DEC, "GeForce GT 525M" },
{ 0x10DE0DED, "GeForce GT 520M" },
{ 0x10DE0DEC, "GeForce GT 525M" }, // ErmaC
{ 0x10DE0DED, "GeForce GT 520M" }, // ErmaC
{ 0x10DE0DEE, "GeForce GT 415M" },
// 0DF0 - 0DFF
{ 0x10DE0DF0, "GeForce GT 425M" },
{ 0x10DE0DF1, "GeForce GT 420M" },
{ 0x10DE0DF2, "GeForce GT 435M" },
{ 0x10DE0DF3, "GeForce GT 420M" },
{ 0x10DE0DF4, "GeForce GT 540M" },
{ 0x10DE0DF5, "GeForce GT 525M" },
{ 0x10DE0DF6, "GeForce GT 550M" },
{ 0x10DE0DF7, "GeForce GT 520M" },
{ 0x10DE0DF4, "GeForce GT 540M" }, // ErmaC
{ 0x10DE0DF5, "GeForce GT 525M" }, // ErmaC
{ 0x10DE0DF6, "GeForce GT 550M" }, // ErmaC
{ 0x10DE0DF7, "GeForce GT 520M" }, // ErmaC
{ 0x10DE0DF8, "Quadro 600" },
{ 0x10DE0DFA, "Quadro 1000M" },
{ 0x10DE0DFA, "Quadro 1000M" }, // ErmaC
{ 0x10DE0DFE, "GF108 ES" },
{ 0x10DE0DFF, "GF108 INT" },
// 0E00 - 0E0F
{ 0x10DE0E25, "D12U-50" },
// 0E30 - 0E3F
{ 0x10DE0E30, "GeForce GTX 470M" },
{ 0x10DE0E31, "GeForce GTX 485M" },
{ 0x10DE0E31, "GeForce GTX 485M" }, // ErmaC
{ 0x10DE0E38, "GF104GL" },
{ 0x10DE0E3A, "Quadro 3000M" },
{ 0x10DE0E3B, "Quadro 4000M" },
{ 0x10DE0E3A, "Quadro 3000M" }, // ErmaC
{ 0x10DE0E3B, "Quadro 4000M" }, // ErmaC
{ 0x10DE0E3E, "GF104-ES" },
{ 0x10DE0E3F, "GF104-INT" },
// 0E40 - 0E4F
{ 0x10DE1040, "GeForce GT 520" },
// 1050 - 105F
{ 0x10DE1050, "GeForce GT 520M" },
{ 0x10DE1054, "GeForce GT 410M" }, // ErmaC
{ 0x10DE1056, "NVS 4200M" }, // ErmaC
{ 0x10DE1057, "NVS 4200M" }, // ErmaC
// 1060 - 106F
// 1070 - 107F
// 1080 - 108F
{ 0x10DE1054, "GeForce GT 410M" },
{ 0x10DE1056, "NVS 4200M" },
{ 0x10DE1057, "NVS 4200M" },
{ 0x10DE107F, "NVIDIA GF119-ES" },
{ 0x10DE107F, "NVIDIA GF119-ES" }, // ErmaC
{ 0x10DE1080, "GeForce GTX 580" },
{ 0x10DE1081, "GeForce GTX 570" },
{ 0x10DE1082, "GeForce GTX 560 Ti" },
{ 0x10DE1083, "D13U" },
{ 0x10DE1084, "GeForce GTX 560" },
{ 0x10DE1086, "GeForce GTX 570" },
{ 0x10DE1084, "GeForce GTX 560" }, // ErmaC
{ 0x10DE1086, "GeForce GTX 570" }, // ErmaC
{ 0x10DE1087, "GeForce GTX 560 Ti-448" }, // ErmaC
{ 0x10DE1088, "GeForce GTX 590" },
{ 0x10DE1089, "GeForce GTX 580" },
{ 0x10DE108B, "GeForce GTX 590" }, // Subsystem Id: 1043 8391
{ 0x10DE1089, "GeForce GTX 580" }, // ErmaC
{ 0x10DE108B, "GeForce GTX 590" }, // ErmaC
// 1090 - 109F
{ 0x10DE1091, "Tesla M2090" },
{ 0x10DE1091, "Tesla M2090" }, // ErmaC
{ 0x10DE1098, "D13U" },
{ 0x10DE109A, "Quadro 5010M" },
{ 0x10DE109B, "Quadro 7000" },
{ 0x10DE109A, "Quadro 5010M" }, // ErmaC
{ 0x10DE109B, "Quadro 7000" }, // ErmaC
// 10A0 - 10AF
// 10B0 - 10BF
// 10C0 - 10CF
{ 0x10DE10C0, "GeForce 9300 GS" },
{ 0x10DE10C0, "GeForce 9300 GS" }, // ErmaC
{ 0x10DE10C3, "GeForce 8400 GS" },
{ 0x10DE10C5, "GeForce 405" },
{ 0x10DE10C5, "GeForce 405" }, // ErmaC
// 10D0 - 10DF
{ 0x10DE10D8, "NVS 300" },
{ 0x10DE10D8, "NVS 300" }, // ErmaC
// 1200 -
{ 0x10DE1200, "GeForce GTX 560 Ti" },
{ 0x10DE1201, "GeForce GTX 560" },
{ 0x10DE1241, "GeForce GT 545" },
{ 0x10DE1243, "GeForce GT 545" },
{ 0x10DE1201, "GeForce GTX 560" }, // ErmaC
{ 0x10DE1241, "GeForce GT 545" }, // ErmaC
{ 0x10DE1243, "GeForce GT 545" }, // ErmaC
{ 0x10DE1244, "GeForce GTX 550 Ti" },
{ 0x10DE1245, "GeForce GTS 450" },
{ 0x10DE1251, "GeForce GTX 560M" },
{ 0x10DE1251, "GeForce GTX 560M" }, // ErmaC
};
static uint16_t swap16(uint16_t x)
branches/ErmaC/Trunk/i386/libsaio/ati.c
5353
5454
5555
56
5657
5758
5859
......
9596
9697
9798
99
98100
99101
100102
......
378380
379381
380382
383
381384
382385
383386
......
489492
490493
491494
495
496
492497
493498
494499
......
497502
498503
499504
505
506
500507
501508
502509
......
521528
522529
523530
531
532
524533
525534
526535
......
529538
530539
531540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
532556
533557
534558
......
591615
592616
593617
618
594619
595620
596621
597622
598623
599
624
600625
601626
602
627
603628
604629
605630
......
608633
609634
610635
611
636
612637
613638
614639
615640
616641
617642
618
619
643
644
620645
621646
647
622648
623649
624650
......
647673
648674
649675
676
677
650678
651679
652680
......
722750
723751
724752
753
754
755
756
725757
726758
727759
......
736768
737769
738770
739
740
771
772
741773
742774
743775
CHIP_FAMILY_HEMLOCK,
CHIP_FAMILY_JUNIPER,
CHIP_FAMILY_REDWOOD,
CHIP_FAMILY_BROADWAY,
/* Northern Islands */
CHIP_FAMILY_ANTILLES,
CHIP_FAMILY_BARTS,
"Hemlock",
"Juniper",
"Redwood",
"Broadway",
/* Northern Islands */
"Antilles",
"Barts",
{ 0x9540,0x30501787, CHIP_FAMILY_RV710,"ATI Radeon HD 4590",kNull},
{ 0x954F,0x16131462, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull}, // ErmaC
{ 0x954F,0x20081787, CHIP_FAMILY_RV710,"ATI Radeon HD 4350",kNull}, // ErmaC
{ 0x954F,0x29201682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull},
{ 0x954F,0x29211682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull},
{ 0x954F,0x30901682, CHIP_FAMILY_RV710,"XFX Radeon HD 4570",kNull},
{ 0x6899,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari},
{ 0x6899,0xE174174B, CHIP_FAMILY_CYPRESS,"ATI Sapphire Radeon HD 5850",kUakari},
{ 0x6899,0x200A1787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari},
{ 0x6899,0x22901787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari},
{ 0x689C,0x30201682, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970",kUakari},
{ 0x68A0,0x043A1028,CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5870",kNull}, // ErmaC
{ 0x68A1,0x144D103C,CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5850",kNomascus},
{ 0x68A1,0x1522103C, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5850",kHoolock},
{ 0x68B8,0x200B1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet},
{ 0x68B8,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet},
{ 0x68BE,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750",kVervet}, // ErmaC
{ 0x68BF,0x220E1458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750",kVervet},
{ 0x68C0,0x1594103C, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M",kNull},
{ 0x68C0,0x395217AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull}, // ErmaC
{ 0x68C1,0x02051025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x02961025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x030A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x033D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03471025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03561025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03581025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x035A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x035C1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03641025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03791025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x037E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x03821025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull}, // ErmaC
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull},
{ 0x68C1,0x9071104D, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur},
{ 0x6719,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950",kNull}, // ErmaC
{ 0x6719,0x186B174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950",kNull}, // ErmaC
{ 0x6719,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970",kNull}, // ErmaC
{ 0x671D,0x10020B2A, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull}, // ErmaC
{ 0x671D,0x10021B2A, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull}, // ErmaC
{ 0x671D,0x16823160, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull}, // ErmaC
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970m",kElodea},
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970m",kElodea}, // ErmaC
{ 0x6738,0x00D01002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"Sapphire Radeon HD6870",kDuckweed}, // ErmaC
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"Sapphire Radeon HD6870",kBulrushes}, // ErmaC
{ 0x6738,0x21FA1002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x67381002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x31031682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x31041682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x31071682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed}, // ErmaC
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed}, // ErmaC
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed}, // ErmaC ?? kJuncus ??
{ 0x6738,0xE178174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x20101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6738,0x23051787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed},
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed},
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed}, // ErmaC ?? kBulrushes ??
{ 0x6739,0x03B41043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed}, // ErmaC
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kBulrushes}, // ErmaC
{ 0x6739,0x24411462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed},
{ 0x6739,0x31101682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed},
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed},
{ 0x6739,0xE177174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed},
{ 0x6740,0x1D121043, CHIP_FAMILY_TURKS,"AMD Radeon HD 6730M",kNull}, // ErmaC
{ 0x6760,0x04CC1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6490M",kNull},
{ 0x6760,0x167D103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6490M",kNull}, // ErmaC
{ 0x6760,0x1CB21043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M",kNull},
{ 0x6779,0x64501092, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450",kBulrushes},
{ 0x689C,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5900 Series",kUakari},
{ 0x689E,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5800 Series",kUakari},
{ 0x68A0,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull}, // ErmaC
{ 0x68A1,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull}, // ErmaC
{ 0x68B0,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull}, // ErmaC
{ 0x68B8,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet},
{ 0x68B9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5600 Series",kVervet},
{ 0x68BE,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet},
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kNull},
{ 0x6719,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kNull},
{ 0x671D,0x00000000, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6900 Series",kNull},
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull},
{ 0x671D,0x00000000, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6900 Series",kNull}, // ErmaC
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull}, // ErmaC
{ 0x6720,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kNull},
branches/ErmaC/Trunk/i386/boot2/gui.c
13651365
13661366
13671367
1368
13681369
13691370
13701371
13711372
1373
13721374
1375
1376
13731377
13741378
13751379
......
13831387
13841388
13851389
1386
1390
13871391
1388
1389
1390
13911392
13921393
13931394
int i = 0;
int width = 0;
int max_width = 0;
int height = font->height;
// calculate the width in pixels
for (i=0; i < strlen(text); i++) {
if (text[i] == '\n')
{
width = 0;
height += font->height;
}
else if (text[i] == '\t')
width += TAB_PIXELS_WIDTH;
else
}
p.x = ( p.x - ( max_width / 2 ) );
p.y = ( p.y - ( font->height / 2 ) );
p.y = ( p.y - ( height / 2 ) );
if ( p.x == -6 )
p.x = 0;
drawStr(text, font, blendInto, p);
}
branches/ErmaC/Trunk/i386/boot2/gui.h
144144
145145
146146
147
147148
148149
149150
void updateVRAM();
position_t drawChar(unsigned char ch, font_t *font, pixmap_t *blendInto, position_t p);
void drawStr(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
void drawStrCenteredAt(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
branches/ErmaC/Trunk/package/Scripts/Main/Standardpostinstall
4343
4444
4545
46
46
4747
4848
4949
......
5555
5656
5757
58
59
5860
5961
6062
......
8789
8890
8991
90
9192
9293
93
9494
95
96
97
98
99
100
101
102
103
104
105
106
95
96
97
98
99
100
107101
108102
109103
110104
111
112105
113106
107
114108
115109
116
117
118
110
111
112
113
119114
120
121
122115
123
124
125
126
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
127134
135
136
137
128138
129
130
131
132
139
140
141
142
143
133144
134
135
136
145
146
137147
138
139
148
149
150
151
152
140153
141154
142
143
144
155
156
157
145158
146
159
160
147161
148
149
162
163
150164
151
152
153
154
155
156
157
158165
159
160
166
167
168
161169
162
163
170
171
172
173
174
164175
176
177
178
179
180
181
165182
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
183
184
185
191186
192187
193
194
195
196
197
188
189
198190
191
192
193
194
195
196
199197
200198
201199
then
targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' )
else
targetVolume="$3"
targetVolume="$3"
fi
targetResources="${targetVolume}/usr/local/bin/"
updateStage1=1 # by default update partition boot sector
echo "==============================================="
echo "DEBUG: display script variables"
echo "*******************************"
if [ ${returnValue} = 0 ]; then
# OK to proceed
# Does a GRUB or Linux loader already exist in the disk's MBR?
# The script returns 1 if yes, 0 if no.
"$scriptDir"CheckGRUBLinuxLoader.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
# check for a 4-byte Windows disk signature in the disk's MBR.
# the following script returns 1 if a Windows disk signature exists, and 0 if not.
"$scriptDir"CheckWindowsDiskSignature.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
diskSigCheck=$?
diskupdate=$?
if [ ${diskupdate} -ne 0 ]; then
"$scriptDir"InstallLog.sh "${targetVolume}" "Found an existing GRUB/LILO bootloader in the MBR."
"$scriptDir"InstallLog.sh "${targetVolume}" "MBR and partition boot sector will not be modified."
updateStage1=0
else
# check for existing bootloaders in the disk's MBR
# and find out if we can write the Chameleon boot files.
# the following script returns 0 if we can proceed
# with writing the boot files, and 1 for not.
"$scriptDir"CheckDiskMicrocode.sh "${targetDisk}" "${diskSigCheck}" "${targetVolume}" "${scriptDir}"
diskupdate=$?
fi
# check the format of the selected partition.
# result should be either hfs or msdos
# Should really check to make sure!
# check for a 4-byte Windows disk signature in the disk's MBR.
# the following script returns 1 if a Windows disk signature exists, and 0 if not.
"$scriptDir"CheckWindowsDiskSignature.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
diskSigCheck=$?
targetFormat=$( fstyp "$targetDevice" )
# check the partition scheme used for the selected disk.
# the following script returns 1 if GPT
# the following script returns 2 if GPT/MBR
# the following script returns 3 if MBR
# check the format of the selected partition.
# result should be either hfs or msdos
# Should really check to make sure!
targetFormat=$( fstyp "$targetDevice" )
# check the partition scheme used for the selected disk.
# the following script returns 1 if GPT
# the following script returns 2 if GPT/MBR
# the following script returns 3 if MBR
# the following script returns 0 if nothing
"$scriptDir"CheckPartitionScheme.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
partitionScheme=$?
if [ ${partitionScheme} = 3 ]; then
# If MBR partition scheme then check for FAT16 or FAT32
# the following script returns 1 if FAT16
# the following script returns 2 if FAT32
# the following script returns 0 if nothing
"$scriptDir"CheckFatType.sh "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
fatType=$?
fi
"$scriptDir"CheckPartitionScheme.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
partitionScheme=$?
if [ ${partitionScheme} = 3 ]; then
# If MBR partition scheme then check for FAT16 or FAT32
if [ "${fatType}" = 1 ] && [ "${partitionScheme}" = 3 ]; then
# Write error to Chameleon_Error_Log file
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Cannot install to a device using FAT16"
else
# Continue if the selected device is not a FAT16 format device
# the following script returns 1 if FAT16
# the following script returns 2 if FAT32
# the following script returns 0 if nothing
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"CheckFatType.sh "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
fatType=$?
if [ ${diskupdate} -eq 0 ]; then
# Write the stage 0 loader to the MBR
"$scriptDir"WriteChameleonStage0.sh "${diskSigCheck}" "${stage0Loader}" "${stage0LoaderDualBoot}" "${targetDisk}" "${targetResources}" "${targetVolume}" "${scriptDir}"
else
"$scriptDir"InstallLog.sh "${targetVolume}" "Stage 0 loader not written to ${targetDisk}."
fi
if [ "${fatType}" = 1 ] && [ "${partitionScheme}" = 3 ]; then
# Write error to Chameleon_Error_Log file
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Cannot install to a device using FAT16"
if [ ${updateStage1} -eq 1 ]; then
# Write the stage 1 loader to the partition boot sector
"$scriptDir"WriteChameleonStage1.sh "${targetFormat}" "${stage1LoaderHFS}" "${stage1LoaderFAT}" "${3}" "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
else
# Continue if the selected device is not a FAT16 format device
"$scriptDir"InstallLog.sh "${targetVolume}" "Partition boot sector not written to ${targetDevice}."
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${3}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
if [ ${diskupdate} = "0" ]; then
# Write the stage 0 loader to the MBR
"$scriptDir"WriteChameleonStage0.sh "${diskSigCheck}" "${stage0Loader}" "${stage0LoaderDualBoot}" "${targetDisk}" "${targetResources}" "${targetVolume}" "${scriptDir}"
else
"$scriptDir"InstallLog.sh "${targetVolume}" "Stage 0 loader not written to ${targetDisk}."
fi
# Write the stage 1 loader to the partition boot sector
"$scriptDir"WriteChameleonStage1.sh "${targetFormat}" "${stage1LoaderHFS}" "${stage1LoaderFAT}" "${3}" "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
# Next we look to check for existing Chameleon installations.
# But as it will check /Volumes/EFI for the stage 2 loader,
# we need to make sure it's mounted.
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${3}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
# Tell the user what's going on.
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "About to check your disk for previous installations"
"$scriptDir"InstallLog.sh "${targetVolume}" "which involves checking the EFI system partition if"
"$scriptDir"InstallLog.sh "${targetVolume}" "appropriate for this disk."
# Unmount ALL mounted volumes named EFI.
# Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
# Next we look to check for existing Chameleon installations.
# But as it will check /Volumes/EFI for the stage 2 loader,
# we need to make sure it's mounted.
# Tell the user what's going on.
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "About to check your disk for previous installations"
"$scriptDir"InstallLog.sh "${targetVolume}" "which involves checking the EFI system partition if"
"$scriptDir"InstallLog.sh "${targetVolume}" "appropriate for this disk."
# Unmount ALL mounted volumes named EFI.
# Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
if [ ${partitionScheme} = 1 ] || [ ${partitionScheme} = 2 ]; then
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
fi
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
if [ ${partitionScheme} = 1 ] || [ ${partitionScheme} = 2 ]; then
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Set the active partition ONLY if Windows is not installed
"$scriptDir"SetActivePartition.sh "${diskSigCheck}" "${targetDiskRaw}" "${targetSlice}" "${targetVolume}" "${scriptDir}"
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Set the active partition ONLY if Windows is not installed
"$scriptDir"SetActivePartition.sh "${diskSigCheck}" "${targetDiskRaw}" "${targetSlice}" "${targetVolume}" "${scriptDir}"
fi
fi
branches/ErmaC/Trunk/package/Scripts/Sub/CheckGRUBLinuxLoader.sh
3636
3737
3838
39
4039
4140
4241
diskmicrocodetypeid=${diskmicrocodetype[${diskmicrocodetypecounter}]#*,}
if [ ! "${diskmicrocode}" = "${diskmicrocode/${diskmicrocodetypeid}/}" ]; then
echo "${diskmicrocodetype[${diskmicrocodetypecounter}]%,*} found."
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Found an exisitng GRUB/LILO bootloader in the MBR."
exit 1
#else
#echo "DEBUG: Didn't find a match for ${diskmicrocodetype[${diskmicrocodetypecounter}]%,*}"
branches/ErmaC/Trunk/package/buildpkg.sh
194194
195195
196196
197
197198
198199
199
200
201
202
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
203215
204216
205217
......
208220
209221
210222
211
223
212224
213225
214226
}
fi
# -
# Warning Keylayout module need additional files
if [ -e ${1%/*}/i386/modules/Keylayout.dylib ]; then
{
mkdir -p ${1}/Keylayout/Root
ditto --noextattr --noqtn ${1%/*}/i386/modules/Keylayout.dylib ${1}/Keylayout/Root
echo "[BUILD] Keylayout "
buildpackage "${1}/Keylayout" "/$chamTemp/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1
mkdir -p ${1}/Keylayout/Root/Extra/{modules,Keymaps}
mkdir -p ${1}/Keylayout/Root/usr/local/bin
layout_src_dir="${1%/sym/*}/i386/modules/Keylayout/layouts/layouts-src"
if [ -d "$layout_src_dir" ];then
# Create a tar.gz from layout sources
(cd "$layout_src_dir"; \
tar czf "${1}/Keylayout/Root/Extra/Keymaps/layouts-src.tar.gz" README *.slt)
fi
# Adding module
ditto --noextattr --noqtn ${1%/*}/i386/modules/Keylayout.dylib ${1}/Keylayout/Root/Extra/modules
# Adding Keymaps
ditto --noextattr --noqtn ${1%/sym/*}/Keymaps ${1}/Keylayout/Root/Extra/Keymaps
# Adding tools
ditto --noextattr --noqtn ${1%/*}/i386/cham-mklayout ${1}/Keylayout/Root/usr/local/bin
buildpackage "${1}/Keylayout" "/" "" "start_selected=\"true\"" >/dev/null 2>&1
}
fi
}
else
{
echo " -= no modules to include =-"
echo "-= no modules to include =-"
}
fi
# End build Modules packages
branches/ErmaC/Modules/Chameleon.xcodeproj/project.pbxproj
651651
652652
653653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
654673
655674
656675
......
951970
952971
953972
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997973
998974
999975
......
23502326
23512327
23522328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
23532362
23542363
23552364
......
27062715
27072716
27082717
2709
2710
2711
2712
2713
2714
2715
2718
2719
27162720
27172721
27182722
27192723
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
31242724
31252725
31262726
......
35503150
35513151
35523152
3553
3153
35543154
35553155
35563156
6DBAFFC313B0D4590047ED33 /* ufsmount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufsmount.h; sourceTree = "<group>"; };
6DBAFFC413B0D4590047ED33 /* unistd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unistd.h; sourceTree = "<group>"; };
6DBAFFC513B0D4590047ED33 /* unwind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unwind.h; sourceTree = "<group>"; };
A354B6271495124F00D81AA5 /* ESPpostinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = ESPpostinstall; sourceTree = "<group>"; };
A354B6281495124F00D81AA5 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A354B6291495124F00D81AA5 /* preinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = preinstall; sourceTree = "<group>"; };
A354B62A1495124F00D81AA5 /* Standardpostinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = Standardpostinstall; sourceTree = "<group>"; };
A354B62C149514DE00D81AA5 /* CheckDiskMicrocode.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckDiskMicrocode.sh; sourceTree = "<group>"; };
A354B62D149514DE00D81AA5 /* CheckFatType.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckFatType.sh; sourceTree = "<group>"; };
A354B62E149514DE00D81AA5 /* CheckGRUBLinuxLoader.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckGRUBLinuxLoader.sh; sourceTree = "<group>"; };
A354B62F149514DE00D81AA5 /* CheckPartitionScheme.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckPartitionScheme.sh; sourceTree = "<group>"; };
A354B630149514DE00D81AA5 /* CheckPreviousChameleon.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckPreviousChameleon.sh; sourceTree = "<group>"; };
A354B631149514DE00D81AA5 /* CheckProceed.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckProceed.sh; sourceTree = "<group>"; };
A354B632149514DE00D81AA5 /* CheckWindowsDiskSignature.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = CheckWindowsDiskSignature.sh; sourceTree = "<group>"; };
A354B633149514DE00D81AA5 /* InstallLog.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = InstallLog.sh; sourceTree = "<group>"; };
A354B634149514DE00D81AA5 /* MountESP.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = MountESP.sh; sourceTree = "<group>"; };
A354B635149514DE00D81AA5 /* patch */ = {isa = PBXFileReference; lastKnownFileType = file; path = patch; sourceTree = "<group>"; };
A354B636149514DE00D81AA5 /* SetActivePartition.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = SetActivePartition.sh; sourceTree = "<group>"; };
A354B637149514DE00D81AA5 /* UnMountEFIvolumes.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = UnMountEFIvolumes.sh; sourceTree = "<group>"; };
A354B638149514DE00D81AA5 /* WriteChameleonStage0.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage0.sh; sourceTree = "<group>"; };
A354B639149514DE00D81AA5 /* WriteChameleonStage1.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage1.sh; sourceTree = "<group>"; };
A354B63A149514DE00D81AA5 /* WriteChameleonStage2.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = WriteChameleonStage2.sh; sourceTree = "<group>"; };
A3561C731413FD7800E9B51E /* auto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = auto.c; sourceTree = "<group>"; };
A3561C741413FD7800E9B51E /* auto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = auto.h; sourceTree = "<group>"; };
A3561C751413FD7800E9B51E /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
A37D7D84141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = sr; path = sr.lproj/License.rtf; sourceTree = "<group>"; };
A37D7D85141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sr; path = sr.lproj/Localizable.strings; sourceTree = "<group>"; };
A37D7D86141B7C6F0069C38B /* sr */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = sr; path = sr.lproj/Welcome.rtfd; sourceTree = "<group>"; };
A3F1F210141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F212141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F214141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F216141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F218141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F21E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F220141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F222141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F224141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F226141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F228141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F22E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F230141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F233141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F235141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F237141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F239141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23B141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23D141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F23F141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F241141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F243141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F245141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F247141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F249141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F24B141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F24D141B9B0D00DDA709 /* postinstall.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall.in; sourceTree = "<group>"; };
A3F1F24F141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F252141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F254141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F256141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F258141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25A141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25C141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F25E141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F260141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F262141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F264141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
A3F1F266141B9B0D00DDA709 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
A3F1F267141B9B3B00DDA709 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
B0056CE711F3868000754B65 /* boot0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot0.s; sourceTree = "<group>"; };
B0056CE811F3868000754B65 /* chain0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = chain0.s; sourceTree = "<group>"; };
path = ufs;
sourceTree = "<group>";
};
A354B6261495124F00D81AA5 /* Main */ = {
isa = PBXGroup;
children = (
A354B6271495124F00D81AA5 /* ESPpostinstall */,
A354B6281495124F00D81AA5 /* postinstall */,
A354B6291495124F00D81AA5 /* preinstall */,
A354B62A1495124F00D81AA5 /* Standardpostinstall */,
);
path = Main;
sourceTree = "<group>";
};
A354B62B149514DE00D81AA5 /* Sub */ = {
isa = PBXGroup;
children = (
A354B62C149514DE00D81AA5 /* CheckDiskMicrocode.sh */,
A354B62D149514DE00D81AA5 /* CheckFatType.sh */,
A354B62E149514DE00D81AA5 /* CheckGRUBLinuxLoader.sh */,
A354B62F149514DE00D81AA5 /* CheckPartitionScheme.sh */,
A354B630149514DE00D81AA5 /* CheckPreviousChameleon.sh */,
A354B631149514DE00D81AA5 /* CheckProceed.sh */,
A354B632149514DE00D81AA5 /* CheckWindowsDiskSignature.sh */,
A354B633149514DE00D81AA5 /* InstallLog.sh */,
A354B634149514DE00D81AA5 /* MountESP.sh */,
A354B635149514DE00D81AA5 /* patch */,
A354B636149514DE00D81AA5 /* SetActivePartition.sh */,
A354B637149514DE00D81AA5 /* UnMountEFIvolumes.sh */,
A354B638149514DE00D81AA5 /* WriteChameleonStage0.sh */,
A354B639149514DE00D81AA5 /* WriteChameleonStage1.sh */,
A354B63A149514DE00D81AA5 /* WriteChameleonStage2.sh */,
);
path = Sub;
sourceTree = "<group>";
};
A3561C721413FD7800E9B51E /* fdisk */ = {
isa = PBXGroup;
children = (
A3F1F20D141B9B0D00DDA709 /* Scripts */ = {
isa = PBXGroup;
children = (
A3F1F20E141B9B0D00DDA709 /* Advanced */,
A3F1F231141B9B0D00DDA709 /* BaseOptions */,
A3F1F24A141B9B0D00DDA709 /* EFI */,
A3F1F24C141B9B0D00DDA709 /* Keymaps */,
A3F1F24E141B9B0D00DDA709 /* Post */,
A3F1F250141B9B0D00DDA709 /* Resolutions */,
A3F1F265141B9B0D00DDA709 /* Standard */,
A354B6261495124F00D81AA5 /* Main */,
A354B62B149514DE00D81AA5 /* Sub */,
);
path = Scripts;
sourceTree = "<group>";
};
A3F1F20E141B9B0D00DDA709 /* Advanced */ = {
isa = PBXGroup;
children = (
A3F1F20F141B9B0D00DDA709 /* BootBanner */,
A3F1F211141B9B0D00DDA709 /* EHCIacquire */,
A3F1F213141B9B0D00DDA709 /* ForceHPET */,
A3F1F215141B9B0D00DDA709 /* ForceWake */,
A3F1F217141B9B0D00DDA709 /* GUI */,
A3F1F219141B9B0D00DDA709 /* LegacyLogo */,
A3F1F21B141B9B0D00DDA709 /* Npci */,
A3F1F21D141B9B0D00DDA709 /* QuietBoot */,
A3F1F21F141B9B0D00DDA709 /* ShowInfo */,
A3F1F221141B9B0D00DDA709 /* SMBIOSdefaults */,
A3F1F223141B9B0D00DDA709 /* UHCIreset */,
A3F1F225141B9B0D00DDA709 /* UseAtiROM */,
A3F1F227141B9B0D00DDA709 /* UseMemDetect */,
A3F1F229141B9B0D00DDA709 /* UseNvidiaROM */,
A3F1F22B141B9B0D00DDA709 /* VBIOS */,
A3F1F22D141B9B0D00DDA709 /* Wait */,
A3F1F22F141B9B0D00DDA709 /* Wake */,
);
path = Advanced;
sourceTree = "<group>";
};
A3F1F20F141B9B0D00DDA709 /* BootBanner */ = {
isa = PBXGroup;
children = (
A3F1F210141B9B0D00DDA709 /* postinstall */,
);
path = BootBanner;
sourceTree = "<group>";
};
A3F1F211141B9B0D00DDA709 /* EHCIacquire */ = {
isa = PBXGroup;
children = (
A3F1F212141B9B0D00DDA709 /* postinstall */,
);
path = EHCIacquire;
sourceTree = "<group>";
};
A3F1F213141B9B0D00DDA709 /* ForceHPET */ = {
isa = PBXGroup;
children = (
A3F1F214141B9B0D00DDA709 /* postinstall */,
);
path = ForceHPET;
sourceTree = "<group>";
};
A3F1F215141B9B0D00DDA709 /* ForceWake */ = {
isa = PBXGroup;
children = (
A3F1F216141B9B0D00DDA709 /* postinstall */,
);
path = ForceWake;
sourceTree = "<group>";
};
A3F1F217141B9B0D00DDA709 /* GUI */ = {
isa = PBXGroup;
children = (
A3F1F218141B9B0D00DDA709 /* postinstall */,
);
path = GUI;
sourceTree = "<group>";
};
A3F1F219141B9B0D00DDA709 /* LegacyLogo */ = {
isa = PBXGroup;
children = (
A3F1F21A141B9B0D00DDA709 /* postinstall */,
);
path = LegacyLogo;
sourceTree = "<group>";
};
A3F1F21B141B9B0D00DDA709 /* Npci */ = {
isa = PBXGroup;
children = (
A3F1F21C141B9B0D00DDA709 /* postinstall */,
);
path = Npci;
sourceTree = "<group>";
};
A3F1F21D141B9B0D00DDA709 /* QuietBoot */ = {
isa = PBXGroup;
children = (
A3F1F21E141B9B0D00DDA709 /* postinstall */,
);
path = QuietBoot;
sourceTree = "<group>";
};
A3F1F21F141B9B0D00DDA709 /* ShowInfo */ = {
isa = PBXGroup;
children = (
A3F1F220141B9B0D00DDA709 /* postinstall */,
);
path = ShowInfo;
sourceTree = "<group>";
};
A3F1F221141B9B0D00DDA709 /* SMBIOSdefaults */ = {
isa = PBXGroup;
children = (
A3F1F222141B9B0D00DDA709 /* postinstall */,
);
path = SMBIOSdefaults;
sourceTree = "<group>";
};
A3F1F223141B9B0D00DDA709 /* UHCIreset */ = {
isa = PBXGroup;
children = (
A3F1F224141B9B0D00DDA709 /* postinstall */,
);
path = UHCIreset;
sourceTree = "<group>";
};
A3F1F225141B9B0D00DDA709 /* UseAtiROM */ = {
isa = PBXGroup;
children = (
A3F1F226141B9B0D00DDA709 /* postinstall */,
);
path = UseAtiROM;
sourceTree = "<group>";
};
A3F1F227141B9B0D00DDA709 /* UseMemDetect */ = {
isa = PBXGroup;
children = (
A3F1F228141B9B0D00DDA709 /* postinstall */,
);
path = UseMemDetect;
sourceTree = "<group>";
};
A3F1F229141B9B0D00DDA709 /* UseNvidiaROM */ = {
isa = PBXGroup;
children = (
A3F1F22A141B9B0D00DDA709 /* postinstall */,
);
path = UseNvidiaROM;
sourceTree = "<group>";
};
A3F1F22B141B9B0D00DDA709 /* VBIOS */ = {
isa = PBXGroup;
children = (
A3F1F22C141B9B0D00DDA709 /* postinstall */,
);
path = VBIOS;
sourceTree = "<group>";
};
A3F1F22D141B9B0D00DDA709 /* Wait */ = {
isa = PBXGroup;
children = (
A3F1F22E141B9B0D00DDA709 /* postinstall */,
);
path = Wait;
sourceTree = "<group>";
};
A3F1F22F141B9B0D00DDA709 /* Wake */ = {
isa = PBXGroup;
children = (
A3F1F230141B9B0D00DDA709 /* postinstall */,
);
path = Wake;
sourceTree = "<group>";
};
A3F1F231141B9B0D00DDA709 /* BaseOptions */ = {
isa = PBXGroup;
children = (
A3F1F232141B9B0D00DDA709 /* arch */,
A3F1F234141B9B0D00DDA709 /* CSTUsingSystemIO */,
A3F1F236141B9B0D00DDA709 /* DropSSDT */,
A3F1F238141B9B0D00DDA709 /* EnableC2State */,
A3F1F23A141B9B0D00DDA709 /* EnableC3State */,
A3F1F23C141B9B0D00DDA709 /* EnableC4State */,
A3F1F23E141B9B0D00DDA709 /* EthernetBuiltIn */,
A3F1F240141B9B0D00DDA709 /* GenerateCStates */,
A3F1F242141B9B0D00DDA709 /* GeneratePStates */,
A3F1F244141B9B0D00DDA709 /* GraphicsEnabler */,
A3F1F246141B9B0D00DDA709 /* InstantMenu */,
A3F1F248141B9B0D00DDA709 /* RestartFix */,
);
path = BaseOptions;
sourceTree = "<group>";
};
A3F1F232141B9B0D00DDA709 /* arch */ = {
isa = PBXGroup;
children = (
A3F1F233141B9B0D00DDA709 /* postinstall */,
);
path = arch;
sourceTree = "<group>";
};
A3F1F234141B9B0D00DDA709 /* CSTUsingSystemIO */ = {
isa = PBXGroup;
children = (
A3F1F235141B9B0D00DDA709 /* postinstall */,
);
path = CSTUsingSystemIO;
sourceTree = "<group>";
};
A3F1F236141B9B0D00DDA709 /* DropSSDT */ = {
isa = PBXGroup;
children = (
A3F1F237141B9B0D00DDA709 /* postinstall */,
);
path = DropSSDT;
sourceTree = "<group>";
};
A3F1F238141B9B0D00DDA709 /* EnableC2State */ = {
isa = PBXGroup;
children = (
A3F1F239141B9B0D00DDA709 /* postinstall */,
);
path = EnableC2State;
sourceTree = "<group>";
};
A3F1F23A141B9B0D00DDA709 /* EnableC3State */ = {
isa = PBXGroup;
children = (
A3F1F23B141B9B0D00DDA709 /* postinstall */,
);
path = EnableC3State;
sourceTree = "<group>";
};
A3F1F23C141B9B0D00DDA709 /* EnableC4State */ = {
isa = PBXGroup;
children = (
A3F1F23D141B9B0D00DDA709 /* postinstall */,
);
path = EnableC4State;
sourceTree = "<group>";
};
A3F1F23E141B9B0D00DDA709 /* EthernetBuiltIn */ = {
isa = PBXGroup;
children = (
A3F1F23F141B9B0D00DDA709 /* postinstall */,
);
path = EthernetBuiltIn;
sourceTree = "<group>";
};
A3F1F240141B9B0D00DDA709 /* GenerateCStates */ = {
isa = PBXGroup;
children = (
A3F1F241141B9B0D00DDA709 /* postinstall */,
);
path = GenerateCStates;
sourceTree = "<group>";
};
A3F1F242141B9B0D00DDA709 /* GeneratePStates */ = {
isa = PBXGroup;
children = (
A3F1F243141B9B0D00DDA709 /* postinstall */,
);
path = GeneratePStates;
sourceTree = "<group>";
};
A3F1F244141B9B0D00DDA709 /* GraphicsEnabler */ = {
isa = PBXGroup;
children = (
A3F1F245141B9B0D00DDA709 /* postinstall */,
);
path = GraphicsEnabler;
sourceTree = "<group>";
};
A3F1F246141B9B0D00DDA709 /* InstantMenu */ = {
isa = PBXGroup;
children = (
A3F1F247141B9B0D00DDA709 /* postinstall */,
);
path = InstantMenu;
sourceTree = "<group>";
};
A3F1F248141B9B0D00DDA709 /* RestartFix */ = {
isa = PBXGroup;
children = (
A3F1F249141B9B0D00DDA709 /* postinstall */,
);
path = RestartFix;
sourceTree = "<group>";
};
A3F1F24A141B9B0D00DDA709 /* EFI */ = {
isa = PBXGroup;
children = (
A3F1F24B141B9B0D00DDA709 /* postinstall */,
);
path = EFI;
sourceTree = "<group>";
};
A3F1F24C141B9B0D00DDA709 /* Keymaps */ = {
isa = PBXGroup;
children = (
A3F1F24D141B9B0D00DDA709 /* postinstall.in */,
);
path = Keymaps;
sourceTree = "<group>";
};
A3F1F24E141B9B0D00DDA709 /* Post */ = {
isa = PBXGroup;
children = (
A3F1F24F141B9B0D00DDA709 /* postinstall */,
);
path = Post;
sourceTree = "<group>";
};
A3F1F250141B9B0D00DDA709 /* Resolutions */ = {
isa = PBXGroup;
children = (
A3F1F251141B9B0D00DDA709 /* 1024x600x32 */,
A3F1F253141B9B0D00DDA709 /* 1024x768x32 */,
A3F1F255141B9B0D00DDA709 /* 1280x1024x32 */,
A3F1F257141B9B0D00DDA709 /* 1280x800x32 */,
A3F1F259141B9B0D00DDA709 /* 1280x960x32 */,
A3F1F25B141B9B0D00DDA709 /* 1440x900x32 */,
A3F1F25D141B9B0D00DDA709 /* 1600x900x32 */,
A3F1F25F141B9B0D00DDA709 /* 1680x1050x32 */,
A3F1F261141B9B0D00DDA709 /* 1920x1080x32 */,
A3F1F263141B9B0D00DDA709 /* 1920x1200x32 */,
);
path = Resolutions;
sourceTree = "<group>";
};
A3F1F251141B9B0D00DDA709 /* 1024x600x32 */ = {
isa = PBXGroup;
children = (
A3F1F252141B9B0D00DDA709 /* postinstall */,
);
path = 1024x600x32;
sourceTree = "<group>";
};
A3F1F253141B9B0D00DDA709 /* 1024x768x32 */ = {
isa = PBXGroup;
children = (
A3F1F254141B9B0D00DDA709 /* postinstall */,
);
path = 1024x768x32;
sourceTree = "<group>";
};
A3F1F255141B9B0D00DDA709 /* 1280x1024x32 */ = {
isa = PBXGroup;
children = (
A3F1F256141B9B0D00DDA709 /* postinstall */,
);
path = 1280x1024x32;
sourceTree = "<group>";
};
A3F1F257141B9B0D00DDA709 /* 1280x800x32 */ = {
isa = PBXGroup;
children = (
A3F1F258141B9B0D00DDA709 /* postinstall */,
);
path = 1280x800x32;
sourceTree = "<group>";
};
A3F1F259141B9B0D00DDA709 /* 1280x960x32 */ = {
isa = PBXGroup;
children = (
A3F1F25A141B9B0D00DDA709 /* postinstall */,
);
path = 1280x960x32;
sourceTree = "<group>";
};
A3F1F25B141B9B0D00DDA709 /* 1440x900x32 */ = {
isa = PBXGroup;
children = (
A3F1F25C141B9B0D00DDA709 /* postinstall */,
);
path = 1440x900x32;
sourceTree = "<group>";
};
A3F1F25D141B9B0D00DDA709 /* 1600x900x32 */ = {
isa = PBXGroup;
children = (
A3F1F25E141B9B0D00DDA709 /* postinstall */,
);
path = 1600x900x32;
sourceTree = "<group>";
};
A3F1F25F141B9B0D00DDA709 /* 1680x1050x32 */ = {
isa = PBXGroup;
children = (
A3F1F260141B9B0D00DDA709 /* postinstall */,
);
path = 1680x1050x32;
sourceTree = "<group>";
};
A3F1F261141B9B0D00DDA709 /* 1920x1080x32 */ = {
isa = PBXGroup;
children = (
A3F1F262141B9B0D00DDA709 /* postinstall */,
);
path = 1920x1080x32;
sourceTree = "<group>";
};
A3F1F263141B9B0D00DDA709 /* 1920x1200x32 */ = {
isa = PBXGroup;
children = (
A3F1F264141B9B0D00DDA709 /* postinstall */,
);
path = 1920x1200x32;
sourceTree = "<group>";
};
A3F1F265141B9B0D00DDA709 /* Standard */ = {
isa = PBXGroup;
children = (
A3F1F266141B9B0D00DDA709 /* postinstall */,
);
path = Standard;
sourceTree = "<group>";
};
B0056CE511F3868000754B65 /* i386 */ = {
isa = PBXGroup;
children = (
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0410;
LastUpgradeCheck = 0420;
};
buildConfigurationList = 1DEB919308733D9F0010E9CD /* Build configuration list for PBXProject "Chameleon" */;
compatibilityVersion = "Xcode 3.2";
branches/ErmaC/Modules/i386/boot0/boot0md.s
530530
531531
532532
533
534
533
534
535535
536536
537537
......
605605
606606
607607
608
609
608
609
610610
611611
612612
call load; read GPT Array
pop si; SI = address of GPT Array
pop bx; BX = size of GUID Partition Array entry
;jc error
jc .exit
;jc error
jc .exit; dmazar's change to continue disk scanning if encountering invalid LBA.
;
; Walk through GUID Partition Table Array
mov bx, kBoot0LoadAddr
call load
;jc error
or dl, dl ; to set flag Z=0
jc .exit
or dl, dl ; to set flag Z=0; dmazar's change to continue disk scanning if encountering invalid LBA.
jc .exit; dmazar's change to continue disk scanning if encountering invalid LBA.
ordh, dh
jz.checkBootSignature
branches/ErmaC/Modules/i386/boot2/gui.c
13651365
13661366
13671367
1368
13681369
13691370
13701371
13711372
1373
13721374
1375
1376
13731377
13741378
13751379
......
13831387
13841388
13851389
1386
1390
13871391
1388
1389
1390
13911392
13921393
13931394
int i = 0;
int width = 0;
int max_width = 0;
int height = font->height;
// calculate the width in pixels
for (i=0; i < strlen(text); i++) {
if (text[i] == '\n')
{
width = 0;
height += font->height;
}
else if (text[i] == '\t')
width += TAB_PIXELS_WIDTH;
else
}
p.x = ( p.x - ( max_width / 2 ) );
p.y = ( p.y - ( font->height / 2 ) );
p.y = ( p.y - ( height / 2 ) );
if ( p.x == -6 )
p.x = 0;
drawStr(text, font, blendInto, p);
}
branches/ErmaC/Modules/i386/boot2/gui.h
144144
145145
146146
147
147148
148149
149150
void updateVRAM();
position_t drawChar(unsigned char ch, font_t *font, pixmap_t *blendInto, position_t p);
void drawStr(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
void drawStrCenteredAt(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
branches/ErmaC/Modules/i386/modules/NVIDIAGraphicsEnabler/nvidia.c
407407
408408
409409
410
410
411411
412412
413413
......
447447
448448
449449
450
450
451451
452452
453
453
454454
455455
456456
......
458458
459459
460460
461
461
462462
463463
464464
......
488488
489489
490490
491
491
492492
493493
494494
......
519519
520520
521521
522
522
523523
524524
525525
......
537537
538538
539539
540
540
541541
542542
543543
544544
545545
546
546
547547
548548
549549
......
570570
571571
572572
573
573
574574
575575
576576
......
593593
594594
595595
596
596
597597
598598
599599
......
613613
614614
615615
616
617
616
617
618618
619619
620620
......
642642
643643
644644
645
646
645
646
647647
648648
649649
......
653653
654654
655655
656
656
657657
658658
659659
......
678678
679679
680680
681
681
682682
683
683
684684
685685
686686
......
721721
722722
723723
724
724
725725
726726
727727
728
728
729729
730730
731731
......
756756
757757
758758
759
760
759
760
761761
762762
763763
764
764
765765
766
766
767767
768768
769769
......
772772
773773
774774
775
776
775
776
777777
778778
779779
780780
781781
782782
783
784
785
786
783
784
785
786
787787
788
788
789789
790790
791791
......
798798
799799
800800
801
801
802802
803
804
803
804
805805
806806
807807
......
837837
838838
839839
840
840
841841
842842
843
844
845
843846
844847
845848
846
847
848
849
849
850850
851851
852852
853853
854
855
854
855
856
856857
857
858
858
859
859860
860
861
861862
862
863
863
864
864865
865866
866867
867
868
868869
869
870
870871
871
872
872873
873874
874
875
876
875
876
877
877878
878879
879
880
880881
881882
882883
{ 0x10DE05E2, "GeForce GTX 260" },
{ 0x10DE05E3, "GeForce GTX 285" },
{ 0x10DE05E6, "GeForce GTX 275" },
{ 0x10DE05E7, "Tesla C1060" },
{ 0x10DE05E7, "Tesla C1060" }, // ErmaC
{ 0x10DE05EA, "GeForce GTX 260" },
{ 0x10DE05EB, "GeForce GTX 295" },
{ 0x10DE05ED, "Quadroplex 2200 D2" },
{ 0x10DE061B, "Quadro VX 200" },
{ 0x10DE061C, "Quadro FX 3600M" },
{ 0x10DE061D, "Quadro FX 2800M" },
{ 0x10DE061E, "Quadro FX 3700M" },
{ 0x10DE061E, "Quadro FX 3700M" }, // ErmaC
{ 0x10DE061F, "Quadro FX 3800M" },
// 0620 - 062F
{ 0x10DE0621, "GeForce GT 230" },
{ 0x10DE0621, "GeForce GT 230" }, // ErmaC
{ 0x10DE0622, "GeForce 9600 GT" },
{ 0x10DE0623, "GeForce 9600 GS" },
{ 0x10DE0625, "GeForce 9600 GSO 512"},
{ 0x10DE0627, "GeForce GT 140" },
{ 0x10DE0628, "GeForce 9800M GTS" },
{ 0x10DE062A, "GeForce 9700M GTS" },
{ 0x10DE062B, "GeForce 9800M GS" },
{ 0x10DE062B, "GeForce 9800M GS" }, // ErmaC
{ 0x10DE062C, "GeForce 9800M GTS" },
{ 0x10DE062D, "GeForce 9600 GT" },
{ 0x10DE062E, "GeForce 9600 GT" },
{ 0x10DE0652, "GeForce GT 130M" },
{ 0x10DE0653, "GeForce GT 120M" },
{ 0x10DE0654, "GeForce GT 220M" },
{ 0x10DE0655, "GeForce GT 120" },
{ 0x10DE0655, "GeForce GT 120" }, // ErmaC
{ 0x10DE0656, "GeForce 9650 S" },
{ 0x10DE0658, "Quadro FX 380" },
{ 0x10DE0659, "Quadro FX 580" },
{ 0x10DE06DD, "Quadro 4000" },
{ 0x10DE06DE, "Tesla M2050" },// TODO: sub-device id: 0x0846
{ 0x10DE06DE, "Tesla M2070" },// TODO: sub-device id: ?
{ 0x10DE06DF, "Tesla M2070-Q" },
{ 0x10DE06DF, "Tesla M2070-Q" }, // ErmaC
// 0x10DE06DE also applies to misc S2050, X2070, M2050, M2070
// 06E0 - 06EF
{ 0x10DE06E0, "GeForce 9300 GE" },
{ 0x10DE06EC, "GeForce G 105M" },
{ 0x10DE06EF, "GeForce G 103M" },
// 06F0 - 06FF
{ 0x10DE06F1, "GeForce G105M" },
{ 0x10DE06F1, "GeForce G105M" }, // ErmaC
{ 0x10DE06F8, "Quadro NVS 420" },
{ 0x10DE06F9, "Quadro FX 370 LP" },
{ 0x10DE06FA, "Quadro NVS 450" },
{ 0x10DE06FB, "Quadro FX 370M" },
{ 0x10DE06FD, "Quadro NVS 295" },
{ 0x10DE06FF, "HICx16 + Graphics" },
{ 0x10DE06FF, "HICx16 + Graphics" }, // ErmaC
// 0700 - 070F
// 0710 - 071F
// 0720 - 072F
// 0820 - 082F
// 0830 - 083F
// 0840 - 084F
{ 0x10DE0840, "GeForce 8200M" },
{ 0x10DE0840, "GeForce 8200M" }, // ErmaC
{ 0x10DE0844, "GeForce 9100M G" },
{ 0x10DE0845, "GeForce 8200M G" },
{ 0x10DE0846, "GeForce 9200" },
{ 0x10DE0866, "GeForce 9400M G" },
{ 0x10DE0867, "GeForce 9400" },
{ 0x10DE0868, "nForce 760i SLI" },
{ 0x10DE0869, "GeForce 9400" },
{ 0x10DE0869, "GeForce 9400" }, // ErmaC
{ 0x10DE086A, "GeForce 9400" },
{ 0x10DE086C, "GeForce 9300 / nForce 730i" },
{ 0x10DE086D, "GeForce 9200" },
// 0880 - 088F
// 0890 - 089F
// 08A0 - 08AF
{ 0x10DE08A0, "GeForce 320M" },
{ 0x10DE08A4, "GeForce 320M" },
{ 0x10DE08A0, "GeForce 320M" }, // ErmaC
{ 0x10DE08A4, "GeForce 320M" }, // ErmaC
// 08B0 - 08BF
// 08C0 - 08CF
// 08D0 - 08DF
{ 0x10DE0A20, "GeForce GT220" },
{ 0x10DE0A22, "GeForce 315" },
{ 0x10DE0A23, "GeForce 210" },
{ 0x10DE0A26, "GeForce 405" },
{ 0x10DE0A27, "GeForce 405" },
{ 0x10DE0A26, "GeForce 405" }, // ErmaC
{ 0x10DE0A27, "GeForce 405" }, // ErmaC
{ 0x10DE0A28, "GeForce GT 230M" },
{ 0x10DE0A29, "GeForce GT 330M" },
{ 0x10DE0A2A, "GeForce GT 230M" },
// 0A30 - 0A3F
{ 0x10DE0A34, "GeForce GT 240M" },
{ 0x10DE0A35, "GeForce GT 325M" },
{ 0x10DE0A38, "Quadro 400" },
{ 0x10DE0A38, "Quadro 400" }, // ErmaC
{ 0x10DE0A3C, "Quadro FX 880M" },
// 0A40 - 0A4F
// 0A50 - 0A5F
{ 0x10DE0A73, "GeForce 305M" },
{ 0x10DE0A74, "GeForce G210M" },
{ 0x10DE0A75, "GeForce G310M" },
{ 0x10DE0A76, "ION" },
{ 0x10DE0A76, "ION" }, // ErmaC
{ 0x10DE0A78, "Quadro FX 380 LP" },
{ 0x10DE0A7A, "GeForce 315M" },
{ 0x10DE0A7A, "GeForce 315M" }, // ErmaC
{ 0x10DE0A7C, "Quadro FX 380M" },
// 0A80 - 0A8F
// 0A90 - 0A9F
{ 0x10DE0CA2, "GeForce GT 320" },
{ 0x10DE0CA3, "GeForce GT 240" },
{ 0x10DE0CA4, "GeForce GT 340" },
{ 0x10DE0CA5, "GeForce GT 220" },
{ 0x10DE0CA5, "GeForce GT 220" }, // ErmaC
{ 0x10DE0CA7, "GeForce GT 330" },
{ 0x10DE0CA8, "GeForce GTS 260M" },
{ 0x10DE0CA9, "GeForce GTS 250M" },
{ 0x10DE0CAC, "GeForce GT 220" },
{ 0x10DE0CAC, "GeForce GT 220" }, // ErmaC
{ 0x10DE0CAF, "GeForce GT 335M" },
// 0CB0 - 0CBF
{ 0x10DE0CB0, "GeForce GTS 350M" },
{ 0x10DE0DC6, "GeForce GTS 450" },
{ 0x10DE0DCA, "GF10x" },
// 0DD0 - 0DDF
{ 0x10DE0DCD, "GeForce GT 555M" },
{ 0x10DE0DCE, "GeForce GT 555M" },
{ 0x10DE0DCD, "GeForce GT 555M" }, // ErmaC
{ 0x10DE0DCE, "GeForce GT 555M" }, // ErmaC
{ 0x10DE0DD1, "GeForce GTX 460M" },
{ 0x10DE0DD2, "GeForce GT 445M" },
{ 0x10DE0DD3, "GeForce GT 435M" },
{ 0x10DE0DD6, "GeForce GT 550M" },
{ 0x10DE0DD6, "GeForce GT 550M" }, // ErmaC
{ 0x10DE0DD8, "Quadro 2000" },
{ 0x10DE0DDA, "Quadro 2000M" },
{ 0x10DE0DDA, "Quadro 2000M" }, // ErmaC
{ 0x10DE0DDE, "GF106-ES" },
{ 0x10DE0DDF, "GF106-INT" },
// 0DE0 - 0DEF
{ 0x10DE0DE2, "GeForce GT 420" },
{ 0x10DE0DE5, "GeForce GT 530" },
{ 0x10DE0DEB, "GeForce GT 555M" },
{ 0x10DE0DEC, "GeForce GT 525M" },
{ 0x10DE0DED, "GeForce GT 520M" },
{ 0x10DE0DEC, "GeForce GT 525M" }, // ErmaC
{ 0x10DE0DED, "GeForce GT 520M" }, // ErmaC
{ 0x10DE0DEE, "GeForce GT 415M" },
// 0DF0 - 0DFF
{ 0x10DE0DF0, "GeForce GT 425M" },
{ 0x10DE0DF1, "GeForce GT 420M" },
{ 0x10DE0DF2, "GeForce GT 435M" },
{ 0x10DE0DF3, "GeForce GT 420M" },
{ 0x10DE0DF4, "GeForce GT 540M" },
{ 0x10DE0DF5, "GeForce GT 525M" },
{ 0x10DE0DF6, "GeForce GT 550M" },
{ 0x10DE0DF7, "GeForce GT 520M" },
{ 0x10DE0DF4, "GeForce GT 540M" }, // ErmaC
{ 0x10DE0DF5, "GeForce GT 525M" }, // ErmaC
{ 0x10DE0DF6, "GeForce GT 550M" }, // ErmaC
{ 0x10DE0DF7, "GeForce GT 520M" }, // ErmaC
{ 0x10DE0DF8, "Quadro 600" },
{ 0x10DE0DFA, "Quadro 1000M" },
{ 0x10DE0DFA, "Quadro 1000M" }, // ErmaC
{ 0x10DE0DFE, "GF108 ES" },
{ 0x10DE0DFF, "GF108 INT" },
// 0E00 - 0E0F
{ 0x10DE0E25, "D12U-50" },
// 0E30 - 0E3F
{ 0x10DE0E30, "GeForce GTX 470M" },
{ 0x10DE0E31, "GeForce GTX 485M" },
{ 0x10DE0E31, "GeForce GTX 485M" }, // ErmaC
{ 0x10DE0E38, "GF104GL" },
{ 0x10DE0E3A, "Quadro 3000M" },
{ 0x10DE0E3B, "Quadro 4000M" },
{ 0x10DE0E3A, "Quadro 3000M" }, // ErmaC
{ 0x10DE0E3B, "Quadro 4000M" }, // ErmaC
{ 0x10DE0E3E, "GF104-ES" },
{ 0x10DE0E3F, "GF104-INT" },
// 0E40 - 0E4F
// 1020 - 102F
// 1030 - 103F
// 1040 - 104F
{ 0x10DE1040, "GeForce GT 520" },
{ 0x10DE1040, "GeForce GT 520" },
// 1050 - 105F
{ 0x10DE1050, "GeForce GT 520M" },
{ 0x10DE1054, "GeForce GT 410M" }, // ErmaC
{ 0x10DE1056, "NVS 4200M" }, // ErmaC
{ 0x10DE1057, "NVS 4200M" }, // ErmaC
// 1060 - 106F
// 1070 - 107F
// 1080 - 108F
{ 0x10DE1054, "GeForce GT 410M" },
{ 0x10DE1056, "NVS 4200M" },
{ 0x10DE1057, "NVS 4200M" },
{ 0x10DE107F, "NVIDIA GF119-ES" },
{ 0x10DE107F, "NVIDIA GF119-ES" }, // ErmaC
{ 0x10DE1080, "GeForce GTX 580" },
{ 0x10DE1081, "GeForce GTX 570" },
{ 0x10DE1082, "GeForce GTX 560 Ti" },
{ 0x10DE1083, "D13U" },
{ 0x10DE1084, "GeForce GTX 560" },
{ 0x10DE1086, "GeForce GTX 570" },
{ 0x10DE1084, "GeForce GTX 560" }, // ErmaC
{ 0x10DE1086, "GeForce GTX 570" }, // ErmaC
{ 0x10DE1087, "GeForce GTX 560 Ti-448" }, // ErmaC
{ 0x10DE1088, "GeForce GTX 590" },
{ 0x10DE1089, "GeForce GTX 580" },
{ 0x10DE108B, "GeForce GTX 590" }, // Subsystem Id: 1043 8391
{ 0x10DE1089, "GeForce GTX 580" }, // ErmaC
{ 0x10DE108B, "GeForce GTX 590" }, // ErmaC
// 1090 - 109F
{ 0x10DE1091, "Tesla M2090" },
{ 0x10DE1091, "Tesla M2090" }, // ErmaC
{ 0x10DE1098, "D13U" },
{ 0x10DE109A, "Quadro 5010M" },
{ 0x10DE109B, "Quadro 7000" },
{ 0x10DE109A, "Quadro 5010M" }, // ErmaC
{ 0x10DE109B, "Quadro 7000" }, // ErmaC
// 10A0 - 10AF
// 10B0 - 10BF
// 10C0 - 10CF
{ 0x10DE10C0, "GeForce 9300 GS" },
{ 0x10DE10C0, "GeForce 9300 GS" }, // ErmaC
{ 0x10DE10C3, "GeForce 8400 GS" },
{ 0x10DE10C5, "GeForce 405" },
{ 0x10DE10C5, "GeForce 405" }, // ErmaC
// 10D0 - 10DF
{ 0x10DE10D8, "NVS 300" },
{ 0x10DE10D8, "NVS 300" }, // ErmaC
// 1200 -
{ 0x10DE1200, "GeForce GTX 560 Ti" },
{ 0x10DE1201, "GeForce GTX 560" },
{ 0x10DE1241, "GeForce GT 545" },
{ 0x10DE1243, "GeForce GT 545" },
{ 0x10DE1201, "GeForce GTX 560" }, // ErmaC
{ 0x10DE1241, "GeForce GT 545" }, // ErmaC
{ 0x10DE1243, "GeForce GT 545" }, // ErmaC
{ 0x10DE1244, "GeForce GTX 550 Ti" },
{ 0x10DE1245, "GeForce GTS 450" },
{ 0x10DE1251, "GeForce GTX 560M" },
{ 0x10DE1251, "GeForce GTX 560M" }, // ErmaC
};
static uint16_t swap16(uint16_t x)
branches/ErmaC/Modules/i386/modules/AMDGraphicsEnabler/ati.c
5959
6060
6161
62
6263
6364
6465
......
101102
102103
103104
105
104106
105107
106108
......
123125
124126
125127
126
128
127129
128
130
129131
130132
131133
......
134136
135137
136138
137
139
138140
139141
140142
141143
142144
143
145
144146
145
146
147
147
148
149
148150
149151
150152
......
153155
154156
155157
156
157
158
159
158160
159
160
161
162
161163
162164
163165
164166
165167
166168
167
168
169
170
169171
170172
171173
......
220222
221223
222224
223
224
225
226
225227
226
228
227229
228230
229231
......
385387
386388
387389
390
388391
389392
390393
......
496499
497500
498501
502
503
499504
500505
501506
......
504509
505510
506511
512
513
507514
508515
509516
......
513520
514521
515522
516
523
517524
518525
519526
......
528535
529536
530537
538
539
531540
532541
533542
534543
535544
536545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
537563
538564
539565
......
567593
568594
569595
570
596
571597
598
599
572600
573601
574602
......
584612
585613
586614
615
587616
588
589617
590618
591619
......
594622
595623
596624
625
597626
598627
599628
600629
601630
602
631
603632
604633
605
634
606635
607636
608637
......
611640
612641
613642
614
643
615644
616645
617646
618647
619648
620649
621
622
650
651
623652
624653
654
625655
626656
657
627658
628659
629660
......
649680
650681
651682
683
684
652685
653686
654687
......
724757
725758
726759
760
761
762
763
727764
728765
729766
......
738775
739776
740777
741
742
778
779
743780
744781
745782
CHIP_FAMILY_HEMLOCK,
CHIP_FAMILY_JUNIPER,
CHIP_FAMILY_REDWOOD,
CHIP_FAMILY_BROADWAY,
/* Northern Islands */
CHIP_FAMILY_ANTILLES,
CHIP_FAMILY_BARTS,
"Hemlock",
"Juniper",
"Redwood",
"Broadway",
/* Northern Islands */
"Antilles",
"Barts",
static card_config_t card_configs[] = {
{NULL,0},
{"Alopias",2},
{"Alouatta",4},
{"Alouatta",4},
{"Baboon",3},
{"Cardinal",2},
{"Cardinal",2},
{"Caretta",1},
{"Colobus",2},
{"Douc",2},
{"Galago",2},
{"Gliff",3},
{"Hoolock",3},
{"Hypoprion",2},
{"Hypoprion",2},
{"Iago",2},
{"Kakapo",3},
{"Kipunji",4},
{"Lamna",2},
{"Langur",3},
{"Megalodon",3},
{"Megalodon",3},
{"Motmot",2},
{"Nomascus",5},
{"Orangutan",2},
{"Peregrine",2},
{"Nomascus",5},
{"Orangutan",2},
{"Peregrine",2},
{"Quail",3},
{"Raven",3},
{"Shrike",3},
{"Uakari",4},
{"Vervet",4},
{"Zonalis",6},
{"Pithecia",3},
{"Bulrushes",6},
{"Pithecia",3},
{"Bulrushes",6},
{"Cattail",4},
{"Hydrilla",5},
{"Duckweed",4},
{"Hydrilla",5},
{"Duckweed",4},
{"Fanwort",4},
{"Elodea",5},
{"Kudzu",2},
{"Gibba",5},
{"Lotus",3},
{"Ipomoea",3},
{"Mangabey",2},
{"Muskgrass",4},
{"Mangabey",2},
{"Muskgrass",4},
{"Juncus",4}
};
} config_name_t;
typedef struct {
uint16_tdevice_id;
uint32_tsubsys_id;
uint16_tdevice_id;
uint32_tsubsys_id;
chip_family_tchip_family;
const char*model_name;
const char*model_name;
config_name_tcfg_name;
uint8_tmax_ports;
} radeon_card_info_t;
{ 0x9540,0x30501787, CHIP_FAMILY_RV710,"ATI Radeon HD 4590",kNull, 0 },
{ 0x954F,0x16131462, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull, 0 }, // ErmaC
{ 0x954F,0x20081787, CHIP_FAMILY_RV710,"ATI Radeon HD 4350",kNull, 0 }, // ErmaC
{ 0x954F,0x29201682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull, 0 },
{ 0x954F,0x29211682, CHIP_FAMILY_RV710,"ATI Radeon HD 4550",kNull, 0 },
{ 0x954F,0x30901682, CHIP_FAMILY_RV710,"XFX Radeon HD 4570",kNull, 0 },
{ 0x6899,0xE140174B, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari, 0 },
{ 0x6899,0xE174174B, CHIP_FAMILY_CYPRESS,"ATI Sapphire Radeon HD 5850",kUakari, 0 },
{ 0x6899,0x200A1787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari, 0 },
{ 0x6899,0x22901787, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5850",kUakari, 0 },
{ 0x689C,0x30201682, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5970",kUakari, 0 },
{ 0x68A0,0x043A1028,CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5870",kNull, 0 }, // ErmaC
{ 0x68A1,0x144D103C,CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5850",kNomascus, 0 },
{ 0x68A1,0x1522103C, CHIP_FAMILY_CYPRESS,"ATI Mobility Radeon HD 5850",kHoolock, 0 },
{ 0x68B8,0x00CF106B, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kHoolock, 0 },
{ 0x68B8,0x145821f6, CHIP_FAMILY_JUNIPER,"GigaByte HD5770 R577SL-1GD",kVervet, 0 }, // ErmaC
{ 0x68B8,0x21f61458, CHIP_FAMILY_JUNIPER,"GigaByte HD5770 R577SL-1GD",kVervet, 0 }, // ErmaC
{ 0x68B8,0x29901682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet, 0 },
{ 0x68B8,0x29911682, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet, 0 },
{ 0x68B8,0x200B1787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet, 0 },
{ 0x68B8,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5770",kVervet, 0 },
{ 0x68BE,0x22881787, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5750",kVervet, 0 }, // ErmaC
{ 0x68BF,0x220E1458, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 6750",kVervet, 0 },
{ 0x68C0,0x1594103C, CHIP_FAMILY_REDWOOD,"AMD Radeon HD 6570M",kNull, 0 },
{ 0x68C0,0x392717AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull, 0 },
{ 0x68C0,0x395217AA, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5730",kNull, 0 }, // ErmaC
{ 0x68C1,0x02051025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x02961025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x030A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x033D1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03471025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03561025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03581025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x035A1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x035C1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03641025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03791025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x037E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x03821025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5750",kNull, 0 }, // ErmaC
{ 0x68C1,0x033E1025, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kNull, 0 },
{ 0x68C1,0x9071104D, CHIP_FAMILY_REDWOOD,"ATI Mobility Radeon HD 5650",kEulemur, 0 },
{ 0x68E1,0x1426103C, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5430M",kEulemur, 0 },
{ 0x68F9,0x03741043, CHIP_FAMILY_CEDAR,"ASUS EAH5450",kNull, 0 }, // ErmaC
{ 0x68F9,0x010E1002, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kNull, 0 }, // ErmaC
{ 0x68F9,0x03741043, CHIP_FAMILY_CEDAR,"ASUS EAH5450", kNull, 0 }, // ErmaC
{ 0x68F9,0x5470174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470",kNull, 0 },
{ 0x68F9,0x5490174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490",kNull, 0 },
{ 0x68F9,0x5530174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5530",kNull, 0 },
{ 0x68F9,0x301217AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5490",kNull, 0 },
{ 0x68F9,0x301317AF, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5470",kNull, 0 },
{ 0x68F9,0xE145174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kEulemur, 0 }, // ErmaC
{ 0x68F9,0xE153174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kEulemur, 0 }, // ErmaC
{ 0x68F9,0xE145174B, CHIP_FAMILY_CEDAR,"ATI Radeon HD 5450",kEulemur, 0 }, // ErmaC
/* Northen Islands */
{ 0x6718,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970",kNull, 0 },
{ 0x6719,0x0B001002, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950",kNull, 0 }, // ErmaC
{ 0x6719,0x186B174B, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950",kNull, 0 }, // ErmaC
{ 0x6719,0x20101787, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970",kNull, 0 }, // ErmaC
{ 0x671D,0x10020B2A, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull, 0 }, // ErmaC
{ 0x671D,0x10021B2A, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull, 0 }, // ErmaC
{ 0x671D,0x16823160, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6990",kNull, 0 }, // ErmaC
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970m",kElodea, 0 },
{ 0x6720,0x04BA1028, CHIP_FAMILY_BARTS,"AMD Radeon HD 6970m",kElodea, 0 }, // ErmaC
{ 0x6738,0x00D01002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"Sapphire Radeon HD6870",kDuckweed, 0 }, // ErmaC
{ 0x6738,0x174B174B, CHIP_FAMILY_BARTS,"Sapphire Radeon HD6870",kBulrushes, 0 }, // ErmaC
{ 0x6738,0x21FA1002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x67381002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x31031682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x31041682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x31071682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 }, // ErmaC
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 }, // ErmaC
{ 0x6738,0x31081682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 }, // ErmaC ?? kJuncus ??
{ 0x6738,0xE178174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x20101787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6738,0x23051787, CHIP_FAMILY_BARTS,"AMD Radeon HD 6870",kDuckweed, 0 },
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 },
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 }, // ErmaC ?? kBulrushes ??
{ 0x6739,0x03B41043, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 }, // ErmaC
{ 0x6739,0x21F81458, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kBulrushes, 0 }, // ErmaC
{ 0x6739,0x24411462, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 },
{ 0x6739,0x31101682, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 },
{ 0x6739,0x67391002, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 },
{ 0x6739,0xE177174B, CHIP_FAMILY_BARTS,"AMD Radeon HD 6850",kDuckweed, 0 },
{ 0x6740,0x1D121043, CHIP_FAMILY_TURKS,"AMD Radeon HD 6730M",kNull, 0 }, // ErmaC
{ 0x6740,0x1657103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M",kNull, 0 },
{ 0x6740,0x165A103C, CHIP_FAMILY_TURKS,"AMD Radeon HD 6770M",kNull, 0 },
{ 0x6760,0x04CC1028, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6490M",kNull, 0 },
{ 0x6760,0x167D103C, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6490M",kNull, 0 }, // ErmaC
{ 0x6760,0x1CB21043, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6470M",kNull, 0 },
{ 0x6779,0x64501092, CHIP_FAMILY_CAICOS,"AMD Radeon HD 6450",kBulrushes, 0 },
{ 0x689C,0x00000000, CHIP_FAMILY_HEMLOCK,"ATI Radeon HD 5900 Series",kUakari, 0 },
{ 0x689E,0x00000000, CHIP_FAMILY_CYPRESS,"ATI Radeon HD 5800 Series",kUakari, 0 },
{ 0x68A0,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull, 0 }, // ErmaC
{ 0x68A1,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull, 0 }, // ErmaC
{ 0x68B0,0x00000000, CHIP_FAMILY_BROADWAY,"ATI Mobility Radeon HD 5800 Series",kNull, 0 }, // ErmaC
{ 0x68B8,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet, 0 },
{ 0x68B9,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5600 Series",kVervet, 0 },
{ 0x68BE,0x00000000, CHIP_FAMILY_JUNIPER,"ATI Radeon HD 5700 Series",kVervet, 0 },
{ 0x6718,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6970 Series",kNull, 0 },
{ 0x6719,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6950 Series",kNull, 0 },
{ 0x671D,0x00000000, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6900 Series",kNull, 0 },
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull, 0 },
{ 0x671D,0x00000000, CHIP_FAMILY_ANTILLES,"AMD Radeon HD 6900 Series",kNull, 0 }, // ErmaC
{ 0x671F,0x00000000, CHIP_FAMILY_CAYMAN,"AMD Radeon HD 6900 Series",kNull, 0 }, // ErmaC
{ 0x6720,0x00000000, CHIP_FAMILY_BARTS,"AMD Radeon HD 6900M Series",kNull, 0 },
branches/ErmaC/Modules/package/Scripts/Main/Standardpostinstall
4343
4444
4545
46
46
4747
4848
4949
......
5555
5656
5757
58
59
5860
5961
6062
......
8789
8890
8991
90
9192
9293
93
9494
95
96
97
98
99
100
101
102
103
104
105
106
95
96
97
98
99
100
107101
108102
109103
110104
111
112105
113106
107
114108
115109
116
117
118
110
111
112
113
119114
120
121
122115
123
124
125
126
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
127134
135
136
137
128138
129
130
131
132
139
140
141
142
143
133144
134
135
136
145
146
137147
138
139
148
149
150
151
152
140153
141154
142
143
144
155
156
157
145158
146
159
160
147161
148
149
162
163
150164
151
152
153
154
155
156
157
158165
159
160
166
167
168
161169
162
163
170
171
172
173
174
164175
176
177
178
179
180
181
165182
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
183
184
185
191186
192187
193
194
195
196
197
188
189
198190
191
192
193
194
195
196
199197
200198
201199
then
targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' )
else
targetVolume="$3"
targetVolume="$3"
fi
targetResources="${targetVolume}/usr/local/bin/"
updateStage1=1 # by default update partition boot sector
echo "==============================================="
echo "DEBUG: display script variables"
echo "*******************************"
if [ ${returnValue} = 0 ]; then
# OK to proceed
# Does a GRUB or Linux loader already exist in the disk's MBR?
# The script returns 1 if yes, 0 if no.
"$scriptDir"CheckGRUBLinuxLoader.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
# check for a 4-byte Windows disk signature in the disk's MBR.
# the following script returns 1 if a Windows disk signature exists, and 0 if not.
"$scriptDir"CheckWindowsDiskSignature.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
diskSigCheck=$?
diskupdate=$?
if [ ${diskupdate} -ne 0 ]; then
"$scriptDir"InstallLog.sh "${targetVolume}" "Found an existing GRUB/LILO bootloader in the MBR."
"$scriptDir"InstallLog.sh "${targetVolume}" "MBR and partition boot sector will not be modified."
updateStage1=0
else
# check for existing bootloaders in the disk's MBR
# and find out if we can write the Chameleon boot files.
# the following script returns 0 if we can proceed
# with writing the boot files, and 1 for not.
"$scriptDir"CheckDiskMicrocode.sh "${targetDisk}" "${diskSigCheck}" "${targetVolume}" "${scriptDir}"
diskupdate=$?
fi
# check the format of the selected partition.
# result should be either hfs or msdos
# Should really check to make sure!
# check for a 4-byte Windows disk signature in the disk's MBR.
# the following script returns 1 if a Windows disk signature exists, and 0 if not.
"$scriptDir"CheckWindowsDiskSignature.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
diskSigCheck=$?
targetFormat=$( fstyp "$targetDevice" )
# check the partition scheme used for the selected disk.
# the following script returns 1 if GPT
# the following script returns 2 if GPT/MBR
# the following script returns 3 if MBR
# check the format of the selected partition.
# result should be either hfs or msdos
# Should really check to make sure!
targetFormat=$( fstyp "$targetDevice" )
# check the partition scheme used for the selected disk.
# the following script returns 1 if GPT
# the following script returns 2 if GPT/MBR
# the following script returns 3 if MBR
# the following script returns 0 if nothing
"$scriptDir"CheckPartitionScheme.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
partitionScheme=$?
if [ ${partitionScheme} = 3 ]; then
# If MBR partition scheme then check for FAT16 or FAT32
# the following script returns 1 if FAT16
# the following script returns 2 if FAT32
# the following script returns 0 if nothing
"$scriptDir"CheckFatType.sh "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
fatType=$?
fi
"$scriptDir"CheckPartitionScheme.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
partitionScheme=$?
if [ ${partitionScheme} = 3 ]; then
# If MBR partition scheme then check for FAT16 or FAT32
if [ "${fatType}" = 1 ] && [ "${partitionScheme}" = 3 ]; then
# Write error to Chameleon_Error_Log file
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Cannot install to a device using FAT16"
else
# Continue if the selected device is not a FAT16 format device
# the following script returns 1 if FAT16
# the following script returns 2 if FAT32
# the following script returns 0 if nothing
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"CheckFatType.sh "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
fatType=$?
if [ ${diskupdate} -eq 0 ]; then
# Write the stage 0 loader to the MBR
"$scriptDir"WriteChameleonStage0.sh "${diskSigCheck}" "${stage0Loader}" "${stage0LoaderDualBoot}" "${targetDisk}" "${targetResources}" "${targetVolume}" "${scriptDir}"
else
"$scriptDir"InstallLog.sh "${targetVolume}" "Stage 0 loader not written to ${targetDisk}."
fi
if [ "${fatType}" = 1 ] && [ "${partitionScheme}" = 3 ]; then
# Write error to Chameleon_Error_Log file
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Cannot install to a device using FAT16"
if [ ${updateStage1} -eq 1 ]; then
# Write the stage 1 loader to the partition boot sector
"$scriptDir"WriteChameleonStage1.sh "${targetFormat}" "${stage1LoaderHFS}" "${stage1LoaderFAT}" "${3}" "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
else
# Continue if the selected device is not a FAT16 format device
"$scriptDir"InstallLog.sh "${targetVolume}" "Partition boot sector not written to ${targetDevice}."
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${3}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
if [ ${diskupdate} = "0" ]; then
# Write the stage 0 loader to the MBR
"$scriptDir"WriteChameleonStage0.sh "${diskSigCheck}" "${stage0Loader}" "${stage0LoaderDualBoot}" "${targetDisk}" "${targetResources}" "${targetVolume}" "${scriptDir}"
else
"$scriptDir"InstallLog.sh "${targetVolume}" "Stage 0 loader not written to ${targetDisk}."
fi
# Write the stage 1 loader to the partition boot sector
"$scriptDir"WriteChameleonStage1.sh "${targetFormat}" "${stage1LoaderHFS}" "${stage1LoaderFAT}" "${3}" "${targetDeviceRaw}" "${targetVolume}" "${scriptDir}"
# Next we look to check for existing Chameleon installations.
# But as it will check /Volumes/EFI for the stage 2 loader,
# we need to make sure it's mounted.
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${3}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
# Tell the user what's going on.
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "About to check your disk for previous installations"
"$scriptDir"InstallLog.sh "${targetVolume}" "which involves checking the EFI system partition if"
"$scriptDir"InstallLog.sh "${targetVolume}" "appropriate for this disk."
# Unmount ALL mounted volumes named EFI.
# Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
# Next we look to check for existing Chameleon installations.
# But as it will check /Volumes/EFI for the stage 2 loader,
# we need to make sure it's mounted.
# Tell the user what's going on.
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "About to check your disk for previous installations"
"$scriptDir"InstallLog.sh "${targetVolume}" "which involves checking the EFI system partition if"
"$scriptDir"InstallLog.sh "${targetVolume}" "appropriate for this disk."
# Unmount ALL mounted volumes named EFI.
# Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
if [ ${partitionScheme} = 1 ] || [ ${partitionScheme} = 2 ]; then
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
fi
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
if [ ${partitionScheme} = 1 ] || [ ${partitionScheme} = 2 ]; then
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Set the active partition ONLY if Windows is not installed
"$scriptDir"SetActivePartition.sh "${diskSigCheck}" "${targetDiskRaw}" "${targetSlice}" "${targetVolume}" "${scriptDir}"
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
fi
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
# Set the active partition ONLY if Windows is not installed
"$scriptDir"SetActivePartition.sh "${diskSigCheck}" "${targetDiskRaw}" "${targetSlice}" "${targetVolume}" "${scriptDir}"
fi
fi
branches/ErmaC/Modules/package/Scripts/Sub/CheckGRUBLinuxLoader.sh
3636
3737
3838
39
4039
4140
4241
diskmicrocodetypeid=${diskmicrocodetype[${diskmicrocodetypecounter}]#*,}
if [ ! "${diskmicrocode}" = "${diskmicrocode/${diskmicrocodetypeid}/}" ]; then
echo "${diskmicrocodetype[${diskmicrocodetypecounter}]%,*} found."
"$scriptDir"InstallLog.sh "${targetVolume}" "FAIL: Found an exisitng GRUB/LILO bootloader in the MBR."
exit 1
#else
#echo "DEBUG: Didn't find a match for ${diskmicrocodetype[${diskmicrocodetypecounter}]%,*}"
branches/ErmaC/Modules/package/buildpkg.sh
198198
199199
200200
201
201202
202203
203
204
204
205
206
207
208
209
210
211
212
213
214
215
216
217
205218
206
219
207220
208221
209222
......
248261
249262
250263
251
264
252265
253266
254267
}
fi
# -
# Warning Keylayout module need additional files
if [ -e ${1%/*}/i386/modules/Keylayout.dylib ]; then
{
mkdir -p ${1}/Keylayout/Root
ditto --noextattr --noqtn ${1%/*}/i386/modules/Keylayout.dylib ${1}/Keylayout/Root
mkdir -p ${1}/Keylayout/Root/Extra/{modules,Keymaps}
mkdir -p ${1}/Keylayout/Root/usr/local/bin
layout_src_dir="${1%/sym/*}/i386/modules/Keylayout/layouts/layouts-src"
if [ -d "$layout_src_dir" ];then
# Create a tar.gz from layout sources
(cd "$layout_src_dir"; \
tar czf "${1}/Keylayout/Root/Extra/Keymaps/layouts-src.tar.gz" README *.slt)
fi
# Adding module
ditto --noextattr --noqtn ${1%/*}/i386/modules/Keylayout.dylib ${1}/Keylayout/Root/Extra/modules
# Adding Keymaps
ditto --noextattr --noqtn ${1%/sym/*}/Keymaps ${1}/Keylayout/Root/Extra/Keymaps
# Adding tools
ditto --noextattr --noqtn ${1%/*}/i386/cham-mklayout ${1}/Keylayout/Root/usr/local/bin
echo "[BUILD] Keylayout "
buildpackage "${1}/Keylayout" "/$chamTemp/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1
buildpackage "${1}/Keylayout" "/" "" "start_selected=\"true\"" >/dev/null 2>&1
}
fi
# -
}
else
{
echo " -= no modules to include =-"
echo "-= no modules to include =-"
}
fi
# End build Modules packages

Archive Download the corresponding diff file

Revision: 1726