01-31-2018, 12:27 PM
(This post was last modified: 03-11-2018, 07:27 PM by ShaolinAssassin.)
Welcome to the official thread for PS1 Dithering OFF patches - sister thread of PS1 Widescreen patches thread since the method is the same (find a known value responsible of dithering and replacing it by another one that turns off this effect).
Similarly to the other similars threads, here you can discuss, post and request Dithering OFF patches for PS1 games.
Since PS1 PC emulators can deal with dithering with no codes, these patches are mainly to be used on real hardware (or PS1 emulation on PS2 using POPStarter for example).
The latest collection of patches (as GS/AR code or HEX codes) is provided at the bottom at this post.
PS1 Dithering OFF patches started (here) when demilich dig up a twitter post from Chris Covell. You can see in attachements Chris' first codes. Big thanks to him.
* no$psx ;
* E1 tool (made by krHACKen) ;
* CEP.
E1 tool will scan no$psx game snapshots and give you all the potential codes to dither off your games. It only accepts no$psx uncompressed snapshots (in no$psx : Options/Emulation Setup/Files/SNA File Format = Uncompressed).
Steps :
1. Load your game in no$psx and make a snapshot (File/Write Snapshot). Save the .SNA file in E1 folder ;
2. Drag & drop your snapshot on 20180227.BAT file ;
3. You will now see a new file named CHEATS.TXT in E1 folder, open it ;
4. Example : Crash Team Racing (PAL)
Each double-line is a potential code to disable dithering - correctly written in GS/AR format (ready to use). We will now need to use CEP to test and eliminate the false positives, to only keep the adresses responsible for the dither effect. Most often, the line that contains "// Possible E1000200h : " is the main adress responsible for dithering.
5. Open CEP (run CEP.EXE) and set it up like this :
Process tab
Cheat tab
6. In CEP, on the process tab, click "Search" to attach CEP to no$psx ;
7. Now, copy & paste the codes from CHEATS.TXT file to CEP Cheat tab and click "ON" to enable the codes. See what happens in no$psx. Sometimes, dithering is placed at several adresses in a game (like in CTR example, the ones I marked with "*"). You need to test all the potential codes, one after one.
8. So I found 4 codes for CTR that remove dithering. This gives us as code :
9. Done. Feel free to submit your code here.
Similarly to the other similars threads, here you can discuss, post and request Dithering OFF patches for PS1 games.
Since PS1 PC emulators can deal with dithering with no codes, these patches are mainly to be used on real hardware (or PS1 emulation on PS2 using POPStarter for example).
The latest collection of patches (as GS/AR code or HEX codes) is provided at the bottom at this post.
PS1 Dithering OFF patches started (here) when demilich dig up a twitter post from Chris Covell. You can see in attachements Chris' first codes. Big thanks to him.
- Tutorial (WIP - last edit 2018/03/11) :
* no$psx ;
* E1 tool (made by krHACKen) ;
* CEP.
E1 tool will scan no$psx game snapshots and give you all the potential codes to dither off your games. It only accepts no$psx uncompressed snapshots (in no$psx : Options/Emulation Setup/Files/SNA File Format = Uncompressed).
Steps :
1. Load your game in no$psx and make a snapshot (File/Write Snapshot). Save the .SNA file in E1 folder ;
2. Drag & drop your snapshot on 20180227.BAT file ;
3. You will now see a new file named CHEATS.TXT in E1 folder, open it ;
4. Example : Crash Team Racing (PAL)
Quote:/* - 02h/03h/06h/07h/0Ah/0Bh/0Eh/0Fh - */
// Possible E1000A00h :
D00217F8 0A00*
300217F9 0008*
// Possible E1000A20h :
D0024140 0A20
30024141 0008
// Possible E1000A00h :
D0024150 0A00
30024151 0008
// Possible E1000A00h :
D003F7C8 0A00*
3003F7C9 0008*
// Possible E1000A20h :
D0043724 0A20
30043725 0008
// Possible E1000A20h :
D004FBF4 0A20
3004FBF5 0008
// Possible E1000A00h :
D0051B24 0A00
30051B25 0008
// Possible E1000A20h :
D0068BDC 0A20
30068BDD 0008
// Possible E1000A40h :
D006D7C4 0A40
3006D7C5 0008
// Possible E1000A20h :
D006D7EC 0A20
3006D7ED 0008
// Possible E1000A20h :
D006E0E8 0A20
3006E0E9 0008
// Possible E1000A40h :
D006E300 0A40
3006E301 0008
// Possible E1000A20h :
D006E630 0A20*
3006E631 0008*
// Possible E1000200h : <= THIS ONE IS THE MAIN DITHER OFF CODE (see step 5)
D0073F48 0200*
30073F49 0000*
/* - 00h/01h/04h/05h/08h/09h/0Ch/0Dh - */
Nuthin'
/* - LOST||CONFUSED||FUXXED - */
Nuthin'
Each double-line is a potential code to disable dithering - correctly written in GS/AR format (ready to use). We will now need to use CEP to test and eliminate the false positives, to only keep the adresses responsible for the dither effect. Most often, the line that contains "// Possible E1000200h : " is the main adress responsible for dithering.
5. Open CEP (run CEP.EXE) and set it up like this :
Process tab
Cheat tab
6. In CEP, on the process tab, click "Search" to attach CEP to no$psx ;
7. Now, copy & paste the codes from CHEATS.TXT file to CEP Cheat tab and click "ON" to enable the codes. See what happens in no$psx. Sometimes, dithering is placed at several adresses in a game (like in CTR example, the ones I marked with "*"). You need to test all the potential codes, one after one.
8. So I found 4 codes for CTR that remove dithering. This gives us as code :
Code:
#CTR Crash Team Racing (M6) (SCES-02105, SCES-02105/P)
//Disable dithering
D00217F8 0A00
800217F8 0000
D003F7C8 0A00
8003F7C8 0000
D006E630 0A20
8006E630 0020
D0073F48 0200
80073F48 0000
9. Done. Feel free to submit your code here.
- PSOne Dithering OFF Archive - All patches list :
- Requests :
- Documentation : PlayStation 1 Dithering Removal by Chris Covell.