PIC12F683 MM3 port?

General information to do with the PlayStation 1 Hardware. Including modchips, pinouts, rare or obscure development equipment, etc.
Post Reply
User avatar
Punch
Interested PSXDEV User
Interested PSXDEV User
Posts: 8
Joined: Aug 25, 2019

PIC12F683 MM3 port?

Post by Punch » August 23rd, 2020, 10:25 am

I recently tried to follow MrMario's video tutorial on how to write MM3 to a 12c508a but I'm pretty disappointed considering the PIC burner he recommended (K150) failed to correctly set the fuses on all spares I had. I checked it both with the K150 itself and with my Pickit3 (which sadly doesn't support programming OTP parts but since the 12f508 seems compatible I can read stuff out of it).

The other MCUs I saw online were not easy to get, but I came across this:

https://github.com/Gadorach/PSX-MultiMode3-PIC12F683

Anyone has any experience with it? I just bought some 12f683s and I'll report back (its nice to actually be able to rewrite them if they go bad!). Hopefully this POS K150 will actually work properly with it considering it's a newer part, because the alternative I have access to is to put the chip into a breadboard then put in jumper wires from legs to Pickit3 which is quite annoying after a while.

Also, MM3 isn't really open source, is it? Never found the "proper" source code for it, only hex dumps.

leafy
Active PSXDEV User
Active PSXDEV User
Posts: 53
Joined: Aug 29, 2020

Post by leafy » September 9th, 2020, 6:41 am

Hmm, I would be inclined to just use PsNee burned to a ATTiny25. It is open source, and still active. Good stealth also, from what I understand.

https://github.com/kalymos/PsNee

I don't know MrMario's video tutorial... link?

You could use the PIC12F508 instead. With both of those PIC chips, before use, read chip, write down oscillator calibration value (last 4 hex bytes read from chip). For PIC12C508, open hex file, then edit this file with the correct last 4 bytes for oscillator calibration, then burn the chip. For PIC12F508 first erase the chip, then load and edit hex file, then burn. Should work with the PICKit3, I would think.

For PIC12C508 you can also use a good JDM programmer (you can build this also), with IC-PROG, follow this guide:

http://feng3.nobody.jp/en/howto12f509.html

I'm able to use that trick burn my PIC12F508 chips that I compiled some example blink LED from source, etc. I also used it to burn a PIC12C508 with MM3 and it seems OK, I will install it soon into a 5501 and let you know.

I used this JDM programmer, with timeout of 4ms in IC-PROG - https://www.olimex.com/Products/PIC/Pro ... s/PIC-PG2/

No, MM3 is closed source, but the 4-wire original source is around. It was ported to the PIC12F629, but that PIC has some issues with losing the calibration under certain circumstances.

leafy
Active PSXDEV User
Active PSXDEV User
Posts: 53
Joined: Aug 29, 2020

Post by leafy » September 9th, 2020, 5:48 pm

Punch wrote: August 23rd, 2020, 10:25 am Also, MM3 isn't really open source, is it? Never found the "proper" source code for it, only hex dumps.
To answer your question better, not exactly. I don't know the origin of MM3, but there have been a couple of attempts to re-create what it does. The source you linked to is just someone calling PsNee Multimode 3. They are conflating the two. The code you linked to is a port of version 6 of PsNee, but PsNee is up to version 7.

A 4-wire mod was ported to the PIC12F629, then someone took it and tried to add stealth, and called it the "open source multimode." So, the same idea as what you linked to, but yet another project.

I have sources and BIN files for these, and they are out there I'm sure. But again, the best you can get is PsNee on ATtiny. I have not tried it yet, but I would use an inexpensive usb flasher. Of course an Arduino can stand in for prototyping.

This old FAQ has some history: https://web.archive.org/web/20120606004 ... g/faq.html

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests