Closed davidgiven closed 1 year ago
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.
This is what I do in my XD2031 firmware - execute cmd_handler() only on UNLISTEN. This has in tests shown to give results similar to CBM DOS, but tests are surely not complete.
https://github.com/fachat/XD2031/blob/master/firmware/bus.c
HTH André
Am 24. Oktober 2022 17:07:51 schrieb Michael Steil @.***>:
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.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.
Thanks!
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?