Forcing NTSC mode in BIOS on SCPH-1002 PU-8 PAL PS1 (with the older 160-pin GPU)

Members research, findings and information that can be useful towards the PlayStation 1.
Post Reply
retroleah
Curious PSXDEV User
Curious PSXDEV User
Posts: 16
Joined: Feb 07, 2020

Forcing NTSC mode in BIOS on SCPH-1002 PU-8 PAL PS1 (with the older 160-pin GPU)

Post by retroleah » March 17th, 2020, 10:06 am

Hi,

I want to do this but can't seem to find the info anywhere online, not even pinouts. My aim is to do what the OneChip does on PAL PS1 slim, whereby it forces the BIOS into NTSC mode.

The reason I wish to do this is because I want to hardwire NTSC mode on the CXA1645M video encoder by lifting pin 7 and pulling it to a high logic state. The PS1 (160-pin GPU) already, to my knowledge, sends a proper 3.58mhz subcarrier signal to pin 6 of the cxa1645m...

I've replaced the 53.2mhz oscillator with a 53.69mhz one. Unlike 208-pin GPU there's only 1 clock input and the GPU simply divides that one signal by 12 for PAL subcarrier and 15 for NTSC subcarrier.

The reason I'm doing this is because I'm converting this essentially into an NTSC PU-8 board. Now, I *can* just leave the BIOS alone but then with my mod it's going to be running in NTSC mode on the video encoder BUT with PAL 4.43MHz signal... which would also not be exactlry correct due to the fact that I've replaced the oscillator. So I would get the infamous black and white "NTSC50" (with wrong subcarrier so it'd be black and white with red lines down the screen).

Any advice?

I have some onechips here... maybe I could just wire that up to the BIOS but I'm not sure.

I *can* simply replace the BIOS chip. I'm quite handy with chip replacement.




To be clear, I'm not asking about forcing PAL games into NTSC mode. I'm talking only about the BIOS here.

EDIT:

It just occured to me that the CPU pinout is more or less identical on SCPH-100x and PS1 slim.

I did some tracing on my multi-meter and those pins on the BIOS chip (on PS1 slim) directly lead to pins on the CPU, so I guess I just need to find where those CPU pins are connected to on my SCPH-1002 and plug a onechip (NTSC boot fix only) into that. I'll try experimenting with this and report back with results.

My only question to myself is whether this will work. Only one way to find out!

EDIT 2:

UPDATE: I figured out the following: on PS1 slim PAL, onechip pin 3 alternatively connects to CPU pin 109. onechip pin 4 alternatively connects to CPU pin 147.

Based on this, I figured out that PU-8 (160-pin GPU version) with 40-pin BIOS chip:
CPU pin 109 connects to pin 17 of BIOS chip
CPU pin 147 connects to pin 1 of BIOS chip

So: onechip pin 3 goes to pin 17 of BIOS
onechip pin 4 goes to pin 19 of BIOS

HOWEVER, I wired it up (with the PIC obviously connected to power and ground too) but... PS1 booted up but still in PAL mode. I knew it wouldn't work but thought I'd try it anyway.

So yeah.... I *could* maybe study the scph 1xxx bios in an emulator (debugger) and find a solution but... currently I'm stumped.

Any ideas?





OR!

Anyone got an american or japanese BIOS chip to sell me?

retroleah
Curious PSXDEV User
Curious PSXDEV User
Posts: 16
Joined: Feb 07, 2020

Post by retroleah » March 17th, 2020, 1:04 pm

starting new post due to different subtopic...

The reason I'm wanting to do this is because with the oscillator changed, PAL subcarrier will no longer be correct (but NTSC one will).

I guess I *could* lift cxa1645m's pin 6 and 7, pull pin 7 high and hook up either:
* pin 6 via 3.58mhz oscillator. aka NTSC50 mod
* pin 6 via 4.43mhz oscillator. aka PAL60 mod (with pin 7 held low)

Though I'd really rather not!

This is just subcarrier fixes and I already know these. I'm talking about actual mode changes. I doubt I'll figure this out myself but if anyone has any guidance I'd appreciate the advice.

retroleah
Curious PSXDEV User
Curious PSXDEV User
Posts: 16
Joined: Feb 07, 2020

Post by retroleah » March 17th, 2020, 1:52 pm

NoCash specs say this (see: https://problemkaputt.de/psx-spx.htm) - I only connected pins 3 and 4. I'm curious:
does the onechip actually analyse instructions going through or... is it just a timer (so are pins 2 and 7 clock signals? I'm gonna find out!)


NTSC-Boot BIOS Patch
Typically connects to two or three BIOS address/data lines, apparently watching that signals, and dragging a data line LOW at certain time, to skip software based region checks (eg. allowing to play NTSC games on PAL consoles).
Aside from the modchip connection, that additionally requires to adjust the video signal (in 60Hz NTSC mode, the PSX defaults to generate a NTSC video signal) (whilst most PAL screens can handle 60Hz refresh, they can't handle NTSC colors) (on PSone boards, this can be fixed simply by grounding the /PAL pin; IC502.Pin13) (on older PSX boards it seems to be required to install an external color clock generator).

MODCHIP Connection Example
Connection for 8pin "12C508" mod chip from fatcat.co.nz for a PAL PSone with PM-41 board (ie. with 208pin SPU CXD2938Q, and 52pin IC304 "C 3060, SC430943PB"):

1 3.5V (supply)
2 IC304.Pin44 (unknown?) (XLAT)
3 BIOS.Pin15 (D2)
4 BIOS.Pin31 (A18)
5 SPU.Pin5 ("sync")
6 SPU.Pin42 ("data")
7 IC304.Pin19 (SHELL_OPEN)
8 GND (supply)

The chip can be used in a Basic connection (with only pin1,5,6,8 connected), or Stealth and NTSC-Boot connection (additionally pin2,3,4,7 connected). Some other modchips (such without internal oscillator) are additionally connected to a 4MHz or 4.3MHz signal on the mainboard. Some early modchips also connected to a bunch of additional pins that were reportedly for power-on timings (whilst newer chips use hardcoded power-on delays).





EDIT:

IC309 - SONY CXD2510Q - CDROM Signal Processor (used on PU-8, PU-16 boards)

1-FOK 11-PDO 21-GNDa 31-WDCK 41-DA09-XPLCK 51-APTL 61-EMPH 71-DATA
2-FSW 12-GND 22-VLTV 32-LRCK 42-DA08-GFS 52-GND 62-WFCK 72-XLAT
3-MON 13-TEST0 23-VDDa 33-VDD 5V 43-DA07-RFCK 53-XTAI 63-SCOR 73-VDD
4-MDP 14-NC 24-RF 34-DA16-SDTA48 44-DA06-C2PO 54-XTAO 64-SBSO 74-CLOK
5-MDS 15-NC 25-BIAS 35-DA15-SCLK48 45-DA05-XRAOF 55-XTSL 65-EXCK 75-SEIN
6-LOCK 16-VPCO 26-ASYI 36-DA14-SDTA64 46-DA04-MNT3 56-FSTT 66-SQSO 76-CNIN
7-NC 17-VCKI 27-ASYO 37-DA13-SCLK64 47-DA03-MNT2 57-FSOF 67-SQCK 77-DATO
8-VCOO 18-FILO 28-ASYE 38-DA12-LRCK64 48-DA02-MNT1 58-C16M 68-MUTE 78-XLTO
9-VCOI 19-FILI 29-NC 39-DA11-GTOP 49-DA01-MNT0 59-MD2 69-SENS 79-CLKO
10-TEST 20-PCO 30-PSSL 40-DA10-XUGF 50-APTR 60-DOUT 70-XRST 80-MIRR

Datasheet exists. Later boards have CXA1782BR+CXD2510Q integrated in CXD2545Q, and even later boards have it integrated in the SPU.


^^^^ this is on the 80 pin drive controller. XLAT is pin 72. gonna try it!


...

well, itried it. basically my dumbass self has concluded that a simple hw mod won't cut it. I'm gonna have to do some software hacking. I'm guessing that the easiest way to do it would be to create a modified version of the onechip firmware, but tailored to PU-7/8 with the 160-pin GPU.

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

Post by rama3 » March 18th, 2020, 12:16 pm

The modchip only works on late revision BIOS chips. It doesn't have any logic to it, other than dragging a single bit low at a certain time during startup.
This bit determines the region (between NTSC-U and PAL), and some later code sets the video mode accordingly.

I don't know which BIOS revision started the single bit mod capability. It might be one of those used in SCPH-7002 (or 7001) or later.
Then again, that late revision shell code may not work well with early hardware. I haven't tested it.

Is the BIOS being in black and white a problem though? NTSC games will work fine in NTSC color.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests