PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Members research, findings and information that can be useful towards the PlayStation 1.
Post Reply
User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » July 15th, 2018, 8:07 am

Hi all!

As you know it's possible to buy and download PS1 games from Sony's PSN service. This selection of PS1 games are playable on up to three platforms: PSP, PSVita and PS3 (which platforms exactly depends on the individual game release).

I recently read several mentions on various forums about the PSX BIOS that is included with PS1 on PSP game downloads allowing games to run more smoothly. This sounded crazy to me, but I have an open mind, so I decided to check for myself. It's possible to extract the PSX BIOS using a hacked PSP running 6.60 CFW.

Anyway, I extracted this strange BIOS and... the claims are true! :shock:

So far I've tried the BIOS using the following emulators:
• POPS on PS2
• RetroArch on SNES Classic Mini
• RetroArch on Raspberry Pi 3

Games run more smoothly using it. :clap

There are definite frame rate improvements, such as removal of stuttering in some games. Other more demanding games can be run in hi-res mode when using RetroArch, whereas they could not using a traditional PSX BIOS. Some games that refuse to run at all when using traditional BIOS run just fine using the enhanced BIOS.

The enhanced BIOS seems to be based, at least in part, on the "final" PSone BIOS (v4.5) judging by the plain text it contains.

So I am wondering, how has this enhanced BIOS been optimised and modified to improve performance?

Any thoughts appreciated!

Cheers,
matt
PSXONPSP660.BIN
(512 KiB) Downloaded 462 times
Last edited by gingerbeardman on July 18th, 2018, 4:48 am, edited 1 time in total.

User avatar
Shadow
Admin / PSXDEV
Admin / PSXDEV
Posts: 2167
Joined: December 31st, 2012, 5:37 pm
PlayStation Model: H2000/5502

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by Shadow » July 15th, 2018, 6:10 pm

Honestly, the only bug that might have fixed is the infamous 'malloc' bug. As for improvement, they probably added their own custom addressing to take advantage of some registers in the PSP for data store and loading. They probably have also rewritten some assembler functions to take advantage of the PSP hardware better (sort of like register redirection), but the only way to know for sure is by doing a full disassembly in IDA and comparing it with a retail BIOS (which would be a lot of work).

It'd be so nice to get the original source code to the PlayStation BIOS.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

Development Computer: Windows 98, Pentium 3 [400MHz], 128MB SDRAM, DTL-H2000, DTL-H201A, 21" Sony Trinitron CRT, CD-ROM burner, 3.25" and 5.25" Floppy Diskette Drives and a ZIP 100 Diskette Drive.

User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » July 15th, 2018, 8:09 pm

I had dismissed them adding PSP specific functions/hooks, because the BIOS works outside of PSP. Such as in all the emulators I tried.

IDA Pro crashes when trying to open as a PSX BIOS, so I guess it's quite different in some way? I can open and disassemble as regular MIPS code though.

edit: 17 July 2018: I reported the IDA bug, apparently fixed same day, will see if/when it comes to a release version

User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » July 18th, 2018, 5:08 am

Looking at no$cash BIOS analysis, there is much room for improvement in:
• memory handling
• GPU access
• BIOS access caching

https://problemkaputt.de/psx-spx.htm#kernelbios

So it would be a fair guess that they improved the BIOS in those ways so as to squeeze extra performance out of the PSP.

User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » July 18th, 2018, 8:24 pm

I also read that the Memory Card manager and CD Player have been stripped out.

https://www.ngemu.com/threads/bios-used ... psp.92778/

djimenez
What is PSXDEV?
What is PSXDEV?
Posts: 2
Joined: August 5th, 2018, 9:54 am

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by djimenez » August 5th, 2018, 10:04 am

This is very interesting stuff, gingerbreadman.

I hope you could provide a few more links to the discussions regarding this elsewhere in the web.

It's amazing it improves game performance in al sorts of emulators, I wonder if it breaks any games... I could never get pops to run sheep dog and wolf properly (lags heavily when you run), so I think I'll try that one in retroarch on pc and see how that fares.

User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » August 7th, 2018, 2:31 am

The benefits will not help with games that suffer large issues, such as the slowdown in Sheep Dog 'n' Wolf (love that game). At least using POPS on PS2 it's still choppy when there's a lot of transparencies.

But for other games that have occasional slowdown, such as PANEKIT, it improves the experience a great deal. If the slowdown is minor/infrequent, this will help; if the slowdown is major/frequent, this will likely not help.

The main discussion and discovery is through the POPS scene - the official PSX emulator on PS2 that was extracted from a Japanese downloadable game. In this scene, it's been known since 2007(!) that this PSXonPSP BIOS has increased compatibility and improved speed and this is documented in the POPS and POPStarter compatibility lists.

I wrote more about it here: https://www.reddit.com/r/miniSNES/comme ... l/e2mmluo/

You'll also find more about it:
https://assemblergames.com/threads/ps2- ... ter.45347/
http://psx-scene.com/forums/
http://www.ps2-home.com/forum/viewtopic.php?t=173
https://bitbucket.org/ShaolinAssassin/p ... /wiki/Home

kHn
Curious PSXDEV User
Curious PSXDEV User
Posts: 34
Joined: November 8th, 2017, 10:55 pm

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by kHn » August 14th, 2018, 7:33 am

2013: the benefits became clear

The benefits of PSXonPSP BIOS were first noticed in 2013 by users of the newly released POPS (Sony's PS1 emulator on PS2; ripped from a 2010 Japan-only PSBB downloadable PS1 game demo; hacked to run any PS1 game from HDD/USB/SMB). It was favoured by POPS users due to its higher compatibility than traditional PSX BIOS, some games that would not run under POPS without it. This is how I first heard about it.
BIOS from PSP was used because :
1) Embedded BIOS was region locked
2) Early POPStarter builds messed up the BIOS Charset
3) Issues with parsing SYSTEM.CNF
4) "Retail" BIOS PS logo screen is glitchy

PSP 6.60 BIOS and SLBB BIOS have the same kernel. The OSD code isn't the same. See attached file.

Also, it isn't recommended to use the PSP BIOS as default POPStarter BIOS, since it would disable critical compatibility fixes. Only use an external BIOS.BIN file when it's somehow needed for running a specific game.

On a sidenote, the official release date of SLBB-00001 was 2002/05/29. $ONY took it down after HDLoader came out :lol: .
Attachments
stuff.7z
(232.86 KiB) Downloaded 75 times

User avatar
gingerbeardman
Interested PSXDEV User
Interested PSXDEV User
Posts: 9
Joined: July 15th, 2018, 6:34 am
I am a: Programmer
Motto: JUS4QIX
PlayStation Model: SCPH-70003
Want to Find: Answers
Looking to: Collaborate
Location: Cornwall, UK
Contact:

Re: PSX BIOS from PSP 6.60 optimised to play games more smoothly - but in what way?

Post by gingerbeardman » August 26th, 2018, 10:18 pm

Thanks for the insights! So why does using PSP 6.60 BIOS run games better than the POPS BIOS?

The difference is very noticeable, I'll make a video soon.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest