ABCDEFGHI
1
2
UNIQUEUNKNOWN
3
DATA TABLES
4
FirmwareInfo // Shared by various SW components
5
VAUGHN wx4150CRANE wx4150PEGATRON wx4150APPLE 560X wx4150
6
ulong 64ulFirmwareRevision0x0f320000 (254935040)0x0f320001 (254935041)0x0f320000 (254935040)0x0f320001 (254935041)
7
ucMinAllowedBL_Level0x00 (0)0x0a (10)0x00 (0)0x00 (0)
8
GPUControlsBL:1 0x0001 (1)0x0001 (1)0x0000 (0)0x0001 (1)
9
usBootUpVDDCIVoltage0x0000 (0)0x0000 (0)0x0000 (0)0x0320 (800)
10
usBootUpMVDDCVoltage0x0546 (1350)0x0546 (1350)0x0546 (1350)0x0000 (0)
11
susAccess0x403e (16446)0x403e (16446)0x401e (16414)0x403e (16446)
12
PowerPlayInfo // Shared by various SW components
13
VAUGHNCRANEPEGATRONAPPLE 560X
14
ulong 64ulGoldenRevision0x000026460x000025300x000025310x00006b2f// PPGen use only
15
HARD LIMIT08E80000
F0490200
E8030000
E803
98530000
F0490200
20030000
E803
08E80000
F0490200
E8030000
E803
AS different GPU, it has a lot of differences
16
TV_VideoMode (old DispOutInfo) // Only used by command table
17
ptrMainCallParserFarFD2C4A2D422DD42C// direct address of main parser call in VBIOS binary
18
Fully different tablesame data table
19
MC_InitParameter // Only used by command table
20
VAUGHNCRANEPEGATRONAPPLE 560X
21
not sureusAdjustARB_SEQDataOffset;000030d630d60000
22
not sureusMCInitMemTypeTblOffset;0000b400b4000000
23
not sureusMCInitCommonTblOffset;0000008000800000
24
not sure
usMCInitPowerDownTblOffset;
0000030003000000
25
not sureUNKNOWN00009b1f9b1f0000
26
VRAM_Info // Only used by command table
27
HAS ONLY 2 FREQUENCY STEPS PER VRAMHAS MANY FREQUENCIES STEPS PER VRAMHAS MANY FREQUENCIES STEPS PER VRAMHAS MANY FREQUENCIES STEPS PER VRAM
28
MemoryTrainingInfo // Used for VBIOS and Diag utility for memory training
29
usStructureSize0x261a (9754)unnusedunnused0x47b6 (18358)
30
ucTrainingLoop0x31 (49)unnusedunnused0x60 (96)
31
ucReserved0xd6 (214)unnusedunnused0xd3 (211)
32
usRegDataBlkSize0x10a6 (4262)unnusedunnused1f98 (8088)
33
COMMAND TABLES
34
MemoryControllerInit // Atomic Table, indirectly used by various SW components,called from ASIC_Init
35
VAUGHNCRANEPEGATRONAPPLE 560X
36
unnused0d05d50900080040 OR reg[09d5] [XXXX] <- 400008000d05d50900080040 OR reg[09d5] [XXXX] <- 400008000d05d50900080040 OR reg[09d5] [XXXX] <- 40000800
37
EnableGraphSurfaces // Atomic Table, used only by Bios
38
016d: 5b EOT
016e: 5b EOT
016d: 5b EOT
016e: 030040041a MOVE WS_QUOT/LOW32 [XXXX] <- reg[1a04] [XXXX]
0173: 090540000000fd AND WS_QUOT/LOW32 [XXXX] <- fd000000
017a: 2d014000 ADD WS_QUOT/LOW32 [XXXX] <- param[00] [XXXX]
017e: 090d4000f0 AND WS_QUOT/LOW32 [..XX] <- f000
0183: 0102041a40 MOVE reg[1a04] [XXXX] <- WS_QUOT/LOW32 [XXXX]
0188: 080d00ff0f AND param[00] [..XX] <- 0fff
018d: 560041 CLEAR WS_REMIND/HI32 [XXXX]
0190: 03314101 MOVE WS_REMIND/HI32 [...X] <- param[01] [.X..]
0194: 740a0041 SHR param[00] [..XX] <- WS_REMIND/HI32 [..XX]
0198: 2c090100 ADD param[01] [..XX] <- param[00] [..XX]
019c: 082500fc AND param[00] [...X] <- fc
01a0: 14050010 SHIFT_LEFT param[00] [XXXX] by 10
01a4: 01015c1b00 MOVE reg[1b5c] [XXXX] <- param[00] [XXXX]
01a9: 01090d1a01 MOVE reg[1a0d] [..XX] <- param[01] [..XX]
01ae: 5b EOT
016d: 5b EOT
016e: 030040041a MOVE WS_QUOT/LOW32 [XXXX] <- reg[1a04] [XXXX]
0173: 090540000000fd AND WS_QUOT/LOW32 [XXXX] <- fd000000
017a: 2d014000 ADD WS_QUOT/LOW32 [XXXX] <- param[00] [XXXX]
017e: 090d4000f0 AND WS_QUOT/LOW32 [..XX] <- f000
0183: 0102041a40 MOVE reg[1a04] [XXXX] <- WS_QUOT/LOW32 [XXXX]
0188: 080d00ff0f AND param[00] [..XX] <- 0fff
018d: 560041 CLEAR WS_REMIND/HI32 [XXXX]
0190: 03314101 MOVE WS_REMIND/HI32 [...X] <- param[01] [.X..]
0194: 740a0041 SHR param[00] [..XX] <- WS_REMIND/HI32 [..XX]
0198: 2c090100 ADD param[01] [..XX] <- param[00] [..XX]
019c: 082500fc AND param[00] [...X] <- fc
01a0: 14050010 SHIFT_LEFT param[00] [XXXX] by 10
01a4: 01015c1b00 MOVE reg[1b5c] [XXXX] <- param[00] [XXXX]
01a9: 01090d1a01 MOVE reg[1a0d] [..XX] <- param[01] [..XX]
01ae: 5b EOT
016d: 5b EOT
016e: 030040041a MOVE WS_QUOT/LOW32 [XXXX] <- reg[1a04] [XXXX]
0173: 090540000000fd AND WS_QUOT/LOW32 [XXXX] <- fd000000
017a: 2d014000 ADD WS_QUOT/LOW32 [XXXX] <- param[00] [XXXX]
017e: 090d4000f0 AND WS_QUOT/LOW32 [..XX] <- f000
0183: 0102041a40 MOVE reg[1a04] [XXXX] <- WS_QUOT/LOW32 [XXXX]
0188: 080d00ff0f AND param[00] [..XX] <- 0fff
018d: 560041 CLEAR WS_REMIND/HI32 [XXXX]
0190: 03314101 MOVE WS_REMIND/HI32 [...X] <- param[01] [.X..]
0194: 740a0041 SHR param[00] [..XX] <- WS_REMIND/HI32 [..XX]
0198: 2c090100 ADD param[01] [..XX] <- param[00] [..XX]
019c: 082500fc AND param[00] [...X] <- fc
01a0: 14050010 SHIFT_LEFT param[00] [XXXX] by 10
01a4: 01015c1b00 MOVE reg[1b5c] [XXXX] <- param[00] [XXXX]
01a9: 01090d1a01 MOVE reg[1a0d] [..XX] <- param[01] [..XX]
01ae: 5b EOT
39
UpdateCRTC_DoubleBufferRegisters // Atomic Table, used only by Bios
40
0045: 0d25031b04 OR reg[1b03] [...X] <- 04
004a: 3a0000 SET_REG_BLOCK 0000
004d: 5b EOT
0045: 3a0000 SET_REG_BLOCK 0000
0048: 5b EOT
0045: 3a0000 SET_REG_BLOCK 0000
0048: 5b EOT
0045: 3a0000 SET_REG_BLOCK 0000
0048: 5b EOT
41
LUT_AutoFill // Atomic Table, used only by Bios
42
unnused000b: 0d25031b04 OR reg[1b03] [...X] <- 04000b: 0d25031b04 OR reg[1b03] [...X] <- 05000b: 0d25031b04 OR reg[1b03] [...X] <- 06
43
MemoryTraining // Atomic Table, used only by Bios
44
VAUGHNCRANEPEGATRONAPPLE 560X
45
Same as 560XSame as no MemoryTraining existSame as Vaughn
46
MemoryCleanUp // Atomic Table, used only by Bios
47
0014: 4a2005ec1e00 TEST reg[ec05] [...X] <- reg[001e] [...X]0014: 4a2505ec1e TEST reg[ec05] [...X] <- 1e0014: 4a2505ec1e TEST reg[ec05] [...X] <- 1e0014: 4a2505ec1e TEST reg[ec05] [...X] <- 1e
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134