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

Add host support for CMDR-CBMDOS's seekable read/write files #435

Merged
merged 1 commit into from
Oct 24, 2022

Conversation

davidgiven
Copy link
Contributor

This adds host filesystem support for M-mode files, which support arbitrary read/writes, and the SD2IEC form of the P command which allows seeking within them.

One thing I'm uncertain about: I had to hack around CR termination of the P command because it takes binary arguments, and terminating the command on a $0d would cause odd results if one of the parameters was $0d.

I feel like the right thing to do here is to change the command parsing stuff to only execute commands on an UNLSN, but I don't know whether that's actually valid. I can't find any formal specification of how DOS commands work. Would this be safe?

@mist64
Copy link
Collaborator

mist64 commented Oct 24, 2022

I feel like the right thing to do here is to change the command parsing stuff to only execute commands on an UNLSN, but I don't know whether that's actually valid. I can't find any formal specification of how DOS commands work. Would this be safe?

There has never been a formal specification. I tried to compile all sourced into one document here:
https://www.pagetable.com/?p=1038
but it doesn't answer this question either.

The "correct" behavior here would of course be to match the one in the DOS code in the x16-rom. I looked at it again, and it seems it only takes commands on UNLSN.

@mist64 mist64 merged commit e89f1d5 into commanderx16:master Oct 24, 2022
@fachat
Copy link

fachat commented Oct 24, 2022 via email

@davidgiven
Copy link
Contributor Author

Thanks!

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

Successfully merging this pull request may close these issues.

None yet

3 participants