Skip to content

Add file transfers in usb64#26

Open
networkfusion wants to merge 30 commits intokrikzz:masterfrom
n64-tools:develop-filetransfer
Open

Add file transfers in usb64#26
networkfusion wants to merge 30 commits intokrikzz:masterfrom
n64-tools:develop-filetransfer

Conversation

@networkfusion
Copy link
Contributor

@networkfusion networkfusion commented Jul 22, 2022

Description

Adds file transfer option available in OS 3.07.

Notes (this emulates the same functionality as the latest (non sourcecode release at krikzz.com).:

  • Cannot handle spaces in paths
  • Cannot recognise the OS version over USB, so may fail on earlier OS releases.
  • Does not seem to handle "file Artibutes" correctly.

!!! Removes .Net 4.0 target (commented out) as hard to work with in VS2022.

Related Issue

Given this a PR, does not integrate others in this repo, which should be merged independently, although this is actually building on the https://github.com/krikzz/ED64/pull/19 one.

These are related, but not included!!!
https://github.com/krikzz/ED64/pull/21
https://github.com/krikzz/ED64/pull/24

Motivation and Context

I really wanted the ability to send and receive files over USB!

How Has This Been Tested?

locally on an X7 using Properties/launchSettings.json with the parameters

{
  "profiles": {
    "usb64": {
      "commandName": "Project",
      "commandLineArgs": "-cp testfile.txt sd:testfile1.txt"
    }
  }
}

and

{
  "profiles": {
    "usb64": {
      "commandName": "Project",
      "commandLineArgs": "-cp sd:testfile1.txt testfile2.txt"
    }
  }
}

Screenshots (if appropriate):

as required for .net6
(still available for manual builds).
Limit need for targeting pack installation for older frameworks.
(note: for some reason, selecting a specific framework, still builds against all frameworks!)
Fix to known working libDragon version.
Handle Receive command correctly.
Improve StorageOperation variable names.
Improve FileRead and FileWrite using UsbInterface.
Fix transfer length (for most objects)
Fix program arg processing.
@networkfusion
Copy link
Contributor Author

networkfusion commented Jul 22, 2022

image

There is some TODO's but the code is now working.

Of note, the file is reported as an Archive...

Add managed DT to DosDateTime.
Fix some TODO's.
(sucessful testing of sending a file from PC to ED).
@networkfusion networkfusion changed the title Draft: Add file transfer. Add file transfer to usb64 Jul 22, 2022
@networkfusion networkfusion marked this pull request as ready for review July 22, 2022 20:51
@networkfusion networkfusion changed the title Add file transfer to usb64 Add file transfers in usb64 Jul 22, 2022
@networkfusion
Copy link
Contributor Author

No more changes will be made to this branch / PR until a review.

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.

1 participant