PyMMB - Call for volunteers

discussion of beeb/electron applications, languages, utils and educational s/w
Post Reply
User avatar
Haqa
Posts: 35
Joined: Mon Jan 14, 2013 12:37 pm
Location: Bishop's Stortford, Hertfordshire
Contact:

PyMMB - Call for volunteers

Post by Haqa » Sat Jan 26, 2013 10:03 pm

As you may (or may not) have read from my introduction post, I'm working on a new, cross-platform, open-source (Apache licence 2.0) MMB/SSD manipulation library including command line tools, a FUSE driver ** and a GUI. While it is currently targeted specifically at the TurboMMC/SuperMMC and BBC DFS image types, there is no reason it shouldn't be extended to support any other image types people want to transfer files into and out of.

The library, tools and FUSE driver have been around for about a couple of months and are pretty much feature complete.

I've now got to the point where the GUI opens and displays MMB and SSD contents, including drill-down within MMB's into the contained SSD images. At this point I'm really looking to get people on board helping me find (and perhaps workout) the bugs in the MMB/SSD encoding, checking the command line tools, testing the FUSE driver etc, in as many environments as possible.

Meanwhile I'm continuing to stitch library functionality into the GUI. I've attached screenshots of the current state of PyMMBgui to give you an idea of what I'm shooting for.

Please, anyone who has a little time to spare, I'd really appreciate you taking a look.

The project is hosted at http://projects.tlspu.com/PyMMB - Please feel free to descend and copy the code (It's open source after all) or if you are really feeling gregarious, join the Trac and help with bug reporting, or even developing. The current development version is (or will be at the next release) 0.5


For those who want to play, but only with released code, the first three components are published on PyPi (The Python Package Index) as PyMMBlib, PyMMBtools and PyMMBfuse. The current released version is 0.1


Thanks in advance for any help you can provide.

Adrian...


** For those who have not come across the term FUSE before, it stands for File System in User Space (Yes, I know that spells FSiUS, but that sounds more like a noise you make when you have a blocked nose, so they chose FUSE instead). It's a cross-platform mechanism for providing new filesystem drivers without modifying the kernel of your operating system - The mounted file system runs as a user program in so called "User Space". Currently it is supported under at least Linux, MacOS X, Solaris 10, Open Solaris, SmartOS, Illumous, Free BSD and NetBSD. There are rumours it's also been ported to other, older OSs (MacOS 9, Solaris 8 and 9 etc, but I've not seen the integration specs so I don't know if it will work for this project). I've been thinking of doing a port to Windows using Dokan, but that's for another day...

PyMMBfuse allows you you "mount" and MMB (or SSD) image and see it as just another part of your desktop computer's filesystem, just like a flash drive or CDROM.
Attachments
PyMMBgui_MMB_open_under_wine.png
PyMMBgui running under Wine (As I've not got a handy windows machine at the moment)
PyMMBgui_MMB_open_under_wine.png (10.78 KiB) Viewed 707 times
PyMMBgui_MMB_open_under_linux.png
PyMMBgui running under Linux (GTK+ look and feel)
PyMMBgui_MMB_open_under_linux.png (25.15 KiB) Viewed 707 times
If at first you don't succeed, blame the cat...

User avatar
jgharston
Posts: 3571
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: PyMMB - Call for volunteers

Post by jgharston » Sun Jan 27, 2013 2:43 am

Haqa wrote:** For those who have not come across the term FUSE before, it stands for File System in User Space
Free Unix Spectrum Emulator ?

Also, SSD is a disk image file format, not a file system file format. You can have any filesystem in that stream of bytes (usually 256 bytes x 10 sectors x n tracks): DFS, DFS62, AcornCPM, Level2FS, HADFS, ....

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

User avatar
Haqa
Posts: 35
Joined: Mon Jan 14, 2013 12:37 pm
Location: Bishop's Stortford, Hertfordshire
Contact:

Re: PyMMB - Call for volunteers

Post by Haqa » Sun Jan 27, 2013 10:20 am

jgharston wrote:
Haqa wrote:** For those who have not come across the term FUSE before, it stands for File System in User Space
Free Unix Spectrum Emulator ?
It is true it does also (and more accurately) stand for that, however in this instance I'm not attempting to read BBC disk images on a specy emulator. ;)
jgharston wrote:
Haqa wrote:Also, SSD is a disk image file format, not a file system file format. You can have any filesystem in that stream of bytes (usually 256 bytes x 10 sectors x n tracks): DFS, DFS62, AcornCPM, Level2FS, HADFS, ....
Yes, sorry, I was typing the post quite late last night. You are correct. The SSDs I am currently dealing with are 256 x 10 x <=80 containing a filesystem compatible with, and readable by, Acorn DFS.

Adrian...
If at first you don't succeed, blame the cat...

User avatar
tautology
Posts: 388
Joined: Wed Sep 01, 2010 2:26 pm
Contact:

Re: PyMMB - Call for volunteers

Post by tautology » Sun Jan 27, 2013 10:33 am

I wrote a FUSE DFS reader a few years back, but I stopped running Linux on the desktop so ended up not really using it.

Anyway, if you want to steal borrow stuff from my version, feel welcome. (C source code attached.)
Attachments
fuse.zip
(4 KiB) Downloaded 36 times

User avatar
Haqa
Posts: 35
Joined: Mon Jan 14, 2013 12:37 pm
Location: Bishop's Stortford, Hertfordshire
Contact:

Re: PyMMB - Call for volunteers

Post by Haqa » Sun Jan 27, 2013 11:53 am

tautology wrote:I wrote a FUSE DFS reader a few years back, but I stopped running Linux on the desktop so ended up not really using it.

Anyway, if you want to steal borrow stuff from my version, feel welcome. (C source code attached.)
Thanks, that's appreciated. I'm still looking for a bug around xattrs which prevents copies with attributes (cp -av for example) from working.

Adrian...
If at first you don't succeed, blame the cat...

User avatar
Haqa
Posts: 35
Joined: Mon Jan 14, 2013 12:37 pm
Location: Bishop's Stortford, Hertfordshire
Contact:

Re: PyMMB - Call for volunteers

Post by Haqa » Sun Jan 27, 2013 12:00 pm

jgharston wrote:Free Unix Spectrum Emulator ?
Perhaps it would have been better to say "For those who have not come across the term FUSE in this context".

Adrian...
Last edited by Haqa on Sun Jan 27, 2013 3:51 pm, edited 1 time in total.
If at first you don't succeed, blame the cat...

User avatar
davidb
Posts: 2412
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: PyMMB - Call for volunteers

Post by davidb » Sun Jan 27, 2013 2:50 pm

Sounds interesting, though I don't have a lot of time to use on new projects at the moment. Incidentally, I wrote a read-only FUSE filing system for ADFS a while ago.

FUSE is a really cool feature on Linux-based systems, and makes it a lot easier to extend the system's support for disk formats and non-native filing systems. Many years ago, I wished that there had been something like that for RISC OS.

User avatar
Haqa
Posts: 35
Joined: Mon Jan 14, 2013 12:37 pm
Location: Bishop's Stortford, Hertfordshire
Contact:

Re: PyMMB - Call for volunteers

Post by Haqa » Wed Jul 11, 2018 3:24 pm

Just because I kick old tyres on a regular basis - The PyMMB code has a new home - https://projects.limbicly.com/adrian/PyMMB

I'm still looking for assistance with testing and debugging, but feel free to grab a copy and play with it.

Adrian...
If at first you don't succeed, blame the cat...

Post Reply