Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MMBExplorer: directory name is missing from .inf when extracting file from .SSD #5

Closed
lurkio opened this issue Apr 3, 2021 · 6 comments

Comments

@lurkio
Copy link

lurkio commented Apr 3, 2021

In MMBExplorer I created a new .MMB file with just one .SSD slot. I then inserted a .SSD into that slot. The .SSD had a file called O.TERP on it.

When I extracted the file O.TERP to the desktop, two files were created on the desktop: TERP and TERP.inf. The latter, when viewed in a text editor, was shown to contain the filename (TERP) but without the DFS directory name (O).

Instead, TERP.inf should have stored the filename as O.TERP

@robcfg
Copy link
Owner

robcfg commented Apr 3, 2021

Hi Lurkio!

I just checked it and it indeed happens as you say.

What would be the desired fix? To export the file as TERP with TERP.inf having the name as O.TERP, or to export the file as O.TERP and O.TERP.inf?

Thank you for your report!

@lurkio
Copy link
Author

lurkio commented Apr 3, 2021

I would prefer it to export the file as O.TERP and O.TERP.inf. That would be consistent with DFSExplorer (if I remember the name of that app correctly) and perhaps with other tools too. Plus, I think you really do have to do that if you're exporting two files with the same name but different directories (assuming that exporting multiple files at once is possible in MMBExplorer -- I can't remember off the top of my head)..!

@robcfg
Copy link
Owner

robcfg commented Apr 4, 2021

Hi,

I have it working, but in case the inf file is missing, names can go very wrong due to the BBC<->Host character translation.

For example, if you have a $.myfile file with its inf file, it will get inserted as $.myfile, but if the inf file is missing, it will get inserted as $.</myfil

Is that the intended way of working?

@lurkio
Copy link
Author

lurkio commented Apr 4, 2021

No. I would expect the file $.myfile to be added to a .SSD as $.myfile in all circumstances.

(But we now seem to be talking about adding a file from the host OS to a .SSD inside a .MMB inside MMBExplorer, whereas my original Issue report was about exporting a file from a .SSD to the host OS.)

robcfg added a commit that referenced this issue Apr 5, 2021
@robcfg
Copy link
Owner

robcfg commented Apr 5, 2021

I just made a new release because I think it's working properly now.

Would you mind giving it a try?

Thanks a lot!

@lurkio
Copy link
Author

lurkio commented Apr 6, 2021

Yes, it seems to be working now — sort of...

Something I just noticed is that when I used MMBExplorer to export a BASIC program file from a .SSD to my Mac desktop, the load and exec addresses in the accompanying .inf file were 31900 and 38023, which are wrong. They should be FF1900 and FF8023.

Somehow, though, when I used DFSImager to put the exported file from the Mac desktop back onto a blank .SSD and then opened the .SSD in BeebEm, the load and exec addresses were magically corrected to FF1900 and FF8023!

(However, immediately after DFSImager had imported the file from the Mac desktop to the .SSD, DFSImager did briefly display the wrong addresses (31900 and 38023) in its app window — until I closed the .SSD in DFSImager and reopened it again, whereupon I found that the addresses had magically transformed into the correct values FF1900 and FF8023!)

Also, if I use DFSImager to export the file from the .SSD to my Mac desktop, the .inf file written by DFSImager contains the correct values. Here are the full contents of the .inf file written by DFSImager:

$.TERP FF1900 FF8023 CRC= C52

I've tried manually editing the .inf file that's output by MMBExplorer so that the load and exec addresses are the correct values FF1900 and FF8023, and it hasn't caused any problems so far. Therefore I would suggest that MMBExplorer should be updated so that when it exports a file from a .SSD to the host OS, MMBExplorer writes the correct load and exec addresses into the .inf file — just as DFSImager already does.

The following discussion on Stardot may or may not be helpful!:

https://stardot.org.uk/forums/viewtopic.php?p=316109#p316109

@lurkio lurkio closed this as completed Apr 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants