Virtual SD Card Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
mNo edit summary
(Add alternative link to file as Mediafire is super sketchy now)
(40 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Dolphin can store data to a virtual SD card named '''sd.raw'''. It is stored under ''"%userprofile%\Documents\Dolphin Emulator\Wii"'' for Windows. By default, it will be created with the size of 128MB.
Dolphin can store data to a virtual SD card named '''sd.raw'''. By default, it will be created with the size of 128MB.


The virtual SD card is very important for homebrew apps on Dolphin. Project M and [[Mario Kart Wii]] custom tracks are the best example of this, as some homebrew apps can only work using files stored on the SD card of the real hardware for which they were designed.
The virtual SD card has important use for homebrew apps on Dolphin. Project M and [[Mario Kart Wii]] custom tracks are two good examples, as some homebrew apps can only work using files stored on the SD card of the real hardware for which they were designed.


== Creating a Virtual SD Card ==
== Creating a Virtual SD Card ==
It is recommend you create one with size at least 512MB for large homebrew apps, for example, Project M, and no more than 2GB for best compatibility as there are compatibility issues with some homebrew apps trying to run under an SDHC card on the real hardware.
It is recommend to create one with size at least 1GB for large homebrew apps, for example, Project M, and no more than 2GB for best compatibility as there are compatibility issues with some homebrew apps trying to run under an SDHC card on the real hardware.


=== Easy Dolphin SDCard Maker – Windows only ===
=== Command Line and Executable Files ===
A simple user created UI for Windows is available here: ''[https://sites.google.com/site/anon4453/tools/easy-dolphin-sdcard-maker Easy Dolphin SDCard Maker]''
Download ''[http://www.mediafire.com/download/cfr9q8542e9lsos/Virtual+SD+Card+Maker.zip Virtual SD Card Maker]'', unzip it, and open the appropriate folder for your system  (Linux / OS X / Windows). The tool is run with a command like:
<pre>mksdcard 2048M sd.raw</pre>
 
# Open the Command Prompt or Terminal then (Note: Vista fails to support drag and drop, and will require manual input.):
# Drag and drop '''mksdcard''' file into the command window for the full directory pointing to mkscard.
# Type <kbd>2048M</kbd> for 2GB, or if desired, an alternate size like <kbd>512M</kbd> (512MB), <kbd>1024M</kbd> (1GB), etc.
# Drag and drop an existing '''sd.raw''' file into the command window, or use a different directory/filename to create a new one.
# Assuming a default [[Controlling the Global User Directory|Global User Directory]] the virtual SD card should be placed at:
::'''Linux''': <var>~/.dolphin-emu/Wii/sd.raw</var> OR <var> ~/.local/share/dolphin-emu/Wii/sd.raw</var>
::'''OS X''': <var>~/Library/Application\ Support/Dolphin/Wii/sd.raw</var>
::'''Windows''': <var>"%userprofile%\Documents\Dolphin Emulator\Wii\sd.raw"</var> (quotation marks are necessary when copying it to Command Prompt)


=== Command Line and Executable Files ===
Alternatively, a non-Mediafire download link can be found by visiting https://developer.android.com/studio/#command-tools and downloading the OS-specific zip there (mksdcard is part of the Android SDK)
Go to [http://developer.android.com/sdk/index.html#Other SDK Tools Only] and download one for your system. Unzip it. The file '''mksdcard''' from <var>\tools\</var> will be used throughout this section.
 
=== Manual macOS Command Line Creation ===
This example creates a 2048 megabyte (2GB) SD card formatted as FAT32:
<pre>
hdiutil create -megabytes 2048 -fs MS-DOS -o ~/Library/"Application Support"/Dolphin/Wii/sd.raw
mv ~/Library/"Application Support"/Dolphin/Wii/sd.raw.dmg ~/Library/"Application Support"/Dolphin/Wii/sd.raw
</pre>


Open the Command Prompt or Terminal then follow the supposed command line:
=== Manual Linux Command Line Creation ===
<pre>mksdcard 2048M sd.raw</pre>
If the above tool does not work, one can manually create a FAT32 partition image in Linux provided <kbd>dosfstools</kbd> is installed.
*Drag and drop '''mksdcard''' file from <var>\tools\</var> into the command window for the full directory pointing to mkscard.
First, pull up a terminal, and then chdir into the Wii folder, which under certain configurations may be located at <var>~/.local/share/dolphin-emu/Wii</var> instead.
*Type <kbd>2048M</kbd> for 2GB, or if desired, replace it with different size like <kbd>512M</kbd> (512MB), <kbd>1024M</kbd> (1GB), etc.
<pre>
*To replace the virtual SD Card, simply drag and drop an existing '''sd.raw''' file into the command window. (The virtual SD card on OS X will most likely located in <var>~/Library/Application\ Support/Dolphin/Wii/sd.raw</var>)<br />Or elsewhere to create new.
cd ~/.dolphin-emu/Wii
</pre>
Then, we must create our raw disk image. This example create a 2048 megabyte (2GB) SD card, but one can replace the <kbd>2048</kbd> with an alternate number of megabytes.
<pre>
dd if=/dev/zero bs=1M count=2048 of=sd.raw
</pre>
Finally, we format our image to FAT32.
<pre>
mkfs.fat -F 32 sd.raw
</pre>


== Editing a Virtual SD Card ==
== Editing a Virtual SD Card ==
=== Linux ===
The virtual SD card can be edited by mounting it to a virtual disk. First create a directory:
<pre>sudo mkdir /media/sdcard</pre>
Then mount sd.raw to it:
<pre>sudo mount -o defaults,umask=000 ./.dolphin-emu/Wii/sd.raw /media/sdcard</pre>
When you are done, simply unmount it like this:
<pre>sudo umount /media/sdcard</pre>
=== macOS ===
In Terminal window, type the following to mount the virtual SD card:
<pre>hdiutil attach -imagekey diskimage-class=CRawDiskImage ~/Library/Application\ Support/Dolphin/Wii/sd.raw</pre>
The virtual SD card can then be ejected through Finder when done being edited.
If you get an error (<tt>hdiutil: attach failed - no mountable file systems</tt>), you can use these commands instead:
<pre>hdiutil mount $(hdiutil attach -nomount -imagekey diskimage-class=CRawDiskImage ~/Library/Application\ Support/Dolphin/Wii/sd.raw)</pre>
=== Windows ===
=== Windows ===
The Windows users must use a third party software that can mount the virtual SD card. Speaking of which... ''[http://www.ltr-data.se/opencode.html/#ImDisk ImDisk Virtual Disk Driver]''
The Windows users must use a third party software that can mount the virtual SD card. Speaking of which... ''[http://www.ltr-data.se/opencode.html/#ImDisk ImDisk Virtual Disk Driver]''
WinImage is unreliable, because oddly enough, it will cause desync and few other unforeseeable problems. ImDisk will be fine.


Quick guide for mounting and editing the virtual SD card with the ''ImDisk Virtual Disk Driver'':
Quick guide for mounting and editing the virtual SD card with the ''ImDisk Virtual Disk Driver'':
#Right-click on '''sd.raw''' file then click '''"Mount as ImDisk Virtual Disk"''' from the context menu.
#Right-click on '''sd.raw''' file then click '''"Mount as ImDisk Virtual Disk"''' from the context menu.
#Then in the very bottom left of the window, select "Harddisk volume" then hit '''"OK"'''
#Check box '''Removable media''' then hit '''"OK"'''. The predefined drive letter and everything else will do just fine.
#*The virtual SD card will now appear as "Local Disk" in which the native Explorer window can read and write in there.
#*The virtual SD card will now appear as "Removable Disk" in which the native Explorer window can read and write in there.
#When done editing the virtual SD card, simply unmount it by right-click on the "Local Disk" then click '''"Unmount ImDisk Virtual Disk"''' from the context menu.
#When done editing the virtual SD card, simply unmount it by right-click on the "Removable Disk" then click '''"Unmount ImDisk Virtual Disk"''' from the context menu.
#*The virtual SD card must be dismounted before using with Dolphin.
#*The virtual SD card must be dismounted before using with Dolphin.


=== OS X ===
== Dolphin Setting ==
In Terminal window, type the following to mount the virtual SD card:
Go to Options > Configure... > Wii > and enable '''Insert SD Card'''.
<pre>hdiutil attach -imagekey diskimage-class=CRawDiskImage ~/Library/Application\ Support/Dolphin/Wii/sd.raw</pre>
 
The virtual SD card can then be ejected through Finder when done being edited.
== Usage ==
=== With Homebrew App ===
The external files used for the homebrew app must be stored within '''sd.raw''' and the homebrew app itself (''boot.elf'' or ''boot.dol'') must exist outside of it for Dolphin to load. Project M, for example, will load from SD root ''\projectm\'' and Dolphin will need to launch Project M through ''\apps\projectm\boot.elf'', '''NOT''' in the virtual SD card. For convenience's sake, it is ideal to have same copies paralleled between inside and outside of the virtual SD card.


=== Linux ===
Though, it is possible to start homebrew app from virtual SD card through homebrew exploits for Wii.
The virtual SD card can be edited by mounting it to a virtual disk:
<pre>mount -o defaults,umask=000 sd.raw /media/sdcard</pre>
When you are done, simply unmount it like this:
<pre>umount /media/sdcard</pre>


== Dolphin Setting ==
The Wii game launcher app will only work if a particular Wii game is set as the default ISO. Within the Dolphin game list, open context menu (right-click) on any Wii game and click '''Set as default ISO'''. Do this before loading a homebrew app with Dolphin.
Go to Options > Configure... > Wii > and enable '''Insert SD Card'''.


== Usage with Homebrew App ==
=== For Netplay ===
The external files used for the homebrew app must be stored within '''sd.raw''' and the homebrew app itself (''boot.elf'' or ''boot.dol'') must exist outside of it for Dolphin to load. Project M, for example, will load from SD root ''\projectm\'' and Dolphin will need to launch Project M through ''\homebrew\apps\projectm\boot.elf'', '''NOT''' in the virtual SD card. It is very ideal to have same copies paralleled between inside and outside of the virtual SD card, so you will have nothing to lose.
Netplay will eventually desync if anything reads the virtual SD card that is not cloned, regardless of the same size it was created, and identical file/folder structures within its root. To prevent that, '''sd.raw''' must be copied from host's computer to joiners' computers before starting netplay. If the virtual SD card was used offline or online with write block disabled, the MD5 checksum will change ("Date Accessed" of the files are what's different in virtual SD card), but will not cause desync. The SD card got to be coming from elsewhere or subjected to the files modified within to be "different".


The homebrew app that was programmed to hack the Wii game will not work if you haven't set a particular Wii game as the default ISO! Within the Dolphin game list, open context menu (right-click) on any Wii game and click '''Set as default ISO'''. Do this before loading a homebrew app with Dolphin.
For the Wii game launcher app, users on both ends must have the same copies of homebrew app and the game in their game list first, then set the game as default ISO, as mentioned in previous section.


[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 15:07, 15 January 2019

Dolphin can store data to a virtual SD card named sd.raw. By default, it will be created with the size of 128MB.

The virtual SD card has important use for homebrew apps on Dolphin. Project M and Mario Kart Wii custom tracks are two good examples, as some homebrew apps can only work using files stored on the SD card of the real hardware for which they were designed.

Creating a Virtual SD Card

It is recommend to create one with size at least 1GB for large homebrew apps, for example, Project M, and no more than 2GB for best compatibility as there are compatibility issues with some homebrew apps trying to run under an SDHC card on the real hardware.

Command Line and Executable Files

Download Virtual SD Card Maker, unzip it, and open the appropriate folder for your system (Linux / OS X / Windows). The tool is run with a command like:

mksdcard 2048M sd.raw
  1. Open the Command Prompt or Terminal then (Note: Vista fails to support drag and drop, and will require manual input.):
  2. Drag and drop mksdcard file into the command window for the full directory pointing to mkscard.
  3. Type 2048M for 2GB, or if desired, an alternate size like 512M (512MB), 1024M (1GB), etc.
  4. Drag and drop an existing sd.raw file into the command window, or use a different directory/filename to create a new one.
  5. Assuming a default Global User Directory the virtual SD card should be placed at:
Linux: ~/.dolphin-emu/Wii/sd.raw OR ~/.local/share/dolphin-emu/Wii/sd.raw
OS X: ~/Library/Application\ Support/Dolphin/Wii/sd.raw
Windows: "%userprofile%\Documents\Dolphin Emulator\Wii\sd.raw" (quotation marks are necessary when copying it to Command Prompt)

Alternatively, a non-Mediafire download link can be found by visiting https://developer.android.com/studio/#command-tools and downloading the OS-specific zip there (mksdcard is part of the Android SDK)

Manual macOS Command Line Creation

This example creates a 2048 megabyte (2GB) SD card formatted as FAT32:

hdiutil create -megabytes 2048 -fs MS-DOS -o ~/Library/"Application Support"/Dolphin/Wii/sd.raw
mv ~/Library/"Application Support"/Dolphin/Wii/sd.raw.dmg ~/Library/"Application Support"/Dolphin/Wii/sd.raw

Manual Linux Command Line Creation

If the above tool does not work, one can manually create a FAT32 partition image in Linux provided dosfstools is installed. First, pull up a terminal, and then chdir into the Wii folder, which under certain configurations may be located at ~/.local/share/dolphin-emu/Wii instead.

cd ~/.dolphin-emu/Wii

Then, we must create our raw disk image. This example create a 2048 megabyte (2GB) SD card, but one can replace the 2048 with an alternate number of megabytes.

dd if=/dev/zero bs=1M count=2048 of=sd.raw

Finally, we format our image to FAT32.

mkfs.fat -F 32 sd.raw

Editing a Virtual SD Card

Linux

The virtual SD card can be edited by mounting it to a virtual disk. First create a directory:

sudo mkdir /media/sdcard

Then mount sd.raw to it:

sudo mount -o defaults,umask=000 ./.dolphin-emu/Wii/sd.raw /media/sdcard

When you are done, simply unmount it like this:

sudo umount /media/sdcard

macOS

In Terminal window, type the following to mount the virtual SD card:

hdiutil attach -imagekey diskimage-class=CRawDiskImage ~/Library/Application\ Support/Dolphin/Wii/sd.raw

The virtual SD card can then be ejected through Finder when done being edited.

If you get an error (hdiutil: attach failed - no mountable file systems), you can use these commands instead:

hdiutil mount $(hdiutil attach -nomount -imagekey diskimage-class=CRawDiskImage ~/Library/Application\ Support/Dolphin/Wii/sd.raw)

Windows

The Windows users must use a third party software that can mount the virtual SD card. Speaking of which... ImDisk Virtual Disk Driver

WinImage is unreliable, because oddly enough, it will cause desync and few other unforeseeable problems. ImDisk will be fine.

Quick guide for mounting and editing the virtual SD card with the ImDisk Virtual Disk Driver:

  1. Right-click on sd.raw file then click "Mount as ImDisk Virtual Disk" from the context menu.
  2. Check box Removable media then hit "OK". The predefined drive letter and everything else will do just fine.
    • The virtual SD card will now appear as "Removable Disk" in which the native Explorer window can read and write in there.
  3. When done editing the virtual SD card, simply unmount it by right-click on the "Removable Disk" then click "Unmount ImDisk Virtual Disk" from the context menu.
    • The virtual SD card must be dismounted before using with Dolphin.

Dolphin Setting

Go to Options > Configure... > Wii > and enable Insert SD Card.

Usage

With Homebrew App

The external files used for the homebrew app must be stored within sd.raw and the homebrew app itself (boot.elf or boot.dol) must exist outside of it for Dolphin to load. Project M, for example, will load from SD root \projectm\ and Dolphin will need to launch Project M through \apps\projectm\boot.elf, NOT in the virtual SD card. For convenience's sake, it is ideal to have same copies paralleled between inside and outside of the virtual SD card.

Though, it is possible to start homebrew app from virtual SD card through homebrew exploits for Wii.

The Wii game launcher app will only work if a particular Wii game is set as the default ISO. Within the Dolphin game list, open context menu (right-click) on any Wii game and click Set as default ISO. Do this before loading a homebrew app with Dolphin.

For Netplay

Netplay will eventually desync if anything reads the virtual SD card that is not cloned, regardless of the same size it was created, and identical file/folder structures within its root. To prevent that, sd.raw must be copied from host's computer to joiners' computers before starting netplay. If the virtual SD card was used offline or online with write block disabled, the MD5 checksum will change ("Date Accessed" of the files are what's different in virtual SD card), but will not cause desync. The SD card got to be coming from elsewhere or subjected to the files modified within to be "different".

For the Wii game launcher app, users on both ends must have the same copies of homebrew app and the game in their game list first, then set the game as default ISO, as mentioned in previous section.