Disabling PS1 hardware dithering (better looking 2D)

The place for all discussion on gaming hardware
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

So I stumbled upon Chris Covell's twitter and found some interesting posts about PS1 hardware dithering and some Action Replay codes to disable it on some games
1st post: https://twitter.com/covell_chris/status ... 6064143360
Larger image: https://pbs.twimg.com/media/DSEIjzEVQAAIUxt.jpg:large

2nd post: https://twitter.com/covell_chris/status ... 8180140032
Larger image: https://pbs.twimg.com/media/DSEJS1kV4AAnO53.jpg

I have noticed the checkerboard pattern shown in some PS1 games. I wondered if there's more info on this such as a way to patch the games themselves instead of relying on cheat devices, or maybe even a hardware way to disable it on everything (and connect to a toggle switch).
User avatar
Lawfer
Posts: 2283
Joined: Fri Dec 01, 2006 3:30 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Lawfer »

When you play PS1 games on the PS2 with the Texture Mapping set to "Smooth":

Image

Doesn't that also removes the dithering?
User avatar
Thomago
Posts: 585
Joined: Fri Oct 26, 2012 7:01 pm
Location: Germany

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Thomago »

No, that enables texture filtering.
User avatar
Lawfer
Posts: 2283
Joined: Fri Dec 01, 2006 3:30 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Lawfer »

Thomago wrote:No, that enables texture filtering.
Yes I know, but doesn't that also disables the dithering at the same time? It seems that way from the screenshots I seen.
User avatar
Thomago
Posts: 585
Joined: Fri Oct 26, 2012 7:01 pm
Location: Germany

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Thomago »

No, it doesn't. Just take a look at this video:

https://www.youtube.com/watch?v=4EY12KTH_Xk

That being said: I highly doubt it, but it's possible that the PS2's behaviour regarding this issue depends on the model.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Xyga »

Disabling dithering won't always make games look better, sometimes it is necessary, most apparent with the missing 'gouraud shading'-like effect in Motortoon here.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Arasoi
Posts: 677
Joined: Wed Aug 16, 2006 3:52 am
Location: https://www.youtube.com/watch?v=4FZcI8EVW-c

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Arasoi »

.
Last edited by Arasoi on Sat Jun 20, 2020 11:02 am, edited 1 time in total.
User avatar
ASDR
Posts: 825
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by ASDR »

That's really cool. Dithering looks really ugly when shown on large, modern screens with all the sharpness that the RGB + OSSC/FM combo brings. I really notice it on the PS1 & DC. Saturn games don't seem to have dithering and generally have very little shading, mostly using bright & bold colors. Like that look a lot. Most PS1 games probably will look worse with dithering disabled (very visible banding, kinda like the DOS PC version of Tomb Raider), but for some this should bring an increase in quality like the various N64 deblur solutions. If it's an AR code you can certainly just patch the ISO, but I doubt it'll be easy to just wire up a switch somewhere. My guess would be that the dither setting is just a flag bit in some GPU register.
kel
Posts: 227
Joined: Wed Dec 22, 2010 11:11 pm

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by kel »

ASDR wrote:That's really cool. Dithering looks really ugly when shown on large, modern screens with all the sharpness that the RGB + OSSC/FM combo brings. I really notice it on the PS1 & DC. Saturn games don't seem to have dithering and generally have very little shading, mostly using bright & bold colors. Like that look a lot. Most PS1 games probably will look worse with dithering disabled (very visible banding, kinda like the DOS PC version of Tomb Raider), but for some this should bring an increase in quality like the various N64 deblur solutions. If it's an AR code you can certainly just patch the ISO, but I doubt it'll be easy to just wire up a switch somewhere. My guess would be that the dither setting is just a flag bit in some GPU register.
You're correct, it is just one bit on one of the GPU registers. I can't remember which one of the top off my head but it's easy enough to find out from this page IIRC: http://psx.rules.org/gpu.txt. I modified a Silent Hill ISO a few years ago just to see how it would look without dithering and it looked terrible with really bad color banding replacing the dithering but maybe it would work better on other games, didn't try any others though as I lost interest after that.
Arasoi
Posts: 677
Joined: Wed Aug 16, 2006 3:52 am
Location: https://www.youtube.com/watch?v=4FZcI8EVW-c

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Arasoi »

.
Last edited by Arasoi on Sat Jun 20, 2020 11:00 am, edited 1 time in total.
kel
Posts: 227
Joined: Wed Dec 22, 2010 11:11 pm

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by kel »

I don't know how to convert the codes directly which would probably be the easiest way if possible. I disassembled the PS-EXE file in IDApro and then searched for writes to the GPU data register, in particular packet $e1 IIRC. If the dithering bit was turned on then I checked where I was in the hex editor part of IDApro and used a hex editor to load the whole ISO file to edit that particular byte to turn the dithering bit off. I would love to give it another try with those 2 games and make a ppf patch for them but I don't have any spare time at the moment. I'll see if I can find time to have go after the weekend if no one else does it before then.
Arasoi
Posts: 677
Joined: Wed Aug 16, 2006 3:52 am
Location: https://www.youtube.com/watch?v=4FZcI8EVW-c

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Arasoi »

.
Last edited by Arasoi on Sat Jun 20, 2020 11:00 am, edited 1 time in total.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

I'd also be interested in a detailed step-by-step guide of how to do it ourselves as well so we don't have to bug one person each time we run across a 2D game that would benefit from patching.
User avatar
ccovell
Posts: 203
Joined: Mon Feb 14, 2005 3:03 am
Location: Japan
Contact:

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by ccovell »

Hi, folks. I wrote up that short tutorial on searching for and disabling PS1 dithering: http://www.chrismcovell.com/psxdither.html
User avatar
parodius
Posts: 720
Joined: Wed Jan 26, 2005 5:54 am
Location: Singapore

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by parodius »

Excellent, thanks!
My sales thread : 2020/07/20..MASTER.VER.
User avatar
D
Posts: 3743
Joined: Tue Feb 01, 2005 3:49 pm
Location: Almere, Netherlands
Contact:

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by D »

-Mind blown-
I have noticed this checkerboard pattern before, but never thought that it could somehow be turned off. Seems like sky's the limit nowadays. We get so many improvements from all of the talented people.
It's about time that we got some kind of portal were all of these can be listed:
-480p patches for ps2, xbox, gc games
-list of ps2 games which games can be run in 480p via GSM on ps2 hardware
-16:9 patches for ps1, ps2, xbox, gc, dreamcast games
-60FPS patches
-240p patches for ps2 games
-There are already many hacks on romhacking.net for older systems (Megadrive SFII music&sound optimization)
-and now filter removal for N64, ps1
It seems like many codes/patches are hidden in over 1000 posts threads on ps2 emulation sites, assembler forums, etc. Not complaining about that, but many people now miss out on really great improvements.
It's 2018, I wish there was kind of stable portal where we could just upload codes/patches so that the work does not have to be done by one person.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Xyga »

You mean like consolecopyworld ? (yes it's still online lol)
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
ASDR
Posts: 825
Joined: Sat Aug 12, 2017 3:43 pm
Location: Europistan

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by ASDR »

D wrote: It's 2018, I wish there was kind of stable portal where we could just upload codes/patches so that the work does not have to be done by one person.
I think this is one of the greatest tragedies of the retro gaming community. Treasure troves of reverse engineering, repair guides & clever hacks are buried in 100+ page forum threads with dead links and missing images.

Hoping the retrorgb.com wiki will actually happen, would be awesome to take all of this information and put it somewhere more organized and permanent.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

Ok, I didn't notice there had been further replies here to the thread, so I didn't know ccovell left a nice tutorial.
So basically I didn't completely understand his tutorial as far as figuring how to turn off dithering in other games he hasn't done yet, but I was able to piece somethings together to make 'patch' versions of his existing Gameshark codes, and a VERY experimental barely tested way to potentially disable it in any game. Here you go:

Open ISO in a hex editor, search for the listed hex string, change specified value, save edited ISO.
You should only find one instance for each search.


Castlevania: Symphony of the Night (US and JP)
Search: 00 E1 03 3C 00 02
Change: only ending 02 to 00

=========================

Castlevania Chronicles (US, maybe JP too)
Search: 00 E1 02 3C 00 02
Change: only ending 02 to 00

Search: 10 00 E1 04 3C 00 02
Change: only ending 02 to 00

Search: 10 00 E1 03 3C 00 02 63 34 02 00 80
Change: 10 00 E1 03 3C 00 00 63 34 02 00 80

=========================

Gradius Gaiden (JP only game)
Search: C3 00 00 E1 02 3C 00 02
Change: only ending 02 to 00

Search: 82 00 00 E1 02 3C 00 02
Change: only ending 02 to 00

Search: 00 E1 03 3C 00 02
Change: only ending 02 to 00

Search: 00 E1 0F 3C 00 02
Change: only ending 02 to 00

=========================

Those are ones I figured out directly based on ccovell's Gameshark codes.
Here's an experimental way to maybe disable it in any game:

1.) Get a hex editor that let's you do wildcard searches. I found XVI32, so I'll base the instructions on that.
2.) Open PS1 ISO in XVI32, go to Search, then Count. Search for 'Hex String' "00 E1 FF 3C 00 02" (without quotes), and check "Joker char hex" and put 'FF' for it. ('FF' is acting as a wildcard in this case. Other hex editors with wildcard search support might use asterisks or something else). Click OK and it should search and tell you how many results it found. if it only found 1 result then I'd say chances are higher of things working.
3.) Go to Search, Find, then do the search the same way as you did for Count. This should take you to the first result. Change the last 02 to 00. For example, say it found "00 E1 03 3C 00 02", after you change what it finds it will now be "00 E1 03 3C 00 00". Do Search, 'Find again down' (or hit F3), and it should find the next result (assuming there was more than 1). change the ending 02 on all the results you find. You might be tempted to just use Replace, but when I attempted that with a joker/wildcard it replaced the wildcard portion of each hex string with the wildcard characters too and that's bad :P.

I tried this on Suikoden II and it removed the dithered checkerboard pattern on the title screen, character portraits, and I think the 3D terrain in battles (though it appears some of the art such as the cliffs in the opening area have some checkboard patterns in them by default). I believe I found 9 results for the hex search on that game.

I did not test this bruteforce method extensively (or more than 20min), so I have no idea if it might break other stuff in the game, work in some games but not others, etc.


Final Notes:
- I'd love for other people to try the bruteforce method on checkerboard dithered games to see if everything works fine
- Does anybody know how to turn these hex edits into patches that won't require a specific dump of the game to work?

EDIT:

Used the brute force method for Strider 2 and only found one instance of the hex string. changed it and it disabled dithering on sprites and probably other stuff too.

Strider 2 (only US confirmed)
Search: 00 E1 03 3C 00 02
Change: only ending 02 to 00

EDIT some more:
Found the world map on Legend of Mana has (didn't notice in anywhere else in the few minutes I played). Did the wildcard search, found one hex string, changed it. (using emulator for quick testing)

Dithered
Image

Not dithered:
Image
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

Image

Haven't ran into an issue yet with my brute force method between me and a friend tinkering with it most of the night, so I found an app called sed and made a little script for it to brute force patch a PS1 game to disable dithering. It's working for me so far with limited testing so maybe it'll help everyone else out too. Readme is in the zip file, but basically you just drag and drop a PS1 ISO onto the batch file. A big shout out to ccovell for his original discovery and subsequent tutorial. I never would've gotten anywhere without that.

https://drive.google.com/open?id=1CT-8m ... 6yP0ckgEUK

EDIT: Minor update to handle folder names with spaces better.
Last edited by cr4zymanz0r on Sun Feb 25, 2018 4:37 pm, edited 1 time in total.
User avatar
donluca
Posts: 852
Joined: Sat Feb 28, 2015 8:51 pm
Location: Italy
Contact:

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by donluca »

D wrote:It's 2018, I wish there was kind of stable portal where we could just upload codes/patches so that the work does not have to be done by one person.
I could make such a thing, but it would be entirely user-driven, meaning you have to take your sweet time to find and copy-paste information into it.

I still think a dedicated forum/wiki would be best for this kind of thing, the problem is that there should be a strong and willing user base contributing to it, otherwise it all would be a waste.

Anyway, I already have some stuff on theclassicgamer.net which is the homebase for my own project and some others, I could make a sub domain like wiki.theclassicgamer.net and get a nice wiki on it, but bear in mind that from that point onwards, it's all on you.
User avatar
Star1
Posts: 155
Joined: Thu Dec 03, 2015 9:28 pm
Location: Norway

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Star1 »

I get a "The process cannot access the file because it is being used by another process" When trying to use the batch file.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

Star1 wrote:I get a "The process cannot access the file because it is being used by another process" When trying to use the batch file.
Sounds like you've still got the ISO open in an emulator or some other program.
User avatar
Star1
Posts: 155
Joined: Thu Dec 03, 2015 9:28 pm
Location: Norway

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Star1 »

I don't have any ps1 emulators, and, I can rename the file freely, so it's not being used by another program.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

Star1 wrote:I don't have any ps1 emulators, and, I can rename the file freely, so it's not being used by another program.
Tried it with the newer version yet (v0.0.2)? I updated the link above.
User avatar
Star1
Posts: 155
Joined: Thu Dec 03, 2015 9:28 pm
Location: Norway

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Star1 »

That did the trick, thanks!
User avatar
Syntax
Posts: 1774
Joined: Wed Aug 09, 2017 12:10 am
Location: Australia

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by Syntax »

Ive been playing with this all afternoon and loving the results, thank you for your findings and efforts!.

It makes me wonder how hard it would be to adapt the program to change the value in dreamcast isos to force vga mode.
https://dreamcast-talk.com/forum/viewtopic.php?t=10386

I've tried this on
Crash Bandicoot collection USA
Tekken 3 USA
THPS USA

When I try to verify the THPS burn i get a miscompare error in imgburn, I'm not sure why it happens with only this title so far.
The dithering is turned off and the game hasn't locked on me yet

W 16:34:44 Miscompare at LBA: 243, Offset: 2072, File: \PSX.EXE
W 16:34:44 Device: 0x6F
W 16:34:44 Image File: 0xB6
W 16:34:44 Total Errors in Sector: 36
W 16:34:44 Note: The drive probably corrected the EDC Area because it's wrong in the image file.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

Syntax wrote:Ive been playing with this all afternoon and loving the results, thank you for your findings and efforts!.

It makes me wonder how hard it would be to adapt the program to change the value in dreamcast isos to force vga mode.
https://dreamcast-talk.com/forum/viewtopic.php?t=10386

I've tried this on
Crash Bandicoot collection USA
Tekken 3 USA
THPS USA

When I try to verify the THPS burn i get a miscompare error in imgburn, I'm not sure why it happens with only this title so far.
The dithering is turned off and the game hasn't locked on me yet

W 16:34:44 Miscompare at LBA: 243, Offset: 2072, File: \PSX.EXE
W 16:34:44 Device: 0x6F
W 16:34:44 Image File: 0xB6
W 16:34:44 Total Errors in Sector: 36
W 16:34:44 Note: The drive probably corrected the EDC Area because it's wrong in the image file.
If patching DC ISOs to enable VGA mode can be done with basically "find this hex string, now replace it with this hex string", then I don't think it'd be too hard to adapt this tool to do that. I haven't messed with DC ISOs in a while, but I was thinking maybe there are already VGA patcher programs.

I am curious what to see what people report for how this helps 3D games (and what 2D games are discovered as needing it disabled). 95% of my testing has been in an emulator for convenience and some stuff like Metal Gear Solid used a lot of dithering, but when I disabled it on that game it made it look horrible with lots of color banding and blotchy-ness.
eliteshmupper
Posts: 13
Joined: Tue May 03, 2016 3:36 pm

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by eliteshmupper »

Your patch doesn't do anything for real hardware. Tested with a Japanese Castlevania Chronicle 1.0 ISO, it works with on an emulator but not a real PS1.
User avatar
cr4zymanz0r
Posts: 356
Joined: Sat Oct 19, 2013 6:36 am

Re: Disabling PS1 hardware dithering (better looking 2D)

Post by cr4zymanz0r »

eliteshmupper wrote:Your patch doesn't do anything for real hardware. Tested with a Japanese Castlevania Chronicle 1.0 ISO, it works with on an emulator but not a real PS1.
Worked for me on my PS1, though the US version is the only one I tested on the PS1 itself. Also worked on a friend's PS1 as well.
Post Reply