Skip to content

[PS2] HD Support, video mode selector, make iso script#118

Open
freshollie wants to merge 16 commits into
fgsfdsfgs:ps2from
freshollie:ps2-hd
Open

[PS2] HD Support, video mode selector, make iso script#118
freshollie wants to merge 16 commits into
fgsfdsfgs:ps2from
freshollie:ps2-hd

Conversation

@freshollie
Copy link
Copy Markdown

@freshollie freshollie commented Jan 22, 2026

Support for 720p and 1080i on PS2 (yes really!)

image

Plays fine, I've not done a full playthrough but I tried every level before bowser and all good. 1080i is most likely to be stable since it runs with less VRAM than 720p.

Runs at 30fps everywhere apart from when saving where there's a big performance hit for some reason.

This may actually be the first 3D game in history to run in HD on the PS2 :)

PR also includes a script to create an ISO from the built ELF

Fixes #82

I've made a video showing off gameplay on real hardware: https://www.youtube.com/watch?v=2zkROduUYAQ

Comment thread src/pc/gfx/gfx_ps2_rapi.c

u32 pos = 0;

strips++;
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was one of the major bugs, doesn't show up on low res but hires it makes lines all over the screen. It's possibly something which was left in by mistake.

Comment thread src/pc/gfx/gfx_ps2_wapi.c
// HDTV
{ "720p", GS_MODE_DTV_720P, GS_NONINTERLACED, GS_FRAME, 1280, 720, 1280, 698, 1, 0, 0 },
{"1080i", GS_MODE_DTV_1080I, GS_INTERLACED, GS_FIELD, 1920, 1080, 1920, 1080, 1, 0, 0 },
{ "720p", GS_MODE_DTV_720P, GS_NONINTERLACED, GS_FRAME, 1280, 720, 1280, 720, 1, 2, 0, 0 },
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 passes works fine

Comment thread src/pc/pc_main.c Outdated
Comment thread Makefile

print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true

iso: $(ELF)
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Convinient way to create an ISO, perhaps mkiosfs needs to be added to the docker image?

@freshollie freshollie changed the title PS2 HD Support [PS2] HD Support Jan 22, 2026
@freshollie freshollie changed the title [PS2] HD Support [PS2] HD Support & make iso script Jan 22, 2026
@freshollie
Copy link
Copy Markdown
Author

Played through a little further. Performance is pretty poor in some spots of hazy maze cave. First bowser level was fine. Main issue is when there is a lag spike the game speeds up afterwards to compensate but I wonder if this is an issue with using the vsync handler for measuring display clock.

@freshollie
Copy link
Copy Markdown
Author

Implemented the new API from: ps2dev/gsKit#97
Fixed proper 1080i rendering (should have used frame instead of field mode). Looks much better now!

@freshollie freshollie changed the title [PS2] HD Support & make iso script [PS2] HD Support, video mode selector, make iso script Jan 26, 2026
Comment thread src/pc/pc_main.h Outdated
@metchebe
Copy link
Copy Markdown

metchebe commented Feb 2, 2026

@freshollie Hi! This seems to require a gskit update that isn't officially available yet. Anything holding it back? I'm looking forward to testing the new features but I can't make a build.

@freshollie
Copy link
Copy Markdown
Author

@metchebe waiting for the gskit author to merge their changes. Technically it can work without but the frame rate is much better with the new feature.

If you want to try out the branch you can clone the gskit repo branch with the new changes and “make install” to apply them to your ps2dev environment

@xDShot
Copy link
Copy Markdown

xDShot commented Feb 5, 2026

It works in PCSX2 but fails to launch on real hardware unfortunately.

@freshollie
Copy link
Copy Markdown
Author

@xDShot how did you launch on real hardware? This branch has been developed on real hardware and others have also confirmed working on real hardware.

@xDShot
Copy link
Copy Markdown

xDShot commented Feb 5, 2026

@xDShot how did you launch on real hardware? This branch has been developed on real hardware and others have also confirmed working on real hardware.

My bad. I had to wait bit further so it's loaded. I initially saw some garbage video output and I thought it ain't gonna work.

I launched it via OPL from built iso copied to harddrive.

@freshollie
Copy link
Copy Markdown
Author

@xDShot nice. OPL launch was broken before this PR so I’m glad it’s now working for you too. The long load time is because the entire game is loaded into the PS2 ram.

@metchebe
Copy link
Copy Markdown

metchebe commented Feb 6, 2026

@freshollie Alright, I managed to make a build directly from your repo. Tested for a few minutes on OG HW, working as expected including the resolution switcher 😄

Just a detail: for some reason the ELF stripped and compressed with ps2-packer (which usually works fine) did not load this time, the uncompressed version works fine. Would you happen to know a possible reason for this?

@xDShot
Copy link
Copy Markdown

xDShot commented Feb 6, 2026

Sorry for my ignorance but... how do I change ingame resolution?

@metchebe
Copy link
Copy Markdown

metchebe commented Feb 6, 2026

Sorry for my ignorance but... how do I change ingame resolution?

I stumbled upon it looking at the source code, it's CROSS + TRIANGLE (I think held for a second or two if it doesn't work right away).

@freshollie
Copy link
Copy Markdown
Author

IMG_6352
Completed a 16 star play through, no issues. A little lag in dire dire docks, but not terrible.

@BlobIsBack
Copy link
Copy Markdown

amazing work! do you think puppycam could work? didn't try it yet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants