Stats

2
Projects
10
Devlogs
20
Votes
1
Ships

Coding Time

All Time: 40h 29m
Today: 0h 0m

Member Since

June 18, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

2
🚀
2 devlogs • about 1 month ago
PSMetadataLib
8 devlogs • about 2 months ago

Activity

Bye
Bye worked on quicklint
3h 15m • 27 days ago

I added some configuration settings for the library I'm using to the UI and switched my bundler to Vite (I was using Parcel before and it was causing me some issues with legacy browsers [yeah i care about some of them] so i pivoted)
It also supports the minification feature of xml-formatter! So the XML part of this has reached minimum viable product. Time to move onto json...

Bye
Bye worked on quicklint
2h 28m • 29 days ago

Started off by making a quick site using Bootstrap to quickly get a prototype going, most of my programming time is me trying to bundle it without relying on a third-party cdn haha.
I also began on building the XML section of the site. For this I'm using a couple textareas and an NPM module called xml-formatter that nicely formats the XML (I did find I had to change the defaults to make it appealing to me but that shouldnt matter when I add an options section later) and in the future I'll allow for minifying (which this library also does!) so hopefully it all turns out good.

Bye
Bye created a project
31d ago

quicklint

A no-fuss web app to validate, beautify and minify JSON and XML.

2 devlogs 0 followers

I got the project to a point where I'm happy with it. So I made it possible to scan a PlayStation 3's hard drive for games, and it works. As of this, I'm considering this project shipped as I've hit most of my basic goals. I'll probably release a few exes for the testing programs in a bit.

Update attachment
Bye
Bye worked on PSMetadataLib
4h 52m • about 1 month ago

So I decided to downsize what this project should be for this summer at least. I'm going to focus on building a library that can at least scan a PlayStation 3's hard drive for games which should make it shockingly easier to ship. I started writing classes to represent different content types like Games and themes and stuff. You give it a directory as input and it can just grab all the information from it, including if (say for a disc game) there's bonus content available. So far I'm dealing with the case of Game that shipped on a disc that contains another game on the disc, and im surprised to say I actually got something working. I've been able to build--directly into the library--a way to get information about a specific game and find more data about it. In my example image you can see it's pulling the game's name from the main game folder (PARAM.SFO) and information about the package (an installer file on PS3) contained in the PKGDIR subfolder, and spit it out into a compact list.
Anyway that mightn't seem like much but that's what I've been up to.

Update attachment

I added support for PS3_DISC.SFB files, and it can also find the reference to a PARAM.SFO file and hand you the path to it in that file.

Maybe I should make my GUI be able to discover stuff from a PS3 hard drive.. that would be pretty cool

Update attachment

So I finally got around to testing the library's files on an actual PS3 and had to fix a couple bugs regarding the max length of some params BUT i managed to get it workgin!! The file the PS3 is reading from was saved from my library, and I'm really happy to have gotten it working. Now to work on some of my other goals!

(please disregard how overboard i went with my customizations)

Update attachment

Since yesterday I've decided a good demo tool for the library would be a neat little GUI to easily view and edit PlayStation's metadata files... so meet PSMetadataManager!
It doesn't have much of anything right now, but it's a good chance to learn Avalonia so this is my excuse. I think having a feature that'd automatically find content on a PS3 hard drive would be cool, so I'm going to work towards that as my goal for this project.

Update attachment

Awesome! I can now save SFO files back out and even use them in place of the original.

Some other things I ended up doing:
* Added support for Sony's weird UTF8-S encoding (I'm not actually sure what they did but I can detect it now at least)
* Added support for more PS3 parameters
* Made a couple of enums (the language one) generic for use on other platforms later
* Made a little utility program to print out parameters from an SFO file.

This project is going along faster than i thought...

Update attachment

well... its been almost five hours of coding for what i knew would take forever.. and im nowhere near done with today's task.

what i got done:
* fixed a couple bugs in my code that reads data from PlayStation SFO files that returned incorrect data (returning 32-bit integers for 16-bit integers, accidentally decoded as ASCII instead of UTF-8, that sort of thing)
* instead of pretending every value is encoded as UTF-8, my SFO parser now respects the data type the SFO file has. turns out they weren't very inventive, because the only options are UTF-8 strings or unsigned 32-bit integers :D
* made the code that reads null-terminated strings from SFO files hopefully faster, by reading 64-byte chunks and checking it for NUL bytes instead of reading one byte at a time. i dont think it made any effect on execution time.

and then the really big, time consuming thing. i went through the PS3 Dev Wiki looking for important-looking values, with the goal of representing a PS3 PARAM.SFO (main metadata file on PS3) file as a C# class. Going through the very long list of properties these files might have (none of them are required i dont think), i picked out the ones that would be more impressive first (title, category, supported resolutions, that sort of thing) and brought them out of the directory i shoved them into yesterday. i've even added some support for changing the data in these files, and tomorrow I think i'll work on serializing the class back into an SFO file. I'm happy with my progress so far, and i know a lot more about C# enums than i thought i'd ever need lol

Anyway, I've attached a little demo of what I'm able to get out of these files alone. There's still a lot of bugs I need to fix but it mostly works!!

Update attachment

I started making my C# library today. Today I focused on getting basic PARAM.SFO[this is a file used on PSP, PS3, PS4 and PSVita for metadata reasons] parsing working.

Using both an old proof of concept Python script I wrote as well as the PS3 Developer Wiki (https://www.psdevwiki.com/ps3/PARAM.SFO) as a guide, I was able to parse strings from this file. Despite being a binary file, it actually wasn't too difficult to take the data, which is basically a series of key/value pairs, and convert it to a Dictionary. I am missing out on integer values at the moment because I'm treating everything as a string, but I'm going to leave that to tomorrow i think.

Screenshot shows data taken from Minecraft PlayStation 3 Edition.

Update attachment
Bye
Bye created a project
52d ago

PSMetadataLib

A C# library that focuses on editing metadata related to PlayStation 3 games.

PSMetadataLib
8 devlogs 0 followers Shipped
Bye
Bye joined Summer of Making
54d ago

This was widely regarded as a great move by everyone.