PSNee further development

General information to do with the PlayStation 1 Hardware. Including modchips, pinouts, rare or obscure development equipment, etc.
postal2201
Curious PSXDEV User
Curious PSXDEV User
Posts: 19
Joined: Jan 26, 2018

Post by postal2201 » April 15th, 2019, 4:16 am

rama3 , I meant to replace the built-in functions with direct control of ports, and macros. Do not give up on Arduino. On the contrary, the use of Attiny limits the project.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » April 15th, 2019, 5:52 am

Nextria:
Search this forum or Google for PSX color oscillator mod. This is what your board needs.
But it is a difficult mod and the result looks pretty bad. I recommend you use a later revision PSX.

postal2201:
The code uses direct port control where speed is required, and can use Arduino functions when not.
Arduino functions are inherently more safe, so using them for non-critical tasks is good.

pewu
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: May 31, 2019

Post by pewu » June 7th, 2019, 7:53 am

I have a PU-20 NTSC-J frankenstein console with non-NTSC-J bios soldered in place of original, for the purpose of installing this modchip. Unfortunately, PSone PAL was the only chip I could salvage right now. I used Pro Mini clone (Atmega328P) Physical installation went smoothly and PAL games booted just fine, meaning injection worked straight out of the box.

The real ordeal began, when I tried to enable NTSC_fix, so that PSone bios can be patched and boot all region games. At one point it turned out, that when I apply external 3.3V from FTDI board or Raspberry to RX pin on Arduino, BIOS patching code works fine (weird)...

I tried many combination of fuses, to no avail, until I started thinking more logically, and just increased the first delay in NTSC_fix routine to 500 ms. With such setup I tested booting several times, with originals and with backups of those - modchip works flawlessly. My final fuse setup is (E:06, H:DF, L:C2).

Tomorrow I'm going to look for 3.5V source that is drained after reset button press (after all, PSones never had a reset btn, so that was non-issue), but otherwise I finally managed to mod my frankenstein.

Maybe this will save somebody some headache next time.

Nextria
Curious PSXDEV User
Curious PSXDEV User
Posts: 17
Joined: Mar 10, 2019

Post by Nextria » August 3rd, 2019, 4:40 pm

Hello,

I just wanted to say thanks again for this amazing code, I have done many playstation with is,
and it all works perfect!

I also wanted to share with you my new setup for flashing the Nano chips. this make programming the chips
so much easier and take only seconds !
IMG_2874.jpeg
You do not have the required permissions to view the files attached to this post.

damiank94
Curious PSXDEV User
Curious PSXDEV User
Posts: 22
Joined: Feb 09, 2019

Post by damiank94 » August 11th, 2019, 5:10 am

Hello,

Where can I buy flashed ATtiny for PAL PSone? I know that it doesn't support BIOS patching, but I have spare ONEchip for that. Also I want it as small as possible

wanderer
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Apr 01, 2018

Post by wanderer » September 2nd, 2019, 12:29 pm

Hello,

I would like to know if the APPLY_PSONE_PAL_BIOS_PATCH define of the PsNee source code would work to patch the bios of a scph-7000 version. Apparently the regional check that were introduced in the PAL psones came from the japanese versions isn't it ? I know that you can get around the regional checks of japanese versions with a bios swap but that would make my scph-7000 not a japanese console anymore in a way. And I don't want to use importplayer or a region patcher either.
So please tell me : would the APPLY_PSONE_PAL_BIOS_PATCH define of the PsNee source code would work to patch the bios of a scph-7000 version ?

superg
Active PSXDEV User
Active PSXDEV User
Posts: 48
Joined: Sep 22, 2018

Post by superg » September 3rd, 2019, 1:22 am

wanderer wrote: September 2nd, 2019, 12:29 pm Hello,

I would like to know if the APPLY_PSONE_PAL_BIOS_PATCH define of the PsNee source code would work to patch the bios of a scph-7000 version. Apparently the regional check that were introduced in the PAL psones came from the japanese versions isn't it ? I know that you can get around the regional checks of japanese versions with a bios swap but that would make my scph-7000 not a japanese console anymore in a way. And I don't want to use importplayer or a region patcher either.
So please tell me : would the APPLY_PSONE_PAL_BIOS_PATCH define of the PsNee source code would work to patch the bios of a scph-7000 version ?
I don't think this will work for you. As far as I know, booting games of any region on Japanese PlayStation requires disc boot area to be from a Japanese region.
Please correct me somebody if I am wrong.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » September 3rd, 2019, 6:58 am

It won't work.
Sadly, the NTSC-J bios is very different from the other regions.
It's likely that there isn't a routine in it that can be so easily fooled as the PAL / NTSC-U check.

wanderer
Interested PSXDEV User
Interested PSXDEV User
Posts: 7
Joined: Apr 01, 2018

Post by wanderer » September 4th, 2019, 1:43 am

rama3 wrote: September 3rd, 2019, 6:58 am It won't work.
Sadly, the NTSC-J bios is very different from the other regions.
It's likely that there isn't a routine in it that can be so easily fooled as the PAL / NTSC-U check.
Thanks for this info rama3. I'll go with a bios swap then. I'll swap the bios of my scph-7000 with the bios of a scph-7501.

CleveTripp
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Sep 28, 2019

Post by CleveTripp » September 28th, 2019, 4:11 am

Hi..some extra libraries might be required, depending on the board / chip used. This code defaults to multi-region, meaning it will unlock PAL, NTSC-U and NTSC-J machines. You can optimize boot times for your console further. See "// inject symbols now" in the main loop.

CleveTripp
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Sep 28, 2019

Post by CleveTripp » September 28th, 2019, 4:32 am

Hi....Some extra libraries might be required, depending on the board / chip used. This code defaults to multi-region, meaning it will unlock PAL, NTSC-U and NTSC-J machines. You can optimize boot times for your console further. See "// inject symbols now" in the main loop.

printed circuit board
Last edited by CleveTripp on November 9th, 2019, 5:02 am, edited 1 time in total.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » September 29th, 2019, 3:15 am

Oh yeah, in case you wonder why it says it "will unlock NTSC-J".
PsNee can and does unlock the CD controller of NTSC-J consoles, so backups are being recognized.
The problem is with the extra BIOS protection only. That prevents booting non Japan region disks from starting through the BIOS shell.
Disks can still be started using an alternative bootloader, such as an NTSC-J boot disk or an Action Replay cart.

clevis pin
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Oct 09, 2019

Post by clevis pin » October 9th, 2019, 1:40 pm

I'm having a little bit of trouble with my PSNee attempt on an NTSC-J PlayStation (SCPH-5500; PU-18 board). It's kind of a bummer that the NTSC-J consoles can't load NTSC-U games even with the aid of PsNee as it sits today, but I'd settle for being able to get working NTSC-J backups.

I used this guide to wire it up, and I've gone back and double checked my wiring a few times to make sure it matches: https://quade.co/ps1-modchip-guide/psnee/pu-18/

I've tried it with two different Arduino-alikes so far, a Digispark knockoff and a Pro Mini knockoff.

With the "Digispark" wired into the VIN pin, it would block any load of anything - legitimate games would get kicked to the audio CD player interface after a short period. If I wired the ~3.45V from the motherboard into the 5V pin, I could play legitimate NTSC-J games but nothing else: no copies (lock up on boot screen while the Digispark's status LED flickered forever), no NTSC-U games. The Digispark knockoffs have bit me a few other times (I should've bought the real ones!), so I went rooting through my junk bin for something that might be a little less squirrelly.

I decided to try and use the Pro Mini knockoff and flashed it with the debug logging turned on so I could try and see what was going on over the serial monitor. The good news is that the Pro Mini is definitely starting up (although its serial is at 250,000 baud instead of the requested 500,000 baud - not familiar enough with the Arduino stdlib to determine if that indicates other problems) and at least trying to inject something.

The Pro Mini also kicks all of my retail discs (J or U) directly to the audio CD player interface right at the end of those logs, and also throws a "this is not a legitimate disc" error for the burned game I made this afternoon to test (didn't log that). I think I need to tinker with the code, but I'm not sure where to start.
You do not have the required permissions to view the files attached to this post.
Last edited by clevis pin on October 10th, 2019, 12:31 am, edited 1 time in total.

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » October 9th, 2019, 8:00 pm

The logs from both chips look fine, so either the DATA connection isn't correct, or the injection messes up somehow.
Try changing the 3 lines to say inject_SCEX('i') here:
https://github.com/ramapcsx2/PsNee/blob ... e.ino#L409

clevis pin
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: Oct 09, 2019

Post by clevis pin » October 10th, 2019, 4:09 am

Thank you for the quick reply; I know debugging at a distance is super annoying.

I've modified the code and didn't see any difference. Just to be sure, I also changed the line inside that function just to read:

Code: Select all

if (readBit(bit_counter, SCEIData) == 0)
I think injection is working, since I also tried changing the function to use SCEAData instead; the JP game and the US game both end up in the audio CD player, which is what an unmodified JP PS1 does if you put in an American game. The burned copy still raises an error message, but I'm beginning to suspect it is a bad burn anyway.

As far as I can tell, the DATA connection is correct (assuming the picture in the repo is also correct). I went back and redid the DATA and GATE wiring just to be sure. In a guide for a different modchip, I saw that the GATE pin was coming from a different place on the motherboard so I tried that position as well - no change.

Probably a red herring, but if I set the delay_between_bits to something really low (2000 vs. the default 4000) I can boot a legitimate Japanese game but it will kick me to the BIOS (not the CD-player like an unmodified JP PS1 would) on an NTSC-U game. This is almost identical behaviour to that I saw on the attiny Digispark-clone board - maybe it was working all along, if my burned copy is defective.

Tweaking the delay_between_injections doesn't seem to affect anything (although I just tried 72, 90, and 100).

Oflahsp
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: Nov 01, 2019

Post by Oflahsp » November 3rd, 2019, 11:47 am

Just installed Arduino Pro Mini on a PAL 1001 PU-8 board. This all bit new but checked wiring and seems OK from various sources. Unfortunately PS1 I have turns out to be one that works upside down. That threw me. However (tipped up) it plays PAL [E] backup discs fine. It also unlocks non [E] discs but screen seems to switch to some form of NTSC (355?) but picture B&W mess. Is this as expected or have I screwed up. I admit not sure how PAL/NTSC is implemented. By game, by hardware or TV? Combination?

Also have [E] version Crash Bandicoot that seems to want to switch to NTSC as well. Even more confused as another chipped PS1 I have plays the game fine. It also switches TV to NTSC but works. Must be [E] version as this PS1 modchip wont unlock non European games.

In summary I don't know what I'm talking about. Ugh

citrus3000psi
What is PSXDEV?
What is PSXDEV?
Posts: 1
Joined: Dec 24, 2019

Post by citrus3000psi » December 24th, 2019, 3:43 am

@rama3 what is the license status of the PSNee? It was just listed as open source in the readme.

I'm working with Christof on the PS1HDMI project and we have an ESP32 onboard. The PSNee code could be used on this micro with the added benefit of a modchip capabilities as well. So could be nice for the user. This will be a commercial product, so wanted to ask before we did anything like this. ;)

rama3
Verified
/// PSXDEV | ELITE ///
/// PSXDEV | ELITE ///
Posts: 510
Joined: Apr 16, 2017

Post by rama3 » December 28th, 2019, 12:36 am

As said in pm, the original license is a free for all. Feel free to use it and good luck! :)

bugmenot
Interested PSXDEV User
Interested PSXDEV User
Posts: 6
Joined: Oct 17, 2019

Post by bugmenot » December 30th, 2019, 1:45 am

I'va added an arduino nano (16mHz) with PSNee to my PSone (SCPH-102 PAL with PM-41 board).
It now runs PAL and NTSC games but not perfect.
APPLY_PSONE_PAL_BIOS_PATCH was enabled in the sketch.

But I've noticed PAL games now have a vertical alignment issue. Part of the image falls of the bottom of the screen and there is a black bar at the top.
NTSC games seem to run fine. The boot screen seems to be fine.

Any idea why this is the case or how to fix this?

EDIT: I verified my soldering. Everything seemed fine. Then replaced the nano with a arduino pro mini 8mhz 3.3v and got the same result.
Is it possible that it's the game or television? (I'm using the composite cable)

Dark-Show
Curious PSXDEV User
Curious PSXDEV User
Posts: 32
Joined: May 02, 2012

Post by Dark-Show » January 13th, 2020, 7:19 pm

@rama3, after reading a good portion of this thread and currently being on the PS2 side of dev. I wonder if the MM3 chip design (or similar) was incorperated into say the Modbo 4.0 (or similar) for the PS2, as it would use some of the same code for both PS1/PS2 unlocking. If it had this gate grounding issue copied over, it could be the reason a few versions of the PS2 Slim needed "Laser Fixes".

My thinking behind this was further inspired by a snippit I found googling mod chip diagrams for the V12 PSTwo.

"The disadvantage to this fix is that it can reduce the effectiveness of a worn out laser (because the laser may actually need a higher voltage as it wears out)."

If the big HW dev guys took this into account and added say a VV or VC control to the laser when it encounters tracking issues, fixing it could be good.
I have a Modbo 4.0 on order currently to help my understanding.

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 3 guests