crackedMagnet’s

Sega Model 3 Step 2.0

Repair Guide

Video Board

JTAG Bus Order

This order was worked out from tracing tracks to and from the video ICs (both frame buffer and depth memory).  Then I captured the JTAG bus on bootup.  The datasheet for the non BGA ICs indicates that they start in bypass mode for the JTAG as they have no ID Code, meaning they will just show up as a single bit with the value 0.  

Here is a table of the ICs on the video board JTAG bus in order from TDO (output) to TDI (input).  So these bits are in the order they flow out of the TDO.  Not sure if the ID codes need to be reversed to get their proper values.  I should also note that the order of IC76, IC77 and IC90 might be wrong, as they are BGA’s and its difficult to trace the tracks between them.

ID Code

IC

01000001 01101100 01110000 01010111

IC90

01000001 01101100 00110000 01010111

IC76

00110001 01101100 01000000 01010111

IC77

01000001 01101100 01010000 01010111

IC78

0

IC62

00110001 01101100 01100000 01010111

IC92

00110001 01101100 01100000 01010111

IC79

0

IC85

0

IC91

0

IC99

01000001 01101100 01010000 01010111

IC178

0

IC162

00110001 01101100 01100000 01010111

IC192

00110001 01101100 01100000 01010111

IC197

0

IC185s

0

IC191s

0

IC199s

Boot up

If there is a fault with the JTAG bus, like one of the registers being stuck high or low, the system will not boot.  If I recall correctly two of the “frame” leds flash, thought I had a photo of that but can’t find it.  On startup there it seems to go through a partial scan of ICs then a full scan.  I suspect it's trying to detect if there is one or two video processor sets connected.  

Boundary Scan

The boundary scan is a jtag function that allows the pins on an IC to be read or set from the jtag bus.  The idea is you can set a pin on one IC high and read it from the IC it should be connected to in order to see if its connected.  It’s particularly important with BGAs as you can’t access the contacts so testing them directly isn’t very practical.

The boundary scan option is not available on all model 3 step 2 games.  Sega Rally 2 doesn’t have this option (or any ram tests by the looks).  Daytona 2 Power Edition does and I believe Ambulance Call also does.  There may be many others that have the boundary scan option, I just haven’t found out which.  If there is a game that has the boundary scan option and doesn’t require a security board let me know and I’ll add that to this guide as it might allow people to download and program roms that could help them diagnose their boards.

Don’t assume boundary scan errors mean there is a problem! 

For some reason which I haven’t worked out yet video boards can have 10,000 or so boundary scan errors when they seem to be working perfectly.  I’ve also got at least one video board that comes up with no errors.  I suspect this might be some difference between the step 2.0 and step 2.1 boards.  At some point I should probably get ID codes for each of the ICs from working boards with and without the boundary scan errors and see if there are any differences.

Where I’ve found the boundary scan most useful is when I’ve replaced one of the ram ICs and its still comes up as failing.  Given I’m expecting a problem with that IC (ie my soldering), it can point to a pin or two, which I can confirm with a meter is not connected.

Boundary scan results to IC mapping

# bits

Bit position

IC(s)

88

0-87

199s

88

88-175

191s

88

176-263

185s

219

264-482

179

219

483-701

192

88

702-789

162

262

799-1051

178

88

1052-1139

99

88

1140-1227

91

88

1228-1315

85

219

1316-1534

79

219

1535-1753

92

88

1754-1841

62

262

1842-2103

78

461

2104-2564

77,76,90

This table was reverse engineered from recording the jtag bus while the boundary scan occured (well at least the start of it).  I had already worked out the order the ICs were placed in the JTAG chain and the fact the video memory has 88 boundary scan registers (from the datasheet).  From there it was a case of recognising the repeated 88 bit patterns from the scan to establish the number of bits in the Sega BGA ICs.

Boundary Scan Bit Position

The following table can be used to identify the pin on the video ICs that the boundary scan is theoretically referring to.  Don’t assume that if you have one of these bit positions come up that there is a fault with that IC, however its a good place to work out which pins to look at.

Pin Desc

Pin #

IC199s

IC191s

IC185s

IC162

IC99

IC91

IC85

IC62

VID_Q7

35

0

88

176

702

1052

1140

1228

1754

VID_Q6

34

1

89

177

703

1053

1141

1229

1755

VID_Q5

32

2

90

178

704

1054

1142

1230

1756

VID_Q4

31

3

91

179

705

1055

1143

1231

1757

VID_Q3

30

4

92

180

706

1056

1144

1232

1758

VID_Q2

29

5

93

181

707

1057

1145

1233

1759

VID_Q1

27

6

94

182

708

1058

1146

1234

1760

VID_Q0

26

7

95

183

709

1059

1147

1235

1761

HIT

25

8

96

184

710

1060

1148

1236

1762

VID_OE

24

9

97

185

711

1061

1149

1237

1763

VID_CKE

15

10

98

186

712

1062

1150

1238

1764

VID_QSF

14

11

99

187

713

1063

1151

1239

1765

VID_Q15

13

12

100

188

714

1064

1152

1240

1766

VID_Q14

12

13

101

189

715

1065

1153

1241

1767

VID_Q13

10

14

102

190

716

1066

1154

1242

1768

VID_Q12

9

15

103

191

717

1067

1155

1243

1769

VID_Q11

8

16

104

192

718

1068

1156

1244

1770

VID_Q10

7

17

105

193

719

1069

1157

1245

1771

VID_Q9

5

18

106

194

720

1070

1158

1246

1772

VID_Q8

4

19

107

195

721

1071

1159

1247

1773

RESET

127

20

108

196

722

1072

1160

1248

1774

DRAM_BS1

126

21

109

197

723

1073

1161

1249

1775

DRAM_BS0

125

22

110

198

724

1074

1162

1250

1776

DRAM_A8

124

23

111

199

725

1075

1163

1251

1777

DRAM_A7

123

24

112

200

726

1076

1164

1252

1778

DRAM_A6

122

25

113

201

727

1077

1165

1253

1779

DRAM_OP2

121

26

114

202

728

1078

1166

1254

1780

DRAM_OP1

120

27

115

203

729

1079

1167

1255

1781

PALU_A5

118

28

116

204

730

1080

1168

1256

1782

PALU_A4

117

29

117

205

731

1081

1169

1257

1783

PALU_A3

116

30

118

206

732

1082

1170

1258

1784

PALU_EN1

115

31

119

207

733

1083

1171

1259

1785

PALU_WE

114

32

120

208

734

1084

1172

1260

1786

PALU_OP2

113

33

121

209

735

1085

1173

1261

1787

PALU_BE3

111

34

122

210

736

1086

1174

1262

1788

PALU_BE2

110

35

123

211

737

1087

1175

1263

1789

PALU_DX3

109

36

124

212

738

1088

1176

1264

1790

PAUL_DX2

108

37

125

213

739

1089

1177

1265

1791

PALU_DQ31

107

38

126

214

740

1090

1178

1266

1792

PALU_DQ30

106

39

127

215

741

1091

1179

1267

1793

PALU_DQ29

105

40

128

216

742

1092

1180

1268

1794

PALU_DQ28

104

41

129

217

743

1093

1181

1269

1795

PALU_DQ27

101

42

130

218

744

1094

1182

1270

1796

PALU_DQ26

100

43

131

219

745

1095

1183

1271

1797

PALU_DQ25

99

44

132

220

746

1096

1184

1272

1798

PALU_DQ24

98

45

133

221

747

1097

1185

1273

1799

PALU_DQ23

96

46

134

222

748

1098

1186

1274

1800

PALU_DQ22

95

47

135

223

749

1099

1187

1275

1801

PALU_DQ21

94

48

136

224

750

1100

1188

1276

1802

PALU_DQ20

93

49

137

225

751

1101

1189

1277

1803

PALU_DQ19

91

50

138

226

752

1102

1190

1278

1804

PALU_DQ18

90

51

139

227

753

1103

1191

1279

1805

PALU_DQ17

89

52

140

228

754

1104

1192

1280

1806

PALU_DQ16

88

53

141

229

755

1105

1193

1281

1807

PALU_DQ15

79

54

142

230

756

1106

1194

1282

1808

PALU_DQ14

78

55

143

231

757

1107

1195

1283

1809

PALU_DQ13

77

56

144

232

758

1108

1196

1284

1810

PALU_DQ12

76

57

145

233

759

1109

1197

1285

1811

PALU_DQ11

74

58

146

234

760

1110

1198

1286

1812

PALU_DQ10

73

59

147

235

761

1111

1199

1287

1813

PALU_DQ9

72

60

148

236

762

1112

1200

1288

1814

PALU_DQ8

71

61

149

237

763

1113

1201

1289

1815

PALU_DQ7

69

62

150

238

764

1114

1202

1290

1816

PALU_DQ6

68

63

151

239

765

1115

1203

1291

1817

PALU_DQ5

67

64

152

240

766

1116

1204

1292

1818

PALU_DQ4

66

65

153

241

767

1117

1205

1293

1819

PALU_DQ3

63

66

154

242

768

1118

1206

1294

1820

PALU_DQ2

62

67

155

243

769

1119

1207

1295

1821

PALU_DQ1

61

68

156

244

770

1120

1208

1296

1822

PALU_DQ0

60

69

157

245

771

1121

1209

1297

1823

PALU_DX1

59

70

158

246

772

1122

1210

1298

1824

PALU_DX0

58

71

159

247

773

1123

1211

1299

1825

PALU_BE1

57

72

160

248

774

1124

1212

1300

1826

PALU_BE0

56

73

161

249

775

1125

1213

1301

1827

PALU_OP1

54

74

162

250

776

1126

1214

1302

1828

PALU_OP0

53

75

163

251

777

1127

1215

1303

1829

PALU_EN0

52

76

164

252

778

1128

1216

1304

1830

PALU_A2

51

77

165

253

779

1129

1217

1305

1831

PALU_A1

50

78

166

254

780

1130

1218

1306

1832

PAUL_A0

49

79

167

255

781

1131

1219

1307

1833

DRAM_OP0

47

80

168

256

782

1132

1220

1308

1834

DRAM_EN

46

81

169

257

783

1133

1221

1309

1835

DRAM_A5

45

82

170

258

784

1134

1222

1310

1836

DRAM_A4

44

83

171

259

785

1135

1223

1311

1837

DRAM_A3

43

84

172

260

786

1136

1224

1312

1838

DRAM_A2

42

85

173

261

787

1137

1225

1313

1839

DRAM_A1

41

86

174

262

788

1138

1226

1314

1840

DRAM_A0

40

87

175

263

789

1139

1227

1315

1841

 

Memory Test Faults

The video board memory test gives a range of faults.  It does seem however that it normally fails an entire group of ram ICs when only one of them is actually faulty.  Another interesting fact is the IC numbers the memory test will give you often don’t exist on the video board.  That’s because it seems to be reporting IC numbers from the step 1.5 board.  On the step 1.5 board you can see the ICs that are reported to have failed next to empty pads marked with the IC number that needs to be replaced.

Polygon memory

This memory is reported as IC70 and IC71:

 

The IC it’s actually referring to is IC12.

Here is a shot of a Step 1.5 board showing you why:

You can see they empty socket for IC12 next to IC70 and IC71.  The step 2.0 boards use a single IC in IC12 instead of 2 ICs in IC70 and IC71.

So the IC you need to replace (or fix joints) is IC12 which is a NEC D4811650GF-A12.  Given the -A12 version is the slowest one you should be able to use any NEC D4811650GF (I’ve used the -A10 instead with no issues).

This ram IC is connected to the video rom bus and is likely used as a cache for polygon shapes.  This is why a fault in this IC produces symptoms that look similar to when there is a rom board fault.  

Here’s a photo of what things look like when this IC is not working properly:

You see polygons of distorted shapes firing off in strange directions.  You’ll also note that all of the 2D image is rendered fine as it ends up getting overlayed on top of the whatever is coming out of the 6 frame buffer ICs.

As an interesting side note, its actually surprising how well the system runs with this IC completely removed, a few polygon problems but a lot less then I’d expect.  And if I recall correctly it was more a case of missing polygons rather than distorted ones.

Culling memory

The memory test reports the culling memory as faults with IC68, IC69, IC72 and IC73:

As with the polygon memory these IC numbers refer to the step 1.5 board IC numbers:

So it appears IC68, IC72 refer to IC10 and IC69,IC73 refer to IC11.

One note I will add about replacing these is that if some of the solder joints aren’t connected the stack won’t boot.  In my case it was some of pins in the corners.  So if you replace one and it won’t boot afterward, check your joints.

In terms of what visual issues you get when these ICs aren’t working… I’m not entirely sure as I had replaced the polygon memory right before doing these ones so didn’t run it for long.  I vaguely recall it might have been missing polygons, so you can see through bits of cars etc.


Video memory

These report in the memory test as either IC85, IC91, IC99 or IC185s, IC195s, IC199s:

The purpose of this memory is to store the current video frame.  The video frame is able to be read of out the VID pins while being updated asynchronously from the video processors.  It looks like ICs are grouped in 2 sets of 3.  One set for each of the video processors.  Given the changes in video output from the faults I’ve experienced it looks like the 2 video processors process alternate lines.  And I suspect in each set of 3, one is for red, one green and one blue.  I’m not sure which is which however.

One quite odd thing about they way these are used is the fact they tied the data lines together.  PALU_DQ0 is connected to PALU_DQ15, PALU_DQ1 -> PALU_DQ16, PALU_DQ2 -> PALU_DQ17 etc.  This effectively halves the capacity of the ram chip.  There maybe some reason related to the way they read the video back of the chip that makes this necessary.

IC91 and IC199s are Mitsubishi M5M410092BRF chips, the rest are Mitsubishi M5M410092BFP.  The only difference between the two types is one has its pins clockwise and the other counter clockwise.  Well there is one other difference and that is price.

I bought my M5M410092BFP for about $5US each and M5M410092BRF for about $10US each.  I ended up having to get them off alibaba as I couldn’t find them anywhere else.

Given the price tag replacing a set of 3 would cost about $20US, so it might be worth doing a boundary scan and a quick check of the joints on any pins that show up.

I should also note the memory test doesn’t seem to detect problems with the video output on these ICs.  

Anyway here’s an example of what it can look like when one of these ICs has failed:

Note the distinct horizontal lines.

Here’s another example:

Again the horizontal lines, but also the obvious colour distortions.

It’s worth noting that a complete failure of one of these ICs would cause the stack not to boot.  In these cases it’s probably necessary to put a logic sniffer on the JTAG bus to see at which IC the ID Codes start to go wrong.

Known video memory fixes (Bad IC91):

If you have this error

The Video memory test gives you this result:

Then change IC 91 and the error is fixed :)

Depth buffer memory

This reports as IC61, IC62:

Now this one is a little odd, as there is an IC62 but no IC61.  Even on a step 1.5 board there doesn’t seem to be an IC61 (unless it’s on the bottom?).  Anyway I haven’t yet replaced this IC so will update with results of replacing IC62.

The choice of IC in this case is interesting as the depth buffer uses the same Mitsubishi M5M410092BFP as the video frame buffer, but it doesn’t use the video function.  

Anyway here’s what it looks like when this IC isn’t working properly:

Sorry about the bad photo, but notice the horizontal lines that occur on only some of the textures

Cpu Board

The only two errors I’ve encountered with CPU Boards are RTC problems and scroll memory.

The RTC problems report as low battery although i’ve seen another RTC error that is different.  Changing the battery in my case didn't fix these issues.  As it doesn’t prevent or really affect gameplay I haven’t concentrated on these issues.

Scroll memory

This error reports as IC17 and IC18 (sorry no photo)

These IC numbers are accurate and its simply a case of replacing these ICs on the cpu board.

The range of problems that faults in these ICs can cause is quite varied and includes a number of malloc errors on boot.  I’ve also seen (in Sega Rally 2) a fault in the scroll ram can cause a couple of the roms to report as bad when the same rom board on another cpu board reports them as fine.  In my case the fault cased the game to run for a few minutes then crash and it would have malloc errors on reboot.  Changing these ICs fixed these problems.

Rom Board

The rom boards are probably the easiest of the boards in the stack to diagnose.  Generally these issues will show up as bad roms on the rom check.  

If the rom board won’t boot, its likely something related with IC1-IC25.  Given that these ICs are basically directly connected to the board connectors (and each other) connection issues are quite easy to test.  For IC1-IC16, with a continuity meter go through each of the addressing pins and data pins for one of the ICs.  with one lead of the meter on the pin CAREFULLY and lightly drag the other lead of the meter along each side of connectors CN2 and CN3.  Your looking for a beep to indicate its connected.  Don’t worry about what it’s connected to in those connectors just thats its connected to something.  I’ve come across 2 corroded vias on a board just under one of the connectors, so had to run a wire around to connect them.  For IC17-IC25 do the same thing but for CN4.  I’ll probably do something more definitive for these as I’m basing a lot of this part on memory.

Now if it boots but some of the roms test as bad...

If possible swap the reported bad roms from another board.  Having said that I’ve not yet encountered a rom that was actually bad, but I’ve only been messing around with these things for about 9 months now.

Video Roms

So the key with working out what’s going on with the video roms (IC26-IC41) is mapping out the physical locations on the board so you know which ICs reading the rom is dependant on.

Here’s a general guide:

Bad ICs

What to check

26, 28, 30, 32, 34, 36, 38 and 40

Check the outputs of the ACT574’s (IC49 and IC50).  There are some vias near jumper JP13 which are useful for doing this.  If any are stuck or floating, replace the IC.

27,29,31,33,35,37,39 and 41

Check the outputs of the ACT574’s (IC51 and IC52).  There are some vias near IC48 which are useful for doing this.  If any are stuck or floating, replace the IC.

26 and 27

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC53, IC54s, IC55)

28 and 29

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC56, IC57s, IC58)

30 and 31

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC59, IC60s, IC61)

32 and 33

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC62, IC63s, IC64)

34 and 35

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC65, IC66s, IC67)

36 and 37

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC68, IC69s, IC70)

38 and 39

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC71, IC72s, IC73)

40 and 41

Check the addressing pins on one of the roms, if any are stuck or floating use continuity tester to identify which of the ACT574’s is faulty (IC74, IC75s, IC76)

Single rom only

Likely to be one of the two ACT 244 ICs on the underside of the board beneigh the chip.  It’s quite tricky to test the outputs as you’ll need to test only when the output enable is on.  It’s probably just easier to replace both chips.