On 9/14/20 2:57 PM, RETRO Innovations wrote:
On 9/14/2020 1:49 AM, Brian White wrote:
You don't need loader.do.
That's OK.  I actually *DID* need it, because I didn't have ts-dos on my M100.  I also apologize, as it was right in the instructions. I was in a hurry to get going, and didn't read till the end :-)

Reboot normally just results in proceeding to the normal tpdd emulation main loop.
Since I replied to Brian off-list, I found that the issue was a long hidden directory name "System Volume Information" that Windows sticks on all removable media (you can delete, but Windows just adds it back next time you put in the card).  To address, I modified the code to not scan or send to the client any hidden files are directories.


For the platform selection,
I scrounged through all the board.txt and platform.txt files in the arduino IDE installation and found suitable IDE-supplied macros to detect at least the handful of boards currently specifically supported. I haven't pushed that yet because I'm still testing, but it's now detecting the platform at compile-time based on whatever board you chose in the IDE.

Cool, I hope you commit the changes back to the repo.  I'd like to update my repo and then I'd like to maybe ask if you have some more goals for the project beyond moving to esp32 and adding in the modem stuff.  The code is a bit tough for me to understand at present, so I'm considering refactoring some of it and moving some of it to other CPP files to make it easier to understand, but I'm also aware that would create issues for back porting, so thought I would see where the project is going.

Right now, the only issue I found (with the Uno) is that verbose debugging via software serial causes the main comms to have issues, which leads to ts-dos errors and such.  I think there are solutions, but have not dug into it.

Jim

Directories N levels deep and dot-files and long names and spaces and lack-of-extensions all work fine for me.

But I just noticed the the crude little loops that eat the filename arrays in a couple places... Well you tell me why this works for me on linux and not you on windows ;)

  while(s[j] == 0x00) j--;            // seek from end to non-null
  if(s[j] == '/' && j > 0x00) j--;    // seek past trailing slash
  z = j;                              // mark end of name
  while(s[j] != '/' && j > 0x00) j--; // seek to next slash


--
bkw

Reply via email to