Closed mr-atari closed 5 years ago
Checked in a fix. plato-fix-filenames.zip Please let me know if this problem still persists. -Thom
Sorry, there still is residue of your previously opened file in the filename buffer-area you use.
See screenshot above.
CONFIG is saved with residue of the ATRRDEV.SER
I did notice that when I load plato from D5, it saved to D5: Nice. :-)
Shouldn't that issue be handled by cc65's Atari library, not PlatoTerm?
Yes. This is something unique to LiteDOS, as it doesn't seem to happen on any of the other DOSes. (full disclosure, Sijmen is running this on a DOS he designed.) -Thom
All the same, let's see if changing the fill byte to $9B will work around it for now.
and it does...
To atari standards the EOL character ($9B) must be used in any device/filename handling. Relying on the illegal use of $00 as EOL-marker in most DOS-versions is not recommended. Beside, this protocol is used in all devices and handlers, not only device "D:" So "D2:NAME",$9B is valid and "D2:NAME",$00 is not.
Great to have solved this issue
:-)
My point still is true! PlatoTerm's high-level functions shouldn't care about what any Atari DOS needs. They are written in C; they should use C-style filename strings. The translation from .byte "name",$00
to
.byte "D2:NAME",$9B
should be done by low-level I/O functions in cc65's Atari library.
In other words, this issue doesn't belong here; it should be submitted to the cc65 project. The fix should be done there, not here in PlatoTerm's code.
Sure, what ever you say. I just see this error happen and I have no clue what cc65 does or does not compile. So I can only report this error and tell you what is wrong. I can't tell who makes the error and is surely not relevant for me, the coder will know where to look. I am just debugging and monitoring data going in/out through the BIOS......
I'm gonna call this guy closed.
Some other thing I dug up for you:
Found: Changing the config will save a file called CONFIG.SER Cause: This is due to a residue of letter from the last file accessed (ATRRDEV.SER) left in the filename-buffer. But the main cause is that there is no EOL character after the filename.
You can solve this by clearing the buffer first or (preferred) ending the filename with $9B