PS2 PlayStation 2 MECHACON Adjustment Program (PMAP)

Discussion in 'PS2 Homebrew' started by sp193, Apr 9, 2016.

By sp193 on Apr 9, 2016 at 6:47 AM
  1. 820

    sp193 Developer

    Oct 13, 2014
    Likes Received:
    Trophy Points:
    Home Page:
    The PlayStation 2 Mechacon Adjustment Program (PMAP) is a tool for maintaining the PlayStation 2 CD/DVD subsystem.
    SONY has its own official tools that aid in the maintanence process of their consoles. This program is a clone of their tools.

    It offers the following functionality:
    1. EEPROM maintenance and updating
    2. Electrical circuit adjustment
    3. Mechanism (skew) adjustment

    The electrical circuit and mechanism adjustment functions offer jitter measurement, the jitter measurement is only a rough value.
    Only real jitter measuring equipment can give an accurate measurement of jitter.

    The EEPROM maintenance and updating function allows the EEPROM to be backed up, restored and updated, as well as having various parts of it erased. It also allows the RTC's status to be updated (clear error status). It also allows the lens type (T487/T609K for SONY optical blocks) and the optical block* (SANYO/SONY) to be selected.
    The Electical ciruit adjustment function allows the gain to be automatically adjusted.
    The Mechanism adjustment function allows the tangential and radial skews to be adjusted. For the SCPH-30001/DTL-H300xx (B-chassis), it allows the AUTO-TILT motor to be adjusted, which adjusts the radial skew.

    *Only for the F-chassis and later.

    Consoles up to the I-chassis (SCPH-50000) are supported.

    Warning! While I took great care to ensure that I understood what I copied and the accuracy of the copy process, it is still possible for mistakes to have inevitably introduced!
    Do not use this on a console that you really value and make a backup of your console's EEPROM first!

    As of now, there is no way to properly restore a dump from a Dragon unit (SCPH-50000), so there is no way to restore its EEPROM if it gets messed up. Hence do not use this tool on a Dragon unit, unless you know what you are doing.

    As for the location of the test points (Tx, Rx, Gnd, 3.3V and RMC), please refer to the SONY service manuals.
    You will need to connect a 3.3V RS232-compatible transceiver to Tx and Rx, and connect RMC to ground (it is pulled-up).

    There is NO support for ID-management in this version, as the only purpose of such a system is to evade DNAS bans. As a result, all functions that can erase the ID section of the EEPROM have been disabled (to prevent mishaps).
    DNAS may be already dead, but there still isnt a good reason for such a feature to exist. Besides, the know-how to change the IDs is already known.

    Please refer to the README file for more information.
    The testbed for this project was my S MINOKAMO SCPH-10000, which is a wrecked console (dead since 2012).

    Personally, I dont have real-world experience with tinkering with the CD/DVD subsystem. So if there is anything that is wrong or doesnt make sense, please feel free to correct me or to give suggestions.

    For now, the RTC update (resets the low battery/error status) function does not update the RTCs time.

    PMAP v1.01:[161019]PMAP-bin.7z
    PMAP v1.01, source code:[161019]PMAP-noid.7z

    Additional Reading:
    Chassis models:
    Optical Block types:
    Last edited: Feb 6, 2019
    jolek, Algol, TnA and 7 others like this.


Discussion in 'PS2 Homebrew' started by sp193, Apr 9, 2016.

    1. foreveryoung1988
      Hi sp193,

      Amazing work as always!

      Thank you for this. I remember this being released on AG and you gave some further instructions to use this software in one of the comments. Unfortunately, I can't view the page at the moment so wonder if you could help me out a little.

      I'm going to try and make my own pin jig to fit inside the expansion bay.

      I understand there are 4 points of the mechacon to connect to:

      JL609 (GND), JL610 (TXD), JL611 (RXD), JL611 or JL617 (TEST/RMC)

      Is this correct? I have already located these points on a DTL-H30102 and they seem accessible through the metal shielding.

      I remember from AG that you mentioned a 3.3v arduino device. Would something like the below be okay?

      I plan to solder wire on to each pogo pin and solder the other end to this device. Then, I plan on using a RS232 to USB device for the PC connection. Would this be okay and work?

      I can't find very much on the official jig, only 1 grainy picture of it. If you have any more information on this I truly would appreciate it, although I do understand you're far more involved with the software side of things!

      Thank you again, not only for this but all of your work! :)
      sandungas likes this.
    2. sp193


      When you're done, could you please show us what it looks like? If it's easy enough to make, then it may help those technicians out there. Even if they are using the SCE tools.

      Although I don't know if the jig has to be for each chassis not. But I guess it has to be because I vaguely remember seeing a letter "D" on the image that you probably saw.

      Yes. Remember that RMC has to be connected to ground.

      That might have been someone else. Perhaps it was rama.
      I used the FT232RL, as it can support a wide range of voltages (1.8-5V)

      Yes, but remember to set it to 3.3V mode before connecting it.

      I don't know if we have seen the same picture, but the one that I saw was low-resolution too. It belonged to a series of images, which explained how serial numbers were managed within SCE and how the PS2 should be connected for testing.

      There were two images about this: one diagram showed a PS2 sitting on a platform, which I believe is a SCPH-10000/SCPH-15000/SCPH-18000. While the other was a grainy photograph that showed what the expansion-bay jig looked like and where it goes in.

      Thank you for your compliments and support!
      foreveryoung1988 likes this.
    3. Berion
      Am I understand correctly? It's replacement for Lens Changer but with more freedom?

      BTW: Assembler is down for a while. ;]
    4. foreveryoung1988
      Thank you very much for the reply! It's an honour to be talking with you.

      Absolutely! It'd be the least I could do. I have now bought all the parts and have come up with a couple of designs, so it should be ready in a week or two.

      The image I've seen has a letter "F". I have uploaded it here for you:

      Sadly, it's very difficult to pick out much detail from this picture.

      Thank you so much for that! If you wouldn't mind, I just have 2 more questions for you:

      If I bridge the 2 pins on my jig that will be connecting to JL609 and JL611/617 with a piece of wire, will that connect RMC to ground?

      I don't need a pin on the jig to connect to a 3.3v point on the PS2 motherboard?

      Very useful information again, thank you sp193! :)

      I think the image I have uploaded is the same image you refer to, as it came with another PDF regarding the Serial Label Operating Standard (and for some reason, a manual for a DTL-T10000!).

      Once again, thank you very much for your help and your fast reply! I really appreciate it :)
    5. foreveryoung1988
      Hi! :)

      Yes, it offers much more freedom and features than lenschanger. I have used lenschanger to copy the EEPROM from good consoles and restore them to bad consoles, with varying degrees of success. I believe this program can offer far greater help in this respect.

      Yes, I hope Assembler returns soon! See you there when it does! :)
      Berion likes this.
    6. nCadeRegal
      So im very noobish when it comes to anything ps2 related. I recently just got a net adapter and hooked it all up, havent had time to do anything else though.

      So am i to understand that with this tool your aim is to correct the disc read error from a non invasive standpoint?, this does the manual adjustments but from software side?

      I understand the eeprom bit, just trying to break down what exactly you are doing with this tool in laymems terms. As always very interesting work here @sp193, many thanks for your many contributions to the scene, keep up the awesome work.
    7. foreveryoung1988
      Hi! :)

      Yes, that is correct. I plan to use this software in conjunction with a homemade pin jig to avoid soldering and opening the console.

      This all started when I obtained a batch of PS2 consoles. There are many 50000 series units that work perfectly, however almost all of the 30000 series had the same problem. They would click for a while and then stop trying to read the disc. They would then begin reading the disc again up to a minute later, at which point they would boot and play perfectly.

      After some usual steps of cleaning the laser thoroughly and adjusting the potentiometers, nothing had changed. I tried new lasers and still the problem remained.

      I then used lenschanger to change the EEPROM settings for a KHS-400C laser, despite a KHS-400B being inside. This made the problem go away in a lot of consoles, although some still take a little longer to boot (perhaps 10 seconds instead of 60, so still a great improvement).

      That is why I want to adjust the consoles with this program. I think it will give far greater control over the settings that are being applied.

      I am very interested in hardware preservation/repair, and if I can do this without removing warranty stickers then it's all the better :)
    8. sp193
      It's more than that. I've explained what it really is, below.

      Yeah, we're waiting for it to be mended. :|

      Ah okay, then it was a 'F'.

      Sorry, but I don't really remember which pin is what. But yes, you can bridge RMC to the GND pin and that would be considered connecting it to ground.

      Your device needs power, but it doesn't strictly need to come from the PS2. When I did mine, I needed to use the GND pad though, otherwise there was noise.

      Not exactly, but close. The disc read error typically happens when your optical block is no longer serviceable. There may be a few reasons for that, like if it is dirty... but let's talk about actual wear and tear here.

      When your optical block is worn, it is supposed to get replaced. But when you replace it, you're supposed to calibrate the console to have as little jitter as possible while reading with the new optical block. Rightfully, the SCE technicians also used measurement equipment (i.e. jitter meter) with this tool, but this tool can also (roughly) give readings on the jitter levels too (better than nothing, although not the proper way).

      So that being said, if you just swapped the optical block with another one, you are assuming that the existing values will fit the new block. It seems to usually work, but sometimes it does not.

      Throughout the lifespan of the PS2, there were also various optical blocks and lenses used. Each model typically required different calibration values. Most famously, there is the SANYO SF-HD7, which was first supported by the F-chassis (GH-015).

      However, SCE already started changing the lense with the KHS-400B. The earlier models had a T487, but the newer models seem to come with a T609K. It's perhaps because of this reason that some early console models do not work well with newer (i.e. KHS-400C) optical blocks.

      Lastly, it also updates the EEPROM, with values from the March 2003 version of the SCE service tool. The updates are known to solve some problems on some models, like the weak CD/DVD tray mechanism of the earlier consoles (ejection velocity is increased).

      Lenschanger is meant to allow you to switch the optical block, but from the normal PS2 side... however, it definitely doesn't give the same functionality. There are no known commands to adjust the MECHACON from the PS2 side, so lenschanger is actually just reading and writing to the EEPROM, with data from other consoles. Not only may the data not be a perfect fit, but there is no calibration function. However, this is the best as you can get, with such a convenient tool.

      Yeah. Or at least it can be used to give you feedback on the adjustments that you make because it provides the facility for making adjustments.

      Thank you for your support.

      So as you can see here, sometimes, the values from lenschanger don't fit too well.

      That would be great, but you may be dealing with wear and tear here. You can use this tool to adjust the gain and the parallex, but the optical block is still aging.

      rama told me that he got some of his old optical blocks working fine, after he cleaned them. So if you have the means to, you could try that. Those optical blocks originally couldn't be calibrated, even with the SCE service tool.

      Oh yeah. According to l_oliveira, the "diagnosis" option is supposed to be able to adjust the gain, although the values don't seem to get saved. On the SCPH-30001 (B-chassis), the AUTO TILT motor is also adjusted (adjusts radial skew). No other model had the AUTO TILT motor.
      foreveryoung1988, kozarovv and Berion like this.
    9. Berion
      Thanks for clarification. Well, then it's another hidden gem to the scene collection.
      So! Maybe some GUI? :D
      kozarovv likes this.
    10. foreveryoung1988
      Thank you so much for all your help today sp193, it's really appreciated.

      I've found a 3.3v test point which is also accessible through the expansion bay holes, thanks to l_oliveira's excellent page regarding a homemade PS2 serial cable, so I've added an extra pin to my design.

      I've ordered the parts I need to make the jig and they'll be here tomorrow. I'll report back to let you know how it went!

      The consoles I'm dealing with at the moment are DTL-H30002 and DTL-H30102, which both seem to have the AUTO TILT motor. I believe the mechacon settings are messed up somehow, as cleaning/changing the lens did nothing. lenschanger made all the difference, but isn't perfect.

      I believe your awesome PMAP will get them running perfectly, or as close to it as possible.

      I'm not sure if it's your sort of thing, but I have EEPROM backups of most TEST consoles if you're ever interested in having a look. I found some funny things, such as flashing a DTL-H50002 EEPROM to a DTL-H30102 console will result in the console showing the initial setup screen (that I'd never seen before!) every single time it starts up!

      Anyway, I'll keep you updated as promised but for now, thank you again! :)
    11. krHACKen
      Only the 30002 has the auto TILT motor I believe. The 30102 is D-chassis if my memory serves me right. I never seen a C-chassis 30102...

      Since the DRAGON MECHACON EEPROM does not have the same layout, the MECHACON finds that the checksums of the NVRAM data are "broken", and sticks to the default settings. OSDSYS should report a fixed console model too, "Unknown" or some older SCPH/DTL-H model number.
      kozarovv likes this.
    12. foreveryoung1988
      Oops, sorry! You're quite right. I just assumed so as the DTL-H30102 consoles are having the same problems as the DTL-H30002 consoles (i.e. taking a minute to boot some discs, before going on to play them perfectly!).

      At least now I know it's not the AUTO TILT setting that is causing the issue!

      Thank you for the information! It's really awesome to find people who know so much about the inner workings of a PS2 :)
    13. psydefx
      i have a ps2 v9 that does not save settings. i replaced the battery (which i kinda knew it would not fix it) and same problem. the eeprom is corrupted right? can i use this to flash another eeprom and it should fix it no?
    14. sp193
      I haven't seen a C-chassis before. Have you?

      There were probably a few DTL-H300xx DEX models that were based on the early SCPH-30000 series, but all of them that I have seen are B-chassis.

      But saving the settings should already cause new values to be written...
      Did you verify that your battery is good and the battery is having a good connection to the mainboard?

      Unless you must really flash the EEPROM with somebody else's EEPROM, please try not to do that because the calibration is different. :|
      On older consoles, changing the EEPROM content will also change the IDs. It's something which should not be changed.

      Also, this tool cannot properly back up and restore EEPROM dumps to the Dragon MECHACON because these devices do not allow all regions to be written to and I don't know which regions are allowable. So it will give errors.PS2 serial cable, so I've added an extra pin to my design.

      Other than there being various models of optical blocks, the calibration isn't quite a one-size-fits-all thing.

      Thanks, but I am actually looking for PS2Ident dumps (+ mainboard details) for consoles that aren't already registered in the PS2Ident database. The problem with that project is that the mainboard model number is required, otherwise the data can't quite help the PS2Ident project.

      All consoles starting from the SCPH-18000 have the initial boot screen. There is a bit that determines whether the console has made its first out-of-box boot or not.

      The reason to why it happens, is as what kHn wrote; the layout of the EEPROM for a Dragon MECHACON is different from the older models.
      Last edited: Apr 12, 2017
      foreveryoung1988 likes this.
    15. foreveryoung1988
      So far, I've managed to put the PS2 in TEST mode with my jig :-D

      I am now going to try and hook it up to my 3.3v device and use your program.

      Once I have it all working, I'll take photos and share as promised.

      Will report back later!


      No dice for today...! I can easily get the PS2 in TEST mode with my pin jig, the TX, RX and power lights are lit up on my device but the PS2 is not responding. I'm beginning to suspect my UART device ( is the culprit. Tomorrow, I will solder wires manually to the test points to see if that works, and if not it's time to buy a different device!
      Last edited: Apr 13, 2017
    16. psydefx
      ill need to take apart ps2 and test battery holder. i did try two different batterys, which i tested them with a multimeter and were good
      foreveryoung1988 likes this.
    17. sp193

      Did you try switching around the Tx and Rx connections? I needed to do that, in order for things to work.
    18. foreveryoung1988
      Thank you! :)

      Thank you for the suggestion, I didn't think to try that. Unfortunately, it didn't make any difference. I also soldered wires directly on to the test points, which didn't work either. I think my device is to blame, so I'm going to buy a different one for delivery on Sunday. I'll report back then, or sooner if anything changes.
    19. sp193
      These points are also mentioned in the README file.
      The information on the object lens and optical block types were derived from a memo in the last SCE service tool. If you know that the information is not very correct (due to my paraphrasing, for example) or there is a better way to explain things, please let me know.

      About Optical Block (OP) types:
      There are two types of optical blocks: SONY and SANYO.
      The SONY OP has SONY branding on it, while the SANYO OP has no branding.
      Only consoles starting from the F-chassis can support the SANYO OP.

      If the OP block is changed, the console must be reconfigured to support the new OP block.

      About Object Lens types:
      There are two types of lenses for the SONY OP: T487 and T609K (newer lens).
      The T609K has a light yellow object lens protector (a ring around the object lens), while the T487 has a white protector.

      For the D-chassis, the first lots of the KHS-400B with the T609K lens had a white object lens protector,
      with a violet marking at the adjustment screw on the side of the base of the optical block.
      Some lenses may have black, blue or green markings, but that does not mean that it is a new lens type.

      There is no support for a SANYO OP with a T609K lens, so its probably safe to assume that such a thing does not exist.

      If the lens/OP block is swapped, the console must be reconfigured to support the new lens.

      This probably means that all consoles (including the SCPH-10000) can support up to the KHS-400C, as there is an option for the T609K for all of them.
      As there isnt an option for the T487 for newer models, the newer models probably cant support old optical blocks with the T487.

Share This Page