Git Product home page Git Product logo

Comments (9)

Mrlinkwii avatar Mrlinkwii commented on June 18, 2024

may i ask what you mean by compressed memory cards?

from pcsx2.

refractionpcsx2 avatar refractionpcsx2 commented on June 18, 2024

On windows you have NTFS compression which does this for you, but I guess linux/mac users don't have that pleasure.

from pcsx2.

F0bes avatar F0bes commented on June 18, 2024

Linux users can use BTRFS if they really need the space.

from pcsx2.

refractionpcsx2 avatar refractionpcsx2 commented on June 18, 2024

We don't implement that though, right? I mean for ease of use like NTFS compression

from pcsx2.

F0bes avatar F0bes commented on June 18, 2024

BTRFS would be an alternative to the EXT4 filesystem (think FAT32 vs NTFS). So we would support it no problem, it would be abstracted away from us.

from pcsx2.

checktext00 avatar checktext00 commented on June 18, 2024

@Mrlinkwii I mean instead of saving a memory card as Mcd001.ps2 and taking up 8MB you would save it as Mcd001.ps2.zip and take up ~300KB

If I had 100 games with one memory card each, I'd be using over 800MB when I could be using 30MB with compression. It's the same way that PCSX2 can read compressed chd format games, but just for reading and writing .ps2.zip memory cards

on some filesystems it does this sort of thing for you, true - but for example Batocera can run on exFat and that filesystem doesn't support compression. on macOS i'm not sure either, because it supports de-duplication if 2 files are exact copies, but i'm not sure about when they're just 90% copies (like memory cards)

from pcsx2.

stenzek avatar stenzek commented on June 18, 2024

but for example Batocera can run on exFat

Not our job to care about piracy ridden redistributors.

macOS i'm not sure either

You could just use folder memcards. PCSX2 also doesn't really need per-game file memcards like DuckStation does, because the cards themselves are much larger.

I'm inclined to say this is a WONTFIX, because you can't randomly seek in a zip file, you have to decompress up until that point. Writes are more problematic, because you have to decompress the whole thing, update the sector that was written, then re-compress the whole file. Taking a second to save memcards might be fine for 8MB, but definitely not for 128MB.

So we'd have to devise some per-sector/block compression scheme, which would limit the ratio, since the window is much smaller. Then it wouldn't work with third-party tools, either.

from pcsx2.

checktext00 avatar checktext00 commented on June 18, 2024

@stenzek Hey I ran across this on the internet, maybe it will be interesting to you

The ZIP file format includes a directory (index) at the end of the archive. This directory says where, within the archive each file is located and thus allows for quick, random access, without reading the entire archive.

it's the first answer from here https://stackoverflow.com/questions/7132514/how-to-unzip-a-piped-zip-file-from-wget-qo

another point about the folder memory cards is that when converted, they show "There is no data" when viewed in the PS2 bios which makes me feel maybe there could be data loss at some point even if they correctly load when playing a game

from pcsx2.

stenzek avatar stenzek commented on June 18, 2024

No, the zip index lets you jump between different files within the archive, not seek to arbitrary points within a single file.

from pcsx2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.