Sunday, April 09, 2017

RDOS - Arduino TPDD Reborn

The programs that I wrote to talk to my Arduino set up worked, even though the original clients didn't.  So, I decided to write my own clients to talk to it.

The new project is called RDOS (for Ron's Disk Operating System - hey, I created it, so I get to name it).  You can get it here.

Since I now control both the client and the device, I decided to simplify things.  So it no longer does the full TPDD protocol.

Commands:
  • Directory Reference - Option 0, 1 and 2 are used.  Option 3 was changed from "request previous directory block", to "change directory". Option 4 is removed.
  • Open file - Implemented
  • Close file - Implemented
  • Read file - Implemented
  • Write file - Implemented
  • Delete file - Implemented
  • Format Disk - Unsupported
  • Drive Status - Unsupported
  • DME Req - Unsupported
  • Drive Condition - Unsupported
  • Rename file - Implemented
  • TS-DOS Mystery Command - Unsupported
  • TS-DOS Mystery Command - Unsupported
File names were padded, internally, to be 6 bytes, dot, 2 bytes. This restriction was removed.  You can use the full 24 bytes for the remote file name.  You still need to name it to be only 6 bytes on the Tandy size, though.
Checksum will not be supported (since the communications is much better, it's no longer needed).
Client programs:
  • RLIST.BA - List the files in the current directory
  • RLOAD.BA - Load the file into the Tandy - the program loaded by the boot button
  • RSAVE.BA - Save the file into the SD card
  • RUTIL.BA - Delete/rename files, change working directory
Notes:
  • Tandy BASIC does not permit you to open a .BA file for writing, so you can't load a tokenized BASIC program. You can only load it as a .DO file and then do a LOAD "xxx.DO" in the BASIC interpreter. Note that you can SAVE a .BA file, though. So this project only works for data files, not binary program files.
  • Don't bother trying to save a file with any extension other than .DO. You will get an "?MN Error". Just leave the extension off for the Tandy file name and let it default to .DO.
  • It will "boot" the loader program by doing a LOAD "COM:98N1D and pressing a button. Once the loader program is there, you can load the save, list and utility programs.
  • I implemented directory handling, so you can use a nice, big SD card and subdirectories.
I've booted up from a hard reset on my T102, loaded up all the programs, and played for a bit. I still need to really kick it around, so it's in alpha test right now.

No comments: