mattgodbolt / jsbeeb

Javascript BBC micro emulator
GNU General Public License v3.0
351 stars 68 forks source link

Feature request: VDFS (or other local file) support #151

Open davidgiven opened 6 years ago

davidgiven commented 6 years ago

I know it's a pretty hefty feature, but it would be awesome...

We already support local disks with save/load via Google Drive; but VDFS (as made famous by b-em) support with the emulator traps set up to do individual file reading/writing to the user's Google Drive would be even better. That would allow individual files to be uploaded to Drive and then loaded directly into the emulator without needing to set up disk images.

An alternate but similar option which doesn't involve non-Acorn BBC software is to implement a virtual Econet file server which does the same thing: the emulated machine connects to a virtual Econet network; the emulator pretends that there's a file server there; the file server proxies requests to Drive.

mattgodbolt commented 6 years ago

Thanks for the great ideas! I'll take a look at VDFS at some point, and Econet has long been on my love-to-do list. I'm super busy with other projects at the moment, but I'd gladly accept pull requests!

davidgiven commented 6 years ago

Yeah, I knew it was huge amount of work --- I mainly suggested it so that it was on the list for people to see, rather than any expectation that you'd leap up and do it.

I'm more inclined to think now that Econet might be the better way to go, as it would involve fewer dubious hooks into the emulation engine. It could theoretically be implemented via hardware-level emulation of the Econet module. Plus, it means that the time spent is working on emulating original features, which is always nice.

aund might be helpful here, although I never had much luck making it work with beebem: http://bjh21.me.uk/aund/ I'm sure that the Econet protocol has documentation, but I can't find any off hand.