Commit Graph
18 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 23dffa9db3 POPS: Boot PS1 disc images as converted EBOOTs made on the fly
A cue sheet, a CloneCD .ccd, or a bare .bin, .img or .iso of a PS1 disc
now boots on the firmware's POPS, as the converted EBOOT.PBP popstation
would make from it. PS1EbootFileLoader builds the PBP header, PARAM.SFO
(the disc ID from SYSTEM.CNF) and the PSISOIMG header, TOC and block
index, and serves the disc image from the image's own files. Each block
of 16 sectors is a stored DEFLATE block: the manager won't read an image
of uncompressed blocks in its own format, but the converted PBP's inflate
takes stored ones, and with every block the same size, reads map straight
onto the files. Nothing is compressed or written anywhere.

Cue sheets can have any number of files, AUDIO tracks, INDEX 00 and
PREGAP, and a missing FILE falls back to the cue sheet's own name. A
2048-byte .iso gets Mode 2 Form 1 sectors made around its user data.

The EBOOT is mounted as the only file in host0:, through BlobFileSystem,
which now saves its open handles in savestates. The game browser lists
.cue, .ccd, .bin and .img, leaving out the .bin and .img files a cue
sheet or .ccd next to them describes, and a bare image opened directly
goes through the cue sheet that names it. GameInfoCache reads the title
and ID of these, and of real PS1 EBOOTs, from their PARAM.SFO.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 15:01:22 +02:00
Henrik Rydgård b7ad74d309 MetaFileSystem: Turn another argument into string_view 2026-02-25 00:52:25 +01:00
Henrik Rydgård ef386ac4c5 Add "GetFileInfoByHandle" function to (many) file systems 2025-03-19 10:42:30 +01:00
Henrik Rydgård 2cc631338b Correctly unload GE framedumps. Additionally, look up the title when possible and show in titlebar. 2025-03-06 14:58:33 +01:00
Henrik Rydgård 3e198c53b2 More include cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård 8a5be21140 MemStick screen: Call free_disk_space from async tasks
See #19522
2024-10-11 13:45:43 +02:00
Unknown W. Brackets 4942692558 Io: Provide directory existence with listing.
Sometimes, you need to tell the difference between an empty directory and
one that doesn't exist at all.  We can do this in a single call.
2022-10-09 14:42:31 -07:00
Henrik Rydgård 40ab92fe7b Remove unused function GetHostPath from filesystems 2021-05-13 10:39:17 +02:00
Henrik Rydgård 2e16e83159 It never ends... 2021-05-13 10:39:16 +02:00
Henrik Rydgård 025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Henrik Rydgård 9480b6672b Loaders: Rename Path() to GetPath().
Path is going to be a struct name.
2021-05-09 17:10:14 -07:00
Unknown W. Brackets 49abe9ed6c Io: Open sce_lbn references and whole ISO faster. 2020-05-21 18:58:24 -07:00
Unknown W. Brackets 67416e5919 Io: Simulate VFAT bug only when simulating FAT32.
And cleanup flag handling a bit.
2020-05-21 18:57:46 -07:00
Unknown W. Brackets 913121cf2b Io: Consistently use error codes with OpenFile().
This gets rid of OpenWithError(), and just always returns a negative value
on error for OpenFile().  Also fixed the sequence rollover, which could've
returned 0.

0 should be considered a valid handle ideally, but left it never returning
0 to simplify cleanup in some areas.
2019-10-20 11:03:37 -07:00
Henrik Rydgård f76e5e70a7 Enable FlushInstructionCache on UWP, it's been allowed finally.
Minor warning fixes, UWP buildfix

Retarget UWP project to latest SDK.
2018-03-20 20:30:33 +01:00
Unknown W. Brackets 0e2a586c1b Global: Fix some type comparison/shadow warnings. 2018-02-11 07:03:23 -08:00
Unknown W. Brackets 3249d81654 GE Debugger: Buildfix for BSD.
`tm` was not defined, as per jbeich.
2017-06-18 12:17:48 -07:00
Unknown W. Brackets 36069d1446 GE Debugger: Simple framework to load dumps.
This tries to execute them within the context of the emulator as much as
possible, so we don't have weird bugs.  Going with a file type so we can
easily load the dump by opening the file directly.
2017-06-03 15:29:11 -07:00