How do you use the Windows SDK tools?

@stevenf We've installed 0.10.2 and tried out the Windows simulator! Two of my team members, @Jada and @ryan.splendorr have had to move to Windows due to the Mac version no longer being compatible with older version of macOS. One, @Tony_Ghostbrite, has been working on Windows since he joined us a month ago, just using the command line tools to build and then manually copying the folder over to the datadisk via copy+paste. Today we spent over 3 hours on a group call, working through everyone's individual issues getting their devices up to date, and getting their Windows machines to mostly-reliably build and install.

Issues we've run into:

  1. The Windows simulator opens, and opens the .pdx project, BUT doesn't render things to the screen properly. We can see things draw briefly when we press buttons, but then the screen goes blank. That's with this pdx: project-bottle.pdx.zip (14.7 MB)
  2. We have not been able to install or run the pdx using the menu in the Windows simulator. Choosing install seems to mount the datadisk, but then didn't put the project on the device or reset the device's state afterward.
  3. Installing our project with pdutil install doesn't work reliably. We very often see errors with copying files. Getting errors like
Playdate device detected on COM3
Installing "C:\Users\username\Documents\project-bottle\Builds\project-bottle.pdx"...
Waiting for drive to appear...
Playdate data disk mounted as F:\
Copying files.........................
Unhandled Exception: System.IO.IOException: The file 'F:\Games\project-bottle.pdx\images\alembicChamber_JahnAnim.pdt' already exists.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
   at System.IO.FileInfo.CopyTo(String destFileName, Boolean overwrite)
   at pdutil.Playdate.DirectoryCopy(String sourceDirName, String destDirName, Boolean copySubDirs)
   at pdutil.Playdate.DirectoryCopy(String sourceDirName, String destDirName, Boolean copySubDirs)
   at pdutil.Playdate.Install(String comPortName, String pdxPath)
   at pdutil.Program.Main(String[] args)
  1. Possible drive corruption caused by the install command. One of our devs, @Tony_Ghostbrite, has seen multiple instances of the game folder getting corrupted at some point in this process. The only way to resolve it has been to rename the corrupted game folder, and copy a new one to the Games folder on the Playdate.
  2. Inconsistent mounting and ejecting behavior. Especially if the install command gets interrupted by a file write error, Windows can start to have trouble reading the Playdate as a drive. We've seen "there is a problem with this USB drive, would you like to repair it" notifications, but generally disconnecting and reconnecting the Playdate has resolved them.
  3. For some reason, @Jada's pdc keeps compiling a build that shows an error in her git branch, dev_jada. When switching to the development branch, which doesn't show the error on anyone else's device, then running pdc and pdutil install, the version of the game installed to her device throws the same error. It seems like pdc is building from the wrong version of the files, from another git branch, but I have no idea how that could be possible. She's using GitKraken as a git UI, and is definitely on the development branch according to git.

UPDATE: After manually deleting the old project folder from the device, and pasting in a new pdx folder, she saw an error saying that there were already some files with the same name in place(!). This suggests disk corruption; she's also getting "there's something wrong with this disk" errors in Windows. We tried renaming the pdx folder on device and copying a new one in, and got the same error again. I'm pretty sure the failing pdutil install command is causing disk corruption on the playdate.

AND, as far as I can tell, all of the install and disk errors are related to files appearing to exist in the place where one is being copied to.

Everybody's running SDK 0.10.2, on Windows 10, with probably the most recent updates :slight_smile:

@ryan.splendorr, @Tony_Ghostbrite, @Jada, is there anything I missed here that y'all can add?