The LOS and Workshop file systems have been "decoded"

Started by TorZidan, Yesterday at 04:32:54 PM

Previous topic - Next topic

TorZidan

I caught the "LOS software developer" fever from the community, and decided to complete a personal project that has been hanging unfinished for many years.

Here it is: https://github.com/TorZidan/LisaFileSystemTool/

I used elbow grease and AI to decode the LOS & Workshop file system format, by peeking into the LOS open source code, and via many trials and errors on many different disk image files.

Unlike previous attempts by others, everything is complete and well documented. Note: the "add file to a disk image" feature is experimental, works only with LOS 1.0  and 2.0 disk images, for now.

Section https://github.com/TorZidan/LisaFileSystemTool/#59-protected-files-theft-protection-and-removing-the-protection-deserialization (protected files) is particularly interesting.

UPDATE:  the "add file to a disk image" feature is fully implemented and works on all versions of the file system. It can add both binary and text files properly. Needs more testing....

I am really impressed with the PI coding harness and the Qwen 3.8 AI model running locally on my video card. It decoded the B-tree "add file" implementation from the Lisa OS sources (Pascal and 68k Assembly code) , came up on its own with ways to test the "addfile" functionality, by finding disk images on my PC if the necessary file system version, copying it into /tmp, adding a file to it, then dumping the file and comparing it with the original. It even found somehow the LisaEm binary on my PC and launched it, but got stuck at the boot screen.

Enjoy!




bmwcyclist

Using my LISA for writing blogs and other work projects, and for fun and games at home.
Visit my shares on GlobalTalk! LISAGamingZone
Check out the NEW Lisa Software! https://github.com/GyroPilot
telnet theapplelisabbs.duckdns.org 1983

stepleton

That is impressive.

Would there be any chance of organising this code into a few separate modules? All in one file is convenient, but it looks like there are some handy routines here that would be nice to use from other programs. You could have a module for disk image I/O, a module for filesystem metadata, routines for traversing the FS, routines for retrieving and creating files, etc.

Either way, one thing that seems like it could be fun would be some visualisation of the sector bitmap. I'm imagining something that resembles the diagram of occupied sectors in a disk defrag tool...

Finally, now that you've got a way to write to files: can you write a script that deposits a compilable set of Lisa Office System source code files onto a hard drive image? Would be a real stress test!

Cheers,
--T