Reverse Engineering the CIC

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderators: B00daW, Moderators

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Thu Oct 01, 2020 3:52 pm

Tried both it just shifts the data one spot.

Code: Select all

i0 :75
i1 :30
i2 :4A
i3 :74
i4 :42
i5 :C0
i6 :7D
i7 :A6
i8 :7E
i9 :7D
iA :7D
iB :D3
iC :7D
iD :CA
iE :7E
iF :5B
i10 :75
i11 :22
i12 :63
i13 :9D
i14 :0
i15 :28
i16 :52
i17 :EB
i18 :EC
i19 :74
i1A :22
i1B :60
i1C :B0
i1D :D7
i1E :7E
i1F :21
i20 :74
i21 :23
i22 :63
i23 :B2
i24 :23
i25 :52
i26 :97
i27 :91
i28 :7D
i29 :F2
i2A :B1
i2B :22
i2C :6C
i2D :23
i2E :60
i2F :C2
i30 :0
i31 :29
i32 :52
i33 :9A
i34 :74
i35 :24
i36 :33
i37 :45
i38 :BD
i39 :0
i3A :0
i3B :C7
i3C :23
i3D :61
i3E :DC
i3F :2C
i40 :52
i41 :E3
i42 :A6
i43 :75
i44 :2E
i45 :7D
i46 :C5
i47 :A6
i48 :74
i49 :23
i4A :6D
i4B :0
i4C :74
i4D :23
i4E :62
i4F :89
i50 :2B
i51 :52
i52 :94
i53 :78
i54 :9C
i55 :78
i56 :C4
i57 :7D
i58 :F2
i59 :E9
i5A :75
i5B :21
i5C :7D
i5D :CC
i5E :86
i5F :74
i60 :23
i61 :6C
i62 :7D
i63 :A6
i64 :0
i65 :86
i66 :22
i67 :68
i68 :7D
i69 :A6
i6A :28
i6B :52
i6C :88
i6D :93
i6E :7D
i6F :D3
i70 :74
i71 :23
i72 :60
i73 :96
i74 :78
i75 :2B
i76 :2C
i77 :52
i78 :D5
i79 :7D
i7A :A6
i7B :74
i7C :23
i7D :68
i7E :23
i7F :61
i80 :BF
i81 :69
i82 :78
i83 :13
i84 :0
i85 :75
i86 :25
i87 :7E
i88 :0
i89 :26
i8A :33
i8B :45
i8C :D7
i8D :25
i8E :3C
i8F :45
i90 :D7
i91 :74
i92 :23
i93 :6F
i94 :74
i95 :23
i96 :62
i97 :8E
i98 :9C
i99 :7E
i9A :5B
i9B :74
i9C :24
i9D :40
i9E :10
i9F :BB
iA0 :89
iA1 :13
iA2 :97
iA3 :89
iA4 :75
iA5 :26
iA6 :11
iA7 :A8
iA8 :40
iA9 :10
iAA :89
iAB :3E
iAC :9A
iAD :40
iAE :10
iAF :89
iB0 :3C
iB1 :25
iB2 :71
iB3 :C1
iB4 :89
iB5 :78
iB6 :13
iB7 :74
iB8 :2A
iB9 :7D
iBA :C5
iBB :96
iBC :75
iBD :22
iBE :63
iBF :B7
iC0 :74
iC1 :26
iC2 :6D
iC3 :96
iC4 :74
iC5 :2F
iC6 :30
iC7 :43
iC8 :32
iC9 :43
iCA :3F
iCB :43
iCC :3F
iCD :4A
iCE :75
iCF :22
iD0 :6F
iD1 :96
iD2 :79
iD3 :8D
iD4 :74
iD5 :26
iD6 :6C
iD7 :6E
iD8 :23
iD9 :6E
iDA :21
iDB :32
iDC :46
iDD :22
iDE :55
iDF :65
iE0 :B4
iE1 :D0
iE2 :2D
iE3 :52
iE4 :DA
iE5 :75
iE6 :22
iE7 :63
iE8 :98
iE9 :79
iEA :69
iEB :21
iEC :52
iED :E2
iEE :0
iEF :21
iF0 :52
iF1 :E6
iF2 :22
iF3 :52
iF4 :AC
iF5 :22
iF6 :52
iF7 :D5
iF8 :A5
iF9 :0
iFA :0
iFB :75
iFC :22
iFD :60
iFE :FE
iFF :2D
i100 :52
i101 :F0
i102 :DE
i103 :7E
i104 :3F
i105 :F3
i106 :23
i107 :52
i108 :F7
i109 :28
i10A :52
i10B :BE
i10C :79
i10D :FB
i10E :75
i10F :22
i110 :6C
i111 :7E
i112 :3F
i113 :C1
i114 :7E
i115 :7D
i116 :7E
i117 :1E
i118 :75
i119 :22
i11A :68
i11B :69
i11C :21
i11D :30
i11E :46
i11F :23
i120 :7E
i121 :0
i122 :24
i123 :30
i124 :45
i125 :CF
i126 :23
i127 :3F
i128 :45
i129 :CF
i12A :7E
i12B :6A
i12C :22
i12D :62
i12E :8D
i12F :6A
i130 :B3
i131 :6E
i132 :30
i133 :D9
i134 :75
i135 :22
i136 :61
i137 :B8
i138 :26
i139 :52
i13A :FA
i13B :D2
i13C :25
i13D :52
i13E :C7
i13F :CF
i140 :74
i141 :21
i142 :7D
i143 :CC
i144 :8F
i145 :7E
i146 :7D
i147 :7E
i148 :20
i149 :6D
i14A :21
i14B :30
i14C :46
i14D :74
i14E :27
i14F :7E
i150 :0
i151 :29
i152 :32
i153 :45
i154 :CF
i155 :28
i156 :33
i157 :45
i158 :CF
i159 :27
i15A :30
i15B :45
i15C :CF
i15D :7E
i15E :1E
i15F :A8
i160 :75
i161 :26
i162 :3F
i163 :71
i164 :AB
i165 :0
i166 :21
i167 :52
i168 :A2
i169 :7E
i16A :7D
i16B :7E
i16C :20
i16D :21
i16E :32
i16F :46
i170 :31
i171 :22
i172 :46
i173 :CF
i174 :75
i175 :25
i176 :40
i177 :27
i178 :43
i179 :40
i17A :28
i17B :4A
i17C :74
i17D :24
i17E :40
i17F :75
i180 :27
i181 :7E
i182 :3C
i183 :78
i184 :82
i185 :79
i186 :B
i187 :74
i188 :26
i189 :61
i18A :8D
i18B :75
i18C :40
i18D :10
i18E :AA
i18F :74
i190 :24
i191 :40
i192 :75
i193 :25
i194 :7E
i195 :3C
i196 :87
i197 :DD
i198 :74
i199 :23
i19A :6A
i19B :26
i19C :6C
i19D :6A
i19E :7D
i19F :CA
i1A0 :7E
i1A1 :7D
i1A2 :7E
i1A3 :20
i1A4 :69
i1A5 :6B
i1A6 :7E
i1A7 :1E
i1A8 :74
i1A9 :26
i1AA :69
i1AB :6F
i1AC :23
i1AD :6B
i1AE :7E
i1AF :5B
i1B0 :74
i1B1 :26
i1B2 :60
i1B3 :B7
i1B4 :23
i1B5 :38
i1B6 :46
i1B7 :7E
i1B8 :AD
i1B9 :23
i1BA :30
i1BB :46
i1BC :26
i1BD :68
i1BE :7E
i1BF :E9
i1C0 :78
i1C1 :73
i1C2 :7E
i1C3 :AD
i1C4 :2D
i1C5 :52
i1C6 :B6
i1C7 :F1
i1C8 :75
i1C9 :20
i1CA :32
i1CB :42
i1CC :3A
i1CD :4A
i1CE :4C
i1CF :21
i1D0 :33
i1D1 :46
i1D2 :23
i1D3 :30
i1D4 :46
i1D5 :22
i1D6 :31
i1D7 :46
i1D8 :4C
i1D9 :22
i1DA :55
i1DB :66
i1DC :4D
i1DD :4C
i1DE :75
i1DF :2E
i1E0 :33
i1E1 :42
i1E2 :38
i1E3 :4A
i1E4 :4C
i1E5 :3F
i1E6 :71
i1E7 :E2
i1E8 :4A
i1E9 :4C
i1EA :42
i1EB :C5
i1EC :4D
i1ED :3F
i1EE :71
i1EF :D6
i1F0 :4A
i1F1 :4C
i1F2 :43
i1F3 :CC
i1F4 :4D
i1F5 :25
i1F6 :7D
i1F7 :C5
i1F8 :DD
i1F9 :0
i1FA :0
i1FB :20
i1FC :75
i1FD :30
i1FE :4A
i1FF :74
i200 :42
i201 :C0
i202 :7D
i203 :A6
i204 :7E
i205 :7D
i206 :7D
i207 :D3
i208 :7D
i209 :CA
i20A :7E
i20B :5B
i20C :75
i20D :22
i20E :63
i20F :9D
i210 :0
i211 :28
i212 :52
i213 :EB
i214 :EC
i215 :74
i216 :22
i217 :60
i218 :B0
i219 :D7
i21A :7E
i21B :21
i21C :74
i21D :23
i21E :63
i21F :B2
i220 :23
i221 :52
i222 :97
i223 :91
i224 :7D
i225 :F2
i226 :B1
i227 :22
i228 :6C
i229 :23
i22A :60
i22B :C2
i22C :0
i22D :29
i22E :52
i22F :9A
i230 :74
i231 :24
i232 :33
i233 :45
i234 :BD
i235 :0
i236 :0
i237 :C7
i238 :23
i239 :61
i23A :DC
i23B :2C
i23C :52
i23D :E3
i23E :A6
i23F :75
i240 :2E
i241 :7D
i242 :C5
i243 :A6
i244 :74
i245 :23
i246 :6D
i247 :0
i248 :74
i249 :23
i24A :62
i24B :89
i24C :2B
i24D :52
i24E :94
i24F :78
i250 :9C
i251 :78
i252 :C4
i253 :7D
i254 :F2
i255 :E9
i256 :75
i257 :21
i258 :7D
i259 :CC
i25A :86
i25B :74
i25C :23
i25D :6C
i25E :7D
i25F :A6
i260 :0
i261 :86
i262 :22
i263 :68
i264 :7D
i265 :A6
i266 :28
i267 :52
i268 :88
i269 :93
i26A :7D
i26B :D3
i26C :74
i26D :23
i26E :60
i26F :96
i270 :78
i271 :2B
i272 :2C
i273 :52
i274 :D5
i275 :7D
i276 :A6
i277 :74
i278 :23
i279 :68
i27A :23
i27B :61
i27C :BF
i27D :69
i27E :78
i27F :13
i280 :0
i281 :75
i282 :25
i283 :7E
i284 :0
i285 :26
i286 :33
i287 :45
i288 :D7
i289 :25
i28A :3C
i28B :45
i28C :D7
i28D :74
i28E :23
i28F :6F
i290 :74
i291 :23
i292 :62
i293 :8E
i294 :9C
i295 :7E
i296 :5B
i297 :74
i298 :24
i299 :40
i29A :10
i29B :BB
i29C :89
i29D :13
i29E :97
i29F :89
i2A0 :75
i2A1 :26
i2A2 :11
i2A3 :A8
i2A4 :40
i2A5 :10
i2A6 :89
i2A7 :3E
i2A8 :9A
i2A9 :40
i2AA :10
i2AB :89
i2AC :3C
i2AD :25
i2AE :71
i2AF :C1
i2B0 :89
i2B1 :78
i2B2 :13
i2B3 :74
i2B4 :2A
i2B5 :7D
i2B6 :C5
i2B7 :96
i2B8 :75
i2B9 :22
i2BA :63
i2BB :B7
i2BC :74
i2BD :26
i2BE :6D
i2BF :96
i2C0 :74
i2C1 :2F
i2C2 :30
i2C3 :43
i2C4 :32
i2C5 :43
i2C6 :3F
i2C7 :43
i2C8 :3F
i2C9 :4A
i2CA :75
i2CB :22
i2CC :6F
i2CD :96
i2CE :79
i2CF :8D
i2D0 :74
i2D1 :26
i2D2 :6C
i2D3 :6E
i2D4 :23
i2D5 :6E
i2D6 :21
i2D7 :32
i2D8 :46
i2D9 :22
i2DA :55
i2DB :65
i2DC :B4
i2DD :D0
i2DE :2D
i2DF :52
i2E0 :DA
i2E1 :75
i2E2 :22
i2E3 :63
i2E4 :98
i2E5 :79
i2E6 :69
i2E7 :21
i2E8 :52
i2E9 :E2
i2EA :0
i2EB :21
i2EC :52
i2ED :E6
i2EE :22
i2EF :52
i2F0 :AC
i2F1 :22
i2F2 :52
i2F3 :D5
i2F4 :A5
i2F5 :0
i2F6 :0
i2F7 :75
i2F8 :22
i2F9 :60
i2FA :FE
i2FB :2D
i2FC :52
i2FD :F0
i2FE :DE
i2FF :7E
i300 :3F
i301 :F3
i302 :23
i303 :52
i304 :F7
i305 :28
i306 :52
i307 :BE
i308 :79
i309 :FB
i30A :75
i30B :22
i30C :6C
i30D :7E
i30E :3F
i30F :C1
i310 :7E
i311 :7D
i312 :7E
i313 :1E
i314 :75
i315 :22
i316 :68
i317 :69
i318 :21
i319 :30
i31A :46
i31B :23
i31C :7E
i31D :0
i31E :24
i31F :30
i320 :45
i321 :CF
i322 :23
i323 :3F
i324 :45
i325 :CF
i326 :7E
i327 :6A
i328 :22
i329 :62
i32A :8D
i32B :6A
i32C :B3
i32D :6E
i32E :30
i32F :D9
i330 :75
i331 :22
i332 :61
i333 :B8
i334 :26
i335 :52
i336 :FA
i337 :D2
i338 :25
i339 :52
i33A :C7
i33B :CF
i33C :74
i33D :21
i33E :7D
i33F :CC
i340 :8F
i341 :7E
i342 :7D
i343 :7E
i344 :20
i345 :6D
i346 :21
i347 :30
i348 :46
i349 :74
i34A :27
i34B :7E
i34C :0
i34D :29
i34E :32
i34F :45
i350 :CF
i351 :28
i352 :33
i353 :45
i354 :CF
i355 :27
i356 :30
i357 :45
i358 :CF
i359 :7E
i35A :1E
i35B :A8
i35C :75
i35D :26
i35E :3F
i35F :71
i360 :AB
i361 :0
i362 :21
i363 :52
i364 :A2
i365 :7E
i366 :7D
i367 :7E
i368 :20
i369 :21
i36A :32
i36B :46
i36C :31
i36D :22
i36E :46
i36F :CF
i370 :75
i371 :25
i372 :40
i373 :27
i374 :43
i375 :40
i376 :28
i377 :4A
i378 :74
i379 :24
i37A :40
i37B :75
i37C :27
i37D :7E
i37E :3C
i37F :78
i380 :82
i381 :79
i382 :B
i383 :74
i384 :26
i385 :61
i386 :8D
i387 :75
i388 :40
i389 :10
i38A :AA
i38B :74
i38C :24
i38D :40
i38E :75
i38F :25
i390 :7E
i391 :3C
i392 :87
i393 :DD
i394 :74
i395 :23
i396 :6A
i397 :26
i398 :6C
i399 :6A
i39A :7D
i39B :CA
i39C :7E
i39D :7D
i39E :7E
i39F :20
i3A0 :69
i3A1 :6B
i3A2 :7E
i3A3 :1E
i3A4 :74
i3A5 :26
i3A6 :69
i3A7 :6F
i3A8 :23
i3A9 :6B
i3AA :7E
i3AB :5B
i3AC :74
i3AD :26
i3AE :60
i3AF :B7
i3B0 :23
i3B1 :38
i3B2 :46
i3B3 :7E
i3B4 :AD
i3B5 :23
i3B6 :30
i3B7 :46
i3B8 :26
i3B9 :68
i3BA :7E
i3BB :E9
i3BC :78
i3BD :73
i3BE :7E
i3BF :AD
i3C0 :2D
i3C1 :52
i3C2 :B6
i3C3 :F1
i3C4 :75
i3C5 :20
i3C6 :32
i3C7 :42
i3C8 :3A
i3C9 :4A
i3CA :4C
i3CB :21
i3CC :33
i3CD :46
i3CE :23
i3CF :30
i3D0 :46
i3D1 :22
i3D2 :31
i3D3 :46
i3D4 :4C
i3D5 :22
i3D6 :55
i3D7 :66
i3D8 :4D
i3D9 :4C
i3DA :75
i3DB :2E
i3DC :33
i3DD :42
i3DE :38
i3DF :4A
i3E0 :4C
i3E1 :3F
i3E2 :71
i3E3 :E2
i3E4 :4A
i3E5 :4C
i3E6 :42
i3E7 :C5
i3E8 :4D
i3E9 :3F
i3EA :71
i3EB :D6
i3EC :4A
i3ED :4C
i3EE :43
i3EF :CC
i3F0 :4D
i3F1 :25
i3F2 :7D
i3F3 :C5
i3F4 :DD
i3F5 :0
i3F6 :0
i3F7 :20
Jeroen wrote:
Thu Oct 01, 2020 3:42 pm
One could try pulling R22 low, perhaps that controls the page.

edit: alternatively, one could try setting R20 or R21 high. with two pins you can adress 4 pages.

Fiskbit
Posts: 267
Joined: Sat Nov 18, 2017 9:15 pm

Re: Reverse Engineering the CIC

Post by Fiskbit » Sun Oct 04, 2020 2:54 am

My desoldering station arrived, so tonight I pulled a 3195A and a 3198A for dumping. The good news is that the 3195A matches the 508 accessible bytes of the existing 512 byte dump, as expected. The bad news is that the 3198A matches Patnukem's dump, with the low 2 bits missing. As it's very unlikely that all of our chips are broken in the same way, this strongly suggests that these bits cannot be extracted through this dumping method with what we know today.

We also took another shot at dumping the 6113B1 tonight and failed again in the same way. We had previously confirmed that the 6113B1 did indeed work by using it in a cartridge, and tonight confirmed that every pin was connected except possibly R3_3/CL2, which isn't necessary in the dumping mode.

We tried using the newest code for dumping, but the results were not good. The dumps were truncated and we had runs where the chip did not output the ROM at all. We reverted back to our older version of the code and had much better luck. I can't remember if we made any further changes, but here's our current version:

Code: Select all

//sm590 dumper script

//Written by Jero32 21/09/2020
//to run, hook the arduino pins up to sm590 chip according to pinout below. Upload sketch to arduino. Clear the terminal window
//and press the reset button

//do one clock cycle. Note: relies on opcodes taking time to provide delay for speed, not very portable
#define ClockMacro()\
  if(1){\
    PORTC |= 0b00001000; delayMicroseconds(5); PORTC &= 0b11110111; delayMicroseconds(5);\
  } else {}

//do 3 clocks
#define ThreeClockMacro()\
  if(1){\
    ClockMacro();\
    ClockMacro();\
    ClockMacro();\
    ClockMacro();\
  } else {}

//do 4 clocks
#define FourClockMacro()\
  if(1){\
    ClockMacro();\
    ClockMacro();\
    ClockMacro();\
    ClockMacro();\
  } else {}

void setup() {
  //R20 A0
  //R21 A1
  //R22 A2
  //CLOCK A3
  //Reset/ACL A4

  //D0 pin 2
  //D1 pin 3
  //D2 pin 4
  //D3 pin 5

  //D4 pin 6
  //D5 pin 7
  //D6 pin 8
  //D7 pin 9


  Serial.begin(9600);
  Serial.print("\n");

  DDRD &= 0b00000011; //set pins 2 through 7 as inputs
  DDRB &= 0b11111100; //set pin 8 and 9 as inputs
  DDRC |= 0b00011111; // Set A0 through A4 as outputs */

  DIDR0 = 0x00; //no longer neccessary but it doesn't hurt.
  PORTC &= 0b11100000; //make sure all bits are in a known cleared state
  PORTC |= 0b00010111; // set pin A0 - A4 High with the exception of A3/CLK

  //  delay(500); //let sm590 boot

  FourClockMacro();//start the clock
  ClockMacro();
  PORTC &= 0b11101111;// lower ACL
  FourClockMacro();
  PORTC &= 0b11111101;//lower R21
  FourClockMacro();
  PORTC &= 0b11111110;//lower R20
  FourClockMacro();

}

void loop() {
  int i;

  for (i = 0; i < 508; i++) { //fill a 508 byte array with the rom data
    ClockMacro();
    ClockMacro();
    ClockMacro();
    ClockMacro();
  }
  
  unsigned char dataArray[508];
  for (i = 0; i < 508; i++) { //fill a 508 byte array with the rom data
    ClockMacro();
    dataArray[i] = ((PIND & 0b11111100) >> 2) | ((PINB & 0b00000011) << 6); //note date seems inverted compared to "known" romdumps
    ClockMacro();
    ClockMacro();
    ClockMacro();
  }

  int j = 507;
  for (i = 0; i < 508; i++) {
    Serial.print((dataArray[j] ^ 0XFF), HEX);//data inverted to match "known" rom dumps
    Serial.print(",");
    ++j;
    if (j >= 508)
      j = 0;
  }
  while (1) {}

}
We also looked at the Famicom Modem lockout chip a little. Since it's in a surface mount package, we'll likely need a board to mount it on to easily access the pins. The pin pitch appears to be 0.8 mm, which I guess is somewhat uncommon. The unit we were looking in was an FCNS-A (with the original push-down flap), while Ben Boldt's is an FCNS-A-01 (with the lift-up flap). While Ben's contained an 8633AN lockout chip, ours is an 8633A, so there are at least 2 revisions of the lock. I don't expect there to be other versions of the lock, but it's probably worth checking the Dataship 1200 to see what it uses. No further evidence yet to suggest this is an SM59x.

User avatar
Jeroen
Posts: 1048
Joined: Tue Jul 03, 2007 1:49 pm

Re: Reverse Engineering the CIC

Post by Jeroen » Sun Oct 04, 2020 6:17 am

I guess that settles it, the 3198A (probably) cannot be dumped this way. I suppose a decap will be neccessary.

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Sun Oct 04, 2020 11:12 am

I do have a fried 3198A but no telling if the rom is still in tact, I’d happily donate it to get decaped, I do not have a sufficient chamber to cook sulfuric acid, or a microscope (well not a strong enough one) for that matter, though I wish I did, it would be fun to attempt this.

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Fri Oct 09, 2020 11:45 am

Just a small update to include addition information, might not be useful but I’ll dump it here just in case.

I received a working Famicombox straight from Japan today. Was able to test my CIC’s in my games and they seem to be working.

My Super Mario cart will see the cart when scanning ports but won’t actually start, I tried this game on my CIC disabled NES and got only a blue screen so I know it’s not working. But what’s interesting about that is the name was still pulled so the CIC and wherever the name is stored seem to be working.

I tried to scan the games with a regular nes game out of curiosity and it wouldn’t even scan any port, But when I put in a Famicombox game without the 3198a it would try to scan then just skip it.

I think this means it’s likely there is more to the pinout of this chip... just need to find a way to dump it.

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Sat Dec 12, 2020 10:00 am

Found something weird. My Famicomstation and Famicombox main boards are both the same model SSS-CPU-04 but I got a parts machine from Japan and it has a SSS-CPU-03 and I noticed the main board menu cart is also a version older then the other ones. But what’s really interesting is that it’s missing the series resistor that all other carts I’ve looked at has.
Attachments
4B394533-A7CF-4947-9F02-D2548B0EE0B7.jpeg

Fiskbit
Posts: 267
Joined: Sat Nov 18, 2017 9:15 pm

Re: Reverse Engineering the CIC

Post by Fiskbit » Sun Dec 13, 2020 6:26 am

Does the older menu cart have different software on it? I'm even more interested in dumps of these now; I'd love to see what's different.

FYI, if you want a general-purpose cart dumper, I've been pretty happy with the INL dumper. While it doesn't have scripts for everything yet, it'll handle the menu carts just fine and it's pretty easy to extend by modifying the Lua scripts, which has been great for the weird hardware I've been researching lately.

Regarding the resistor array, I'm not exactly sure why it's there in the first place. Perhaps for reliability?

User avatar
Ben Boldt
Posts: 791
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Reverse Engineering the CIC

Post by Ben Boldt » Wed Dec 23, 2020 3:37 pm

I am kind of late in the game on this and have not been following. I am wondering of anyone knows on the top of their head if anything has been done like this for the SNES CIC. I have found that the Famicom Network System has its own CIC chips that appear very similar to the SNES CIC F411. (Part number 8633 found in a Famicom Network System, 8634A found in a game card.) These may be a direct predecessor to what is found in the SNES.

If there is a way to dump SNES CIC's, I would be interested to apply that to these similar chips.

Fiskbit
Posts: 267
Joined: Sat Nov 18, 2017 9:15 pm

Re: Reverse Engineering the CIC

Post by Fiskbit » Wed Dec 23, 2020 11:50 pm

Because of the chip's form factor, I haven't yet had a chance to mess with the modem CIC, but my hope had been that it's an 18 pin SM59x that could be dumped in the same way as the 16 pin package, using the same pins as named in the spec.

Also, there are at least two revisions of the host side CIC (A and AN). Do your modems both have the same revision?

User avatar
Ben Boldt
Posts: 791
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: Reverse Engineering the CIC

Post by Ben Boldt » Thu Dec 24, 2020 12:41 pm

I actually have 3 Famicom Network Systems now. The first one, I removed all the chips and put them onto breakout boards. The 2nd one is at work at the moment with lots of wires attached so I can snoop it with my logic analyzer while it is running in a Famicom. And the 3rd one, I had not taken apart until just now for your request and I have found a big surprise. There are some differences inside, and the CIC chip is not even populated! There are also some other differences on the board, such as another expansion connector, 2 extra 74HC541A octal 3-state buffer chips, and some jumpers. The Famicom system connector does not have a metal shield on this one. Also, I believe this one is a 2-layer board which would be much easier to trace out.
Attachments
IMG_0069.jpg
IMG_0068.jpg

calima
Posts: 1334
Joined: Tue Oct 06, 2015 10:16 am

Re: Reverse Engineering the CIC

Post by calima » Fri Dec 25, 2020 1:36 am

Ben Boldt wrote:
Thu Dec 24, 2020 12:41 pm
I actually have 3 Famicom Network Systems now.
Time to LAN it up!

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Sun Jan 03, 2021 5:38 pm

I didn’t even consider if it has different software. I have been out of work for 4 month but finally started a new job,
So I can afford to work on this once again. I would love to get a rom dumper and will look into your suggestion.
Fiskbit wrote:
Sun Dec 13, 2020 6:26 am
Does the older menu cart have different software on it? I'm even more interested in dumps of these now; I'd love to see what's different.

FYI, if you want a general-purpose cart dumper, I've been pretty happy with the INL dumper. While it doesn't have scripts for everything yet, it'll handle the menu carts just fine and it's pretty easy to extend by modifying the Lua scripts, which has been great for the weird hardware I've been researching lately.

Regarding the resistor array, I'm not exactly sure why it's there in the first place. Perhaps for reliability?

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Mon Mar 22, 2021 9:01 pm

Some exciting news, I sent my broken 3198A to Sean Riddle and he has decapped it. Though the bits can not be read he will be seeing if he can get it stained to read the bits. Awesome stuff here...

http://www.seanriddle.com/3198metal.jpg

Patnukem
Posts: 80
Joined: Thu Sep 10, 2020 11:16 pm

Re: Reverse Engineering the CIC

Post by Patnukem » Thu Mar 25, 2021 11:39 am

I am in the process of posting a few things to help us on my website.

First I have the Famicombox large manual, maybe it will be useful to someone, some information about how the system is setup may or maynot be useful for this CIC project. https://archive.org/details/famicombox- ... s-cds-0001

I am also putting together some photos of the board, I am in the process of taking all the chips of one of my damaged boards, in hopes to find a short, but also get some good shots on how it is wired, this will be an early model "SSS-CPU-03" the main difference I can tell is the menu cart has no resistor bank as seen here next to a famicomstation menu cart. Image


. Sadly some of these photos have some bad leads that have been fixed, please do not judge me on my patching skills, I did not hove proper desoldering equipment when I started this but finally upgraded to a Hakko Fr-301 so these hopefully will not happen moving forward as often. Some of the leads however seem very touchy on this board. Additional photos can be seen here.

Front of the PCB Model SSS-CPU-04 Image
Back of the PCB Model SSS-CPU-04 Image

additional images and junk will be placed here until I get website built http://famicomstation.com/files/

Post Reply