Hi All,
This is a bit of a long post and to make it easier to read I have added some headings to each section:
1> Background
You may have seen online that some PS1 games can now be played via Duckstation with an upscaled textures pack such as Parasite Eve 2 or Dino Crisis 2. The results are phenomenal!
Unfortunately there is not much out there on how this has been achieved unless someone can point me to a step by step guide :).
I know the basics on how to the process may have run:
1> Use an emulator (Duckstation?) to dump the textures from the virtual ram of the game (VRAM) as it's being played live (this means completing the full game)
2> Once all textures have been saved (you have finished the game) upscale each texture picture to a better quality with a software such as Topaz Gigapixel AI
3> Insert the upgraded textures in the Textures folder of Duckstation et voilá! A home made remaster!
Now, it's easier to be said than being done.
2>Duckstation experiment
Duckstation has about 4 options around dumping textures (advanced settings section), when I enable them, play the game (e.g. Silent Hill) and then check the pictures downloaded they are all messed up color wise (see attached) - this obviously make the picture redudant to even be upgraded.
Am I doing something wrong with Duckstation?
Can Duckstation actually dump textures correctly?
Based on what others have achieved (e.g. Parasite Eve2) there must be a way of doing it with Duckstation?!
I say this because when you check the textures pack for PE2, the names for each picture are quite unique and that's the only way for the VRAM to recognise them and replace them to the original while playing the game.
The naming convention is "vram-write-..."
Now - let's park Duckstation aside for a minute.
3>Retroarch experiment:
I found out that textures dumping can be achieved with another PS1 Emulator called Retroarch .
For this there's a really good video on youtube that explains how to do it: https://youtu.be/UTCYHBLVLLE
I gave this a go but when Retroarch does the textures dumping the files are not saved with a similar Duckstation naming convention: "vram-write-....." but more like this one:
The good news is though that the dumped picture is saved with the right colors and you could actually upscale it.
So next I upscaled it, put in the textures replacements of Retroarch for Silent Hill and the emulator ignores it and will display the original pixelated one.
I am back to square one, why isn't Retroarch picking up my upscaled picture?
To make sure Retroarch is recognising my textures replacement folder I copied/pasted the original texture picture for the launch screen of SILENT HILL (the one that says "There are violent and disturbing images in this game", I quickly edited the picture with the image editor GIMP (I added a text line) and saved it.
I ran the game again with Retroarch and the emulator picks the edited picture with no issue.
Why is that?
Has it got something to do with the size of the file? Palette profile?
4> TIM pictures manipulation
If you know a little on how PS1 games were made most textures were saved in the ISO as "TIM" files.
There's a bunch of softwares out there that will allow you to see and extract all "TIM" files from most PS1 iso.
In the case of Silent Hill I have used "Tim2view": https://www.romhacking.net/utilities/799/
This does the job and I get all textures exported in PNG format with the right colors etc.
Upscaling them is a piece of cake with Gigapixel.
The questions I have around this section of my post is:
A) is it even worth using this process to upscale your game textures and somehow use them with either Duckstation or Retroarch later?
B) if so, how on earth can I find out how to rename each upscaled texture to match what the VRAM of either emulators would call them?
Well I think I am done with my post, sorry it's a bit of a long one but it's a bit frustrating that there's not much knowledge out there on how upscaling your favourite games is done.
All help/comments will be welcome