DFO: dual frequency oscillator

Started by micro, February 01, 2015, 02:50:37 AM

Previous topic - Next topic

bmp02

I assume the described current draw issue does occur while programming. Why else would you be able to solve it by adding a resistor on the programmer's side?
Also I haven't installed the dfo yet, so it needs power from the programmer, V_Target switched on. That should be correct.

Have tested again last night on another computer (pc instead of laptop).
I found that the programmer is recognized well, but at the moment the dfo is being attached to the programmer, the computer makes the sound of something losing connection, and the COM Port disappears in Device Manager. When doing the same with V_Target switched off, the connection is stable, but obviously it can't program cause the dfo gets no power.
When plugging in programmer to my computer with dfo already attached (and V_Target on), the programmer isn't recognized at all.

This sounds very much like the losing-connection issue described before?
Have already ordered resistors just in case. Could also try to give the dfo its own 5V power source to test, don't know if I have any though.

bmp02

#41
Unfortunately the 22 Ohm resistor doesn't solve this problem. Only difference is that FTDI Error has now changed to I2C Error.

Anyone any idea? @micro still here sometimes?

EDIT:
I have managed to make it work after all!
The 22 ohm resistor was one of the solutions. The programmer before wasn't recognized by the programming software whenever it was plugged in to a dfo, with the added resistor, this worked fine.

Main problem was that I followed the Clock Pro instructions from this thread. It does say it's outdated, but since no update was posted, I followed those. But it outputs a hex made for CDCE925, instead of 931. So the hex was the problem.

I found it impossible though to try and get the program to output a hex for a 931 with both frequencies correctly being output when S0 tied to either high or low. Luckily, the Circuit-Board.de dfo thread has a large post about just this subject, which lead to a working hex, and successful program attempt.

Phew, done.
I'll add a post for the more unexperienced, like me, to this thread. So at least we'll have the correct and updated info here for everyone attempting to build his own dfo and programmer.

bmp02

#42
Ok. So if you Googled for dfo's and always end up here, you want to build one yourself, but you're relatively new to all of this,
Or, you're trying and got stuck somehow while getting it to work, here are some words from me that I hope will help you out.

First, if there's anything else you'd like to know about this topic that you can't find here, you'd better Google Translate this thread on a German forum that is much more updated than this NFG one: https://circuit-board.de/forum/index.php/Thread/18016-DFO-Dual-Frequency-Oscillator/

When buying parts and you can't find the specific one listed, also check the German thread, it mentions some other part numbers in the opening post. But I guess usually you're fine ordering anything with similar specifications.
Also order a 22 Ohm through hole resistor as well in case you don't have any. My programmer wouldn't properly work without it. At the back of the programmer board, cut the VTG trace (where that white line is), bridge with the 22 Ohm resistor.

Please note the chip on the programmer needs to be flashed with firmware and fuse bytes. To do that, I bought the Micro USB Tiny AVR ISP / USBTinyISP Programmer (this one: https://www.ebay.com/itm/Micro-USB-Tiny-AVR-ISP-5V-ATtiny44-USBTinyISP-Programmer-For-Arduino-Bootloader/222053881584). It's 1.86$ including shipping, not too bad huh.
Then download this driver (https://learn.adafruit.com/usbtinyisp/drivers) and the AVRDUDESS Gui (http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/) to flash firmware and fuse bytes.

If you want to use ClockPro to make your own HEX files, please notice the guide in the opening post of this thread is outdated and not working anymore. Instead, do this (example for MegaDrive frequencies):
* First Wizard screen, keep the 27 MHz, No of Outputs at 1, Y1 Freq 53.693175, click Generate Setup, then View Setup
* Set Crystal Load to 18pF
* At Controle Line Selection, you see S0=1, so you're now setting the frequency for when S0 is high
* Click on the colored Y2 and Y3 triangles till both have turned into ground symbols
* You need to choose a divider number (PDiv1) for the PLL1 numbers to be divided into, in order for both outputted frequencies ending up as close to the desired frequency as possible. In this case, choose 2 for PDiv1
* The desired S0=high frequency is 53.693175, so choose 2x that = 107.38635 for PLL1_0
* From the Control Line Selection drop down menu, select the other (S0=0) option
* Click those things on the right again till Y1 has the triangle, and Y2/3 the ground symbol. Choose PLL1_1(!) 2x53.203425=106.40685
* File - Save HEX Intel File - you're done

If you need more detailed instructions on using ClockPro, again, check that German thread.

Have fun :-)

iVirtualZero

How do i install the DFO in an earlier model PS1 the one with the composite ports? PU-8 SCPH-1002 model.

JamesOfMercia

Good evening all, I'm quite interested in installing a dfo into my pal Sega Saturn -,va...1? (it doesn't state va1 on the mainboard but it is written on the separate controller board.)

And I have already seen that this will require some extra cable work on the jumpers.

I'd be ok attempting this if I could see anyone else's installation but so far the internet has revealed to me nothing.

Is there an imgur gallery or anything I can use as reference?

Thanks in advance for your time.

Antonio

Hi there! Here's how I've installed my DFO in my PU-20 PS1 motherboard (SCPH-7002)...

First of all, I desoldered and discarded the shield. Then I lifted pin 1 of the PS1's built-in PLL, which outputs the PAL frequency to the GPU.

This is how it looks like now...

ps1 dfo.jpg

CLK OUT is soldered to the pad where pin 1 of the PLL used to be connected, so no need to go to the trouble of desoldering SMD components. S0 is soldered to a pad that links to pin 157 of the GPU, which outputs 3v3 if running an NTSC game and GND if running a PAL game.

I think doing it this way makes it easier, but of course to each his own.

Antonio

#46
Quote from: iVirtualZero on November 02, 2019, 08:22:42 PMHow do i install the DFO in an earlier model PS1 the one with the composite ports? PU-8 SCPH-1002 model.

Here's a picture of your board.



Close to the GPU, there is an xtal marked "53.20", which outputs 53.2 MHz. Remove it from the board using a hot air gun while being careful to not remove any of the other SMD components that are close to it. That will reveal 4 solder points. Now it's time to install the DFO: solder the 3v3 line to the upper left pad, solder the GND line to the lower right pad, solder the CLK output to the upper right pad and finally solder the S0 line to pin 7 of the Sony CXA1645 video encoder chip.

You can also follow this procedure on PU-18 boards (SCPH-550x), although it uses a different video encoder, so you should solder S0 to a via that leads to pin 157 of the GPU instead.

Damn-Deal-Done

#47
Hi.

Have you confirmed this works on the PU-8?

Would removing the resistor that connects the clock to pin 192 work instead of removing the entire clock?

Cheers

Antonio


Damn-Deal-Done

Cool, cheers. So I am not sure why people have been saying you can't use DFO with PU-8. It seems the exact install for all revisions. Will have to do some experimenting with this. Trying to make complete install guides for all revisions which I can then publish online. Just waiting on more DFO parts to get cracking.

Antonio

#50
People don't seem to be confident in replacing a true xtal with a clock synthesizer, because it has higher jitter, so doing this on a PU-8 or PU-18 will probably make video quality a bit worse without RGB (in fact these models derive the color subcarrier from the GPU clock). Later models replaced the xtal with a clock synthesizer just like the DFO, and the color subcarrier is handled differently, so there will be no drop in video quality.

provato

Hi all, totally noob here, ended up in the forums solely for the dfo mod, after seeing it on otaku's store.
Even though I understand what it does, I'm not really into the theory of how exactly it outputs ntsc and pal accurate clocks - just want to implement this mod in my psx.

I have a scph-7502 psx, pu-22 pcb. I've recently successfully installed mayumi v4 on it. Very capable with soldering and desoldering.

So here are my two very simple questions:

If I buy the otaku store's pre-populated & pre-programmed dfo (3.3volts, smd, psx version) is that all I need for it to work?
Is there an installation video or soldering points photo for my pcb? (pu-22)

Thank you

Damn-Deal-Done

Hello all.

I am having a problem trying to get DFO to work in a PU-18.

I removed the 220 resistor from X201 to pin 192 of the GPU.

Installed two different DFOs now via a 220 ohm resistor from clock out to the via connecting to pin 192 of the GPU. Tried both with the 18ohm resistor on the clock out remaining and removed.

Both DFOs cause the PlayStation to have a very slow boot sequence where the boot screen remains black and the boot sound is prolonged indefinitely.

Removing the DFO and replacing the 220 resistor restored normal operation.

I have successfully done this mod on a PU-18 before which makes this more confusing.

Does anyone have any ideas what might be wrong or have experienced something similar before?

Many thanks

Link83

#53
It sounds like the clock setting is mismatched for the consoles region. Where has the DFO S0 pad been connected to? For PU-18 I believe it should connect to pin 157 of the GPU (CXD8561BQ) or a trace/via leading from that pin if one exists. Pin 157 from the GPU is usually connected to the video encoder's NTSC/PAL selection pin, and its toggled high/low depending on the software region setting.

Also, I dont know which specific sub-revision of PU-18 you have (-11/-21, -31/-41, -52/-62, -72/-82) But perhaps double check that GPU pins 192 and 196 are connected together. The GPU has provision for separate input pins for NTSC and PAL clocks (Used in developer units) but typically there is a small trace connecting the two clock pins together. However perhaps on specific sub-revisions they are not interconnected?

Damn-Deal-Done

Hi.

I don't get update notifications from the site.

I will check if the pins are connected.

Cheers

NFG


provato

#56
Quote from: bmp02 on July 02, 2019, 10:14:29 PMPlease note the chip on the programmer needs to be flashed with firmware and fuse bytes. To do that, I bought the Micro USB Tiny AVR ISP / USBTinyISP Programmer (this one: https://www.ebay.com/itm/Micro-USB-Tiny-AVR-ISP-5V-ATtiny44-USBTinyISP-Programmer-For-Arduino-Bootloader/222053881584). It's 1.86$ including shipping, not too bad huh.
Then download this driver (https://learn.adafruit.com/usbtinyisp/drivers) and the AVRDUDESS Gui (http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/) to flash firmware and fuse bytes.

Hi! I bought the usbtinyisp, the cables and connectors for it, and downloaded the mentioned drivers and GUI. Flashing the firmware is self-explanatory - I just select the fw file in the GUI.
But what does "fuse bytes" mean? What values should I select at "fuse lock bytes" field?
Thanks

EDIT: Nevermind, I found the .txt inside the firmware zip file that has the fuse bits info and then saw what the fuse(s) that must be set mean in this site: https://www.engbedded.com/fusecalc/
(High = 0xDF --> SPIEN Enable Serial programming and Data Downloading / Low = 0xFF --> Nothing...)

SilentEyes

Just wondering, how would you install a DFO in a pu-7 board?

provato

#58
Quote from: SilentEyes on September 30, 2020, 03:39:28 PMJust wondering, how would you install a DFO in a pu-7 board?

Have you tried measuring with your DMM where I point with the red arrow in the picture? If you get 3.3V with NTSC discs and 0V with PAL discs, then there is your "S0" connection to the DFO!
(This is pin 7 of the CXA1645M encoder chip, which is the "NPIN" for switching between PAL & NTSC modes)

Of course DFO's "CLK" must be connected to GPU pin 142 through the original resistor, and the X201 crystal must be removed.

Unfortunately I don't have a SCPH-1002 with PU-7 to test this myself...

If this "NPIN" doesn't change between 3.3 and 0 volts with NTSC and PAL video signals respectively, then this means that the GPU clock (53.69 for NTSC or 53.20 for PAL) is region hardwired inside PU-7 PS1s... The only solution in this case is to add a switch to the S0 input of the DFO and manually switch it yourself every time you want NTSC 60Hz or PAL 50Hz clocks to come out of the DFO (just like the 50/60 switch on sega megadrives)


SilentEyes

Hi provato,

I know it has been forever since I posted in this forum lmao.

First and foremost, How would I be able to wire the switch to my oscillator? I was thinking more like I take NTSC/3.3v from one pin of the GPU and then PAL/GND from another pin of the GPU and somehow wire them to the outsides of the switch and then the middle to the oscillator? My PU-7 does seem to only have 1 input. If you're saying that I need to wire the input of S0 the switch, I wouldn't really understand how to do that. I dunno, you're better than me at this. It seems that the newer models are easier cause they have two inputs that you can link to a second oscillator. In this case, I was thinking of wiring a 53.20mhz oscillator from a PAL ps1 that's broken, but I don't know where S0 would be on a hardwired pu-7. I know this is a lot lmao, I have lots of questions. Please let me know.

Thanks!

SilentEyes

Well, too late now. I broke my pu-7 :(

provato

Quote from: SilentEyes on March 03, 2021, 08:02:54 AMHi provato,

I know it has been forever since I posted in this forum lmao.

First and foremost, How would I be able to wire the switch to my oscillator? I was thinking more like I take NTSC/3.3v from one pin of the GPU and then PAL/GND from another pin of the GPU and somehow wire them to the outsides of the switch and then the middle to the oscillator? My PU-7 does seem to only have 1 input. If you're saying that I need to wire the input of S0 the switch, I wouldn't really understand how to do that. I dunno, you're better than me at this. It seems that the newer models are easier cause they have two inputs that you can link to a second oscillator. In this case, I was thinking of wiring a 53.20mhz oscillator from a PAL ps1 that's broken, but I don't know where S0 would be on a hardwired pu-7. I know this is a lot lmao, I have lots of questions. Please let me know.

Thanks!

Yes, if you go with the "switch" theory, you need a 2-position 3-prong switch. Then you connect the wires as described below:

Middle prong —> S0 input of the dfo
Left prong -> 3,3v from wherever you want
Right prong -> GND from wherever you want

...this way switch on the left position means 60hz and on the right 50hz.

BUT have you tried measuring the voltages with both region discs where I point with the red arrow? You may not need a switch...

Quote from: SilentEyes on March 03, 2021, 02:36:02 PMWell, too late now. I broke my pu-7 :(

Maybe it's fixable ;) you got pm

Monkeyball

#62
I've had a DFO installed on my PAL 5552 model PS1 and I am having a strange issue with the console.
My TV normally switches between NTSC / PAL modes automatically but on this occasion it is having issues syncing to the PS1 signal

The strange bit is the console is a PAL model with DFO but PAL games are not syncing correctly and if the TV does manage to lock onto the signal the colours come out wrong NTSC games are working normally though.

I had the DFO installed so that I could have the games work with the correct colours in PAL / NTSC using composite cable.

What do you think is going on?
It works on a more modern TV KV-32FQ70U but not my primary retro tv SONY KV-A2942U

The TV in the video is in service mode and it gives an example of the problem
https://www.dropbox.com/s/nq7zpme04u4qn9e/VIDEO0286.mp4?dl=0

In the second video you can see it a bit clearer without the black rolling lines picked up by the phone camera
https://www.dropbox.com/s/mj74auwwcfi40i8/VIDEO0287.mp4?dl=0

I'm thinking maybe its an issue with the installation or the DFO itself as I understand it was made with modern TV's in mind?
Maybe an older CRT needs different clock frequency timing?

Btw what was the result of installing a 50/60hz switch on the 1002 model? I'm guessing that installing a switch will allow the TV to sync properly

provato

Quote from: Monkeyball on March 18, 2021, 06:03:52 PMI've had a DFO installed on my PAL 5552 model PS1 and I am having a strange issue with the console.
My TV normally switches between NTSC / PAL modes automatically but on this occasion it is having issues syncing to the PS1 signal

The strange bit is the console is a PAL model with DFO but PAL games are not syncing correctly and if the TV does manage to lock onto the signal the colours come out wrong NTSC games are working normally though.

I had the DFO installed so that I could have the games work with the correct colours in PAL / NTSC using composite cable.

What do you think is going on?
It works on a more modern TV KV-32FQ70U but not my primary retro tv SONY KV-A2942U

The TV in the video is in service mode and it gives an example of the problem
https://www.dropbox.com/s/nq7zpme04u4qn9e/VIDEO0286.mp4?dl=0

In the second video you can see it a bit clearer without the black rolling lines picked up by the phone camera
https://www.dropbox.com/s/mj74auwwcfi40i8/VIDEO0287.mp4?dl=0

I'm thinking maybe its an issue with the installation or the DFO itself as I understand it was made with modern TV's in mind?
Maybe an older CRT needs different clock frequency timing?

Btw what was the result of installing a 50/60hz switch on the 1002 model? I'm guessing that installing a switch will allow the TV to sync properly

It's not a mod for modern TVs only. It should work perfectly fine with ntsc 4.43 and pal 4.43 capable CRTs. Your monitors are indeed capable of both ntsc and pal (looked up the manuals).
Use an RGB scart PS1 cable (to rule out subcarrier frequency problems) and see if the problem persists.
If it does, then most probably it's an installation or a clockpro code problem.
Which clockpro hex file have you written on the cdce**** chip, and which such chip are you using?

Monkeyball

#64
Quote from: provato on March 19, 2021, 08:03:37 AMIt's not a mod for modern TVs only. It should work perfectly fine with ntsc 4.43 and pal 4.43 capable CRTs. Your monitors are indeed capable of both ntsc and pal (looked up the manuals).
Use an RGB scart PS1 cable (to rule out subcarrier frequency problems) and see if the problem persists.
If it does, then most probably it's an installation or a clockpro code problem.
Which clockpro hex file have you written on the cdce**** chip, and which such chip are you using?

Hi,

It works fine through RGB Scart no issues at all but I do prefer to use the composite cable
I purchased it from a website and unfortunately I am not getting much help from the seller so I thought to post here.

To see what I can do to correct the issue

The chip is 3.3V SMD version I'll contact the seller to find out which clockpro hex file it is

provato

#65
Quote from: Monkeyball on March 23, 2021, 06:21:00 AM
Quote from: provato on March 19, 2021, 08:03:37 AMIt's not a mod for modern TVs only. It should work perfectly fine with ntsc 4.43 and pal 4.43 capable CRTs. Your monitors are indeed capable of both ntsc and pal (looked up the manuals).
Use an RGB scart PS1 cable (to rule out subcarrier frequency problems) and see if the problem persists.
If it does, then most probably it's an installation or a clockpro code problem.
Which clockpro hex file have you written on the cdce**** chip, and which such chip are you using?

Hi,

It works fine through RGB Scart no issues at all but I do prefer to use the composite cable
I purchased it from a website and unfortunately I am not getting much help from the seller so I thought to post here.

To see what I can do to correct the issue

The chip is 3.3V SMD version I'll contact the seller to find out which clockpro hex file it is

That's great news! If RGB works perfectly fine and gives you 50hz in PAL and 59,94 (60hz) in NTSC, then the colour problem you see it's the TV's fault!!! Your monitor (through composite) cannot tolerate big differences in the subcarrier colour frequency. This frequency must be 3.58 or 4.43 for NTSC and 4.43 for PAL and the DFO just can't do that accurately. Only the MFO (multiple frequency oscillator) offers both correct frequencies (video frequency & subcarrier colour frequency).
RGB DOES NOT use subcarrier frequency for the colour, that is why it works perfectly in both of your monitors.

Take a look here for more info:
https://www.obscuregamers.com/threads/mfo-mod-on-scph-750x-ps1s-my-e-journal-edition.2932/
I still have a few MFO boards if you are interested, and you can sell your DFO to someone that only uses RGB.

PS: Here is the diagram for scph-55xx MFO installation:



Monkeyball

#66
This is great news I would like to purchase an MFO board how do I do this?

PM sent

bytestorm

Are there any other alternatives/newer clock generators suitable? Since this specific ones are now unobtainium :/...

iVirtualZero

Quote from: Antonio on March 20, 2020, 02:27:27 AM
Quote from: iVirtualZero on November 02, 2019, 08:22:42 PMHow do i install the DFO in an earlier model PS1 the one with the composite ports? PU-8 SCPH-1002 model.

Here's a picture of your board.



Close to the GPU, there is an xtal marked "53.20", which outputs 53.2 MHz. Remove it from the board using a hot air gun while being careful to not remove any of the other SMD components that are close to it. That will reveal 4 solder points. Now it's time to install the DFO: solder the 3v3 line to the upper left pad, solder the GND line to the lower right pad, solder the CLK output to the upper right pad and finally solder the S0 line to pin 7 of the Sony CXA1645 video encoder chip.

You can also follow this procedure on PU-18 boards (SCPH-550x), although it uses a different video encoder, so you should solder S0 to a via that leads to pin 157 of the GPU instead.

Thanks for the reply i have since switched to the later 750X PS1 model, as i read that the later model PS1's have a sleight graphics boost along with a more power efficent PSU and better reliability. As for sound it's likely all the same. Just that the earlier model have the AV ports which could be directly plugged into a sound system of some kind.

iVirtualZero

Also i just picked up a DFO for the SNES, but cannot find a guide for it. I have 1Chip SNES. It would be great, if someone can post the install diagram here for both 1Chip and Non 1Chips.

Anthotho29

hello,
I want to build a programmer, I received the necessary parts but one of the suppliers made a mistake and sent me atmega8-16au instead of atmega48a-au. 
Do you think I can convert the Hex file or it is not possible (I have very basic programming knowledge)?

wickywicky07

can i use a "CDCEL913PW" instead of the CDCE913PW

iVirtualZero

#72
Hi i have a Sega Saturn with a dead PLL chip (Hitachi HD49422) giving me no video/audio. Can the DFO replace/bypass the PLL chip of the Sega Saturn?

Also here is my post which goes into further detail about this issue:
https://segasaturngroup.proboards.com/thread/12278/replace-pll-chip-sega-saturn