Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for virtual filesystem in monolithic file #50

Closed
5 tasks done
tehKaiN opened this issue Apr 17, 2018 · 7 comments · Fixed by #234
Closed
5 tasks done

Add support for virtual filesystem in monolithic file #50

tehKaiN opened this issue Apr 17, 2018 · 7 comments · Fixed by #234
Assignees
Milestone

Comments

@tehKaiN
Copy link
Member

tehKaiN commented Apr 17, 2018

Moved from #25 since it's currently not that critical but will be for moving to ROM-based platforms or squeezing into floppy. It would be cool to have an ability to work on plain file structure of host OS or on virtual FS based on monolithic file.

  • Determine lightweight, portable, virtual FS for such mode
  • Implement virtual storage access functions
  • Migrate ACE into using either disk-based files or virtual storage
  • Ability to disable virtual FS overhead with single define during compilation
  • Implement a tool to transform required file structure to monolithic bigfile

Before we introduce another custom file format, let's look at embedded systems for similar mature solutions. Perhaps SquashFS would do the job? Or is it too bloated?

@tehKaiN
Copy link
Member Author

tehKaiN commented May 30, 2018

I've found romfs specs. Kinda overkill though.

@tehKaiN
Copy link
Member Author

tehKaiN commented May 30, 2018

Nintendo uses ExeFS on their handhelds. However, it's quite barebone and it doesn't support long file names and directories.

@tehKaiN
Copy link
Member Author

tehKaiN commented May 30, 2018

QFSGen generates files as byte arrays in C code in similar fashion to incbin and its shell/bat polyglot variant. We could have such tools a bit customized and build read-only filesystem on that.

@tehKaiN
Copy link
Member Author

tehKaiN commented Jan 24, 2019

@tehKaiN
Copy link
Member Author

tehKaiN commented Sep 26, 2019

Also, I thought today of using TAR files since it's de facto standard for archiving lots of small files into one without compression. There are cons however:

  • Headers use ASCII coding, sizes are additionally coded in octal - wtf?
  • files are saved as multiples of 512 bytes

Also I've found today https://github.com/MarcoPon/SeqBox. Apart from being error resistant I know nothing about it, except it apparently won't work in intended manner on OFS floppy drives.

@SamuraiCrow
Copy link

SamuraiCrow commented Sep 26, 2019 via email

@tehKaiN
Copy link
Member Author

tehKaiN commented Sep 26, 2019

yeah, and that's what I'm aiming at in this issue. To have single file holding whole file structure with as little overhead as possible, hopefully to support writing too.

Quake games were using zip files renamed to .pak. I have yet to see if this won't be a better choice, but I think this may be a bit of an overkill.

@tehKaiN tehKaiN changed the title Switch to FS based on monolithic file Add support for virtual filesystem in monolithic file Nov 15, 2024
@tehKaiN tehKaiN self-assigned this Nov 15, 2024
@github-project-automation github-project-automation bot moved this from Awaiting close to Done in Management Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants