Welcome to the first 2023 progress report.
You know better late than never, and it's been a crazy year.
This month's progress report is all the work by our team member, Rebeca Wallander.
Flux Capacity
With technology being a constant battle in creating the next big thing, there have been tons of ways invented to store data in the most zany ways, on all different kinds of media. Aaru needs to be able to handle all of them. But just as new media technologies are developed, so are new ways of reading those media. Therefore AaruFormat V2 introduces new definitions for ways of storing data that's a bit out of the ordinary.
You might have heard about flux dumps when perusing the floppy-centric parts of the Internet. Kryoflux, SuperCard, AppleSauce, and the GreaseWeazle are all hardware developed to be able to read floppies at a level below the user-space way that computers usually handle them. Without boring you with the details of how all these hardware readers work, let's just say that the images contain more data (and are being stored in an entirely different way) than regular images.
Aaru 6 is now starting to be able to parse these flux dumps as well. The internal format is written so that is should be able to handle almost anything, but few things are actually hooked up the way they need to be. There's a lot of testing to be done before every type of image is handled correctly.
So what is working? You should be able to convert a SCP or A2R file to another SCP or A2R file, as long as it's a PC MFM floppy... Maybe. That's it.
With this ground work done however, we are now able to start doing the next steps. In the future we want more image formats added, more disk types handled, to be able to decode all the gazillion different encoding schemes available, and add direct communication with all the hardware solutions of course. But that's for the future.
Tales from Decrypt
In what feels like decades ago I wrote a way for Aaru to dump DVDs with the title keys; the keys used to encrypt DVD Video. The problem most users who tried to use this feature ran into is that it's unbelievably slow, so not many people actually used it.
But what about when you've dumped the entire DVD and every single title key for every sector. What then? Well, you have a preservation grade copy of a DVD to store in your safe, but not much more than that. What if you want to watch the content?
The easiest way of doing it before was to convert
to an .iso
and chuck it at VLC. But now you can just add --decrypt
at conversion time and the resulting image will be stripped of the CSS encryption and the image can be used directly with your favorite video program, like MakeMKV for instance.
The best part? Since CSS was kind of a poor encryption standard, even for its time, smarter nerds than I managed to figure out ways of cracking it 20-odd years ago. Aaru now have these algorithms in place, so you can decrypt images even without knowing the keys. Any old .iso
should convert
just fine with --decrypt
.
Monday Night Raw
Many DVD drives have some way of reading the raw buffer of the drive. What's in there and how to read it varies greatly, but some store the entire sector data of a DVD right there in the buffer and have commands that lets you read it. The problem is that it's pretty raw data. ECMA-267 tells you exactly how this data should be stored, and it tells us the user data is scrambled with a linear-feedback shift register, which algorithms we've now added to Aaru.
DiscImageCreator and Friidump are software that allows you to use these drive vendor commands to dump a so-called "raw" DVD image. What Aaru can now do is take one of these raw images and convert it to a more usable format like regular .iso
or AaruFormat files.
In the future this will allow us to read (and store) discs using these commands ourselves, directly from the drive. Which in turn should allow us to read GameCube and Wii discs in a "regular" DVD drive.
Future
The future is bright.
Rebeca's work is very helpful and will allow all new kind of media support.
AaruFormat V2 has been really finished, just need polishing and testing.
And .NET 8
is just around the corner with many performance improvements.
Stay tuned for next month's report!