Skip to content

Commit

Permalink
some documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
AKuHAK committed Aug 16, 2024
1 parent 653bf94 commit 5c3cbaf
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 36 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ all: $(EE_BIN)
clean:
make clean -C irx/source/mechaproxy
make clean -C irx/source/masswatcher
rm -f *.elf *.o *_irx.c resources/*.bin resources/*.pyc *.pyc
rm -f *.elf *.o *_irx.c *.s resources/*.bin resources/*.pyc *.pyc

#IRX Modules
iomanX_irx.c:
Expand Down
2 changes: 2 additions & 0 deletions docs/PICfix.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# PIC fix

Note: seems subzero mode also can save from DSP crash.

All FAT and some 70k models are affected by the DSP bug and need hardware fix to avoid frying.

In 2004 the Matrix team developed the so-called "PIC fix". It consists of PIC12C508 (SOIC chips, it's important, dont use MSOP chips) and a resistor 1.5kOhm or 2.2kOhm (resistance depends on your system). PIC12C508 should be programmed with shipped `MFIX_H8.HEX` or `MFIX_H16.HEX` firmware file. Details on how to program this chip aren't covered here. Optionally, you can use Gerber developed board. Also, you can use a [PCB board](https://oshpark.com/shared_projects/3D5p1xeY) developed for Comsoft fix but also suitable for Matrix PIC fix. For experiments, there is also a Comsoft v4 firmware file, however, it is not tested. Note, that the Matrix team Readme is kept there for reference. There is no need to apply the so-called "diode fix" - per our investigations it is useless.
Expand Down
71 changes: 36 additions & 35 deletions main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1065,43 +1065,44 @@ void checkUnsupportedVersion()
else if (ModelId == 0xd388) sprintf(RealModelName, "DESR-5700");
// d389 - d400 ??
// H, I, J -chassis
else if (ModelId == 0xd401) sprintf(RealModelName, "SCPH-50001/N");
else if (ModelId == 0xd402) sprintf(RealModelName, "SCPH-50010/N");
else if (ModelId == 0xd403) sprintf(RealModelName, "SCPH-50000");
else if (ModelId == 0xd404) sprintf(RealModelName, "SCPH-50000 MB/NH");
else if (ModelId == 0xd405) sprintf(RealModelName, "SCPH-50002");
else if (ModelId == 0xd406) sprintf(RealModelName, "SCPH-50003");
else if (ModelId == 0xd407) sprintf(RealModelName, "SCPH-50004");
else if (ModelId == 0xd408) sprintf(RealModelName, "SCPH-50002 SS"); // Silver Prestige Line
else if (ModelId == 0xd409) sprintf(RealModelName, "SCPH-50003 SS"); // Silver Prestige Line
else if (ModelId == 0xd40a) sprintf(RealModelName, "SCPH-50004 SS"); // Silver Prestige Line
else if (ModelId == 0xd40b) sprintf(RealModelName, "SCPH-50001");
else if (ModelId == 0xd40c) sprintf(RealModelName, "SCPH-50005/N");
else if (ModelId == 0xd40d) sprintf(RealModelName, "SCPH-50006");
else if (ModelId == 0xd40e) sprintf(RealModelName, "SCPH-50007");
else if (ModelId == 0xd40f) sprintf(RealModelName, "SCPH-50008");
/* else if (ModelId == 0xd400) sprintf(RealModelName, "SCPH-50001"); // 35: PX1, PX2, 27203531, 27203532 */
else if (ModelId == 0xd401) sprintf(RealModelName, "SCPH-50001/N"); // 37: PX7, PX8, 27203731, 27203732
else if (ModelId == 0xd402) sprintf(RealModelName, "SCPH-50010/N"); // ??: PU6
else if (ModelId == 0xd403) sprintf(RealModelName, "SCPH-50000"); // 35: 27203500, 27203502
else if (ModelId == 0xd404) sprintf(RealModelName, "SCPH-50000 MB/NH"); // 39, 43, 60: 27203900, 27203902, 27204302, 27206002
else if (ModelId == 0xd405) sprintf(RealModelName, "SCPH-50002"); // 35: 27203591
else if (ModelId == 0xd406) sprintf(RealModelName, "SCPH-50003"); // 35: 227203561
else if (ModelId == 0xd407) sprintf(RealModelName, "SCPH-50004"); // 35: 227203551, 27203552
else if (ModelId == 0xd408) sprintf(RealModelName, "SCPH-50002 SS"); // 40: 27204091, Silver Prestige Line
else if (ModelId == 0xd409) sprintf(RealModelName, "SCPH-50003 SS"); // 40: 27204061, Silver Prestige Line
else if (ModelId == 0xd40a) sprintf(RealModelName, "SCPH-50004 SS"); // 40: 27204051, 27204052, Silver Prestige Line
else if (ModelId == 0xd40b) sprintf(RealModelName, "SCPH-50001"); // 41: PX3, PX4, 27204131, 27204132
else if (ModelId == 0xd40c) sprintf(RealModelName, "SCPH-50005/N"); // 37: 27203725
else if (ModelId == 0xd40d) sprintf(RealModelName, "SCPH-50006"); // 35: 27203512, 27203518
else if (ModelId == 0xd40e) sprintf(RealModelName, "SCPH-50007"); // 35: 27203516
else if (ModelId == 0xd40f) sprintf(RealModelName, "SCPH-50008"); // 35: 27203581
/* else if (ModelId == 0xd410) sprintf(RealModelName, "??? SCPH-50009 Black"); */
else if (ModelId == 0xd411) sprintf(RealModelName, "SCPH-50000 NB");
else if (ModelId == 0xd412) sprintf(RealModelName, "SCPH-50000 TSS");
else if (ModelId == 0xd413) sprintf(RealModelName, "SCPH-55000 GU");
else if (ModelId == 0xd414) sprintf(RealModelName, "SCPH-55000 GT");
else if (ModelId == 0xd415) sprintf(RealModelName, "SCPH-50009 SS");
else if (ModelId == 0xd416) sprintf(RealModelName, "SCPH-50003 AQ");
/* else if (ModelId == 0xd417) sprintf(RealModelName, "??? SCPH-55005 GT/N"); */
else if (ModelId == 0xd418) sprintf(RealModelName, "SCPH-55006 GT");
/* else if (ModelId == 0xd419) sprintf(RealModelName, "??? SCPH-55007 GT"); */
else if (ModelId == 0xd41a) sprintf(RealModelName, "SCPH-50008 SS");
else if (ModelId == 0xd41b) sprintf(RealModelName, "SCPH-50004 AQ");
else if (ModelId == 0xd41c) sprintf(RealModelName, "SCPH-50005 SS/N");
else if (ModelId == 0xd41d) sprintf(RealModelName, "SCPH-50005 AQ/N");
else if (ModelId == 0xd41e) sprintf(RealModelName, "SCPH-50000 CW");
else if (ModelId == 0xd41f) sprintf(RealModelName, "SCPH-50000 SA");
else if (ModelId == 0xd420) sprintf(RealModelName, "SCPH-50004 ESS"); // Satin Silver
else if (ModelId == 0xd411) sprintf(RealModelName, "SCPH-50000 NB"); // 45, 46, 54: 27204501, 27204502, 27204604, 27205402
else if (ModelId == 0xd412) sprintf(RealModelName, "SCPH-50000 TSS"); // 40: 27204004
else if (ModelId == 0xd413) sprintf(RealModelName, "SCPH-55000 GU"); // 67: 27206702
else if (ModelId == 0xd414) sprintf(RealModelName, "SCPH-55000 GT"); // 47, 49: 27204704, 27204904
else if (ModelId == 0xd415) sprintf(RealModelName, "SCPH-50009 SS"); // 37, 40: 27203720, 27204020
else if (ModelId == 0xd416) sprintf(RealModelName, "SCPH-50003 AQ"); // 51: 27205161
/* else if (ModelId == 0xd417) sprintf(RealModelName, "??? SCPH-55005 GT/N"); // 50: 27205025 */
else if (ModelId == 0xd418) sprintf(RealModelName, "SCPH-55006 GT"); // 47: 27204718
/* else if (ModelId == 0xd419) sprintf(RealModelName, "??? SCPH-55007 GT"); // 47: 27204716 */
else if (ModelId == 0xd41a) sprintf(RealModelName, "SCPH-50008 SS"); // 40: 27204081
else if (ModelId == 0xd41b) sprintf(RealModelName, "SCPH-50004 AQ"); // 51: 27205151
else if (ModelId == 0xd41c) sprintf(RealModelName, "SCPH-50005 SS/N"); // 55: 27205525
else if (ModelId == 0xd41d) sprintf(RealModelName, "SCPH-50005 AQ/N"); // 56: 27205625
else if (ModelId == 0xd41e) sprintf(RealModelName, "SCPH-50000 CW"); // 44: 27204402
else if (ModelId == 0xd41f) sprintf(RealModelName, "SCPH-50000 SA"); // 61: 27206101
else if (ModelId == 0xd420) sprintf(RealModelName, "SCPH-50004 ESS"); // 57, 62, 66: 27205751, 27206251, 27206651 Satin Silver
/* else if (ModelId == 0xd421) sprintf(RealModelName, "???"); */
else if (ModelId == 0xd422) sprintf(RealModelName, "SCPH-50002 ESS"); // Satin Silver
else if (ModelId == 0xd423) sprintf(RealModelName, "SCPH-50003 ESS"); // Satin Silver
else if (ModelId == 0xd424) sprintf(RealModelName, "SCPH-50000 PW");
else if (ModelId == 0xd425) sprintf(RealModelName, "SCPH-50011");
else if (ModelId == 0xd422) sprintf(RealModelName, "SCPH-50002 ESS"); // 62: 27206291 Satin Silver
else if (ModelId == 0xd423) sprintf(RealModelName, "SCPH-50003 ESS"); // 66: 27206661 Satin Silver
else if (ModelId == 0xd424) sprintf(RealModelName, "SCPH-50000 PW"); // 65: 27206501
else if (ModelId == 0xd425) sprintf(RealModelName, "SCPH-50011"); // ??: SM1
// K-chassis
else if (ModelId == 0xd426) sprintf(RealModelName, "SCPH-70004");
else if (ModelId == 0xd427) sprintf(RealModelName, "SCPH-70003");
Expand Down

0 comments on commit 5c3cbaf

Please sign in to comment.