Skip to content

SCSI2SD: FAT32 32GB easy edit version

A new, and I think a much easier way to use your SCSI2SD with your Macintosh system. This image file can be used to setup your 32GB card with a FAT32 formatted partition that contains a set of volume files that you can easily mount and edit using Basilisk II, Mini vMac, or some other tool. I created this image file after wondering if I could create something for my SCSI2SD that would be as easy to use as my MacSD. Turns out I could, and then I found out that Andrew over on the MLA beat me to it. This is my version of what he created, his version is formatted exFAT, I decided to use FAT32 and I added more volume files and support for an optional second drive (with 4GB volumes).

SCSI2SD adapter

What you need

Quick Start

These steps are a summary of the information in the sections below

  1. Optional: Update your SCSI2SD with the latest firmware
  2. Download my FAT32 32GB SCSI2SD image and write it to an SD card using balenaEtcher (Windows/Linux/Mac), HDDRawCopy or DD (Windows/Linux/Mac)
  3. Optional: Use Basilisk II, Mini vMac, or some other tool to edit the contents of the Volume files on the SD card. For Basilisk II you may need to manually edit your BasiliskII_prefs file to add the locations of the volume files. For some reason the BasiliskIIGUI application will not let you specify a removable drive as a source.
  4. Configure your SCSI2SD using the SCSI2SD config file that can now be found on your SD card or manually using the settings found in Step 4
  5. Use the SD card and your SCSI2SD (note not all Macintosh Systems support 4GB volumes, so the volumes for the 2nd drive may not be usable on your system, the 2GB volumes for the first drive should be supported by all Macintosh Systems that support SCSI drives).
  6. Details of how the SD card was created.

1. Updating to the latest firmware

This is an optional step, but I recommend you do this to reduce the chance of you having issues with your SCSI2SD device.

  1. Connect your SCSI2SD board to your modern system via USB
  2. Download the latest firmware and scsi2sd-util software for your SCSI2SD adapter (figure 1)
  3. Run the scsi2sd-util software (figure 2)
  4. Upgrade your firmware (figure 2,3,4)

2. Download and write to an SD card

My image file is a bit-by-bit copy of the first 28.7GB of a 32GB FAT32 formatted SD card that contained a 28.6GB FAT32 formatted partition (with a 1KB cluster size) and a set of files containing the Mac Driver and Volumes for the 2 hard drives the SCSI2SD will be emulating for your Macintosh. The file D1HFS_01.dsk represents the first volume of the first drive and contains a minimal installation of System 7.5.5 and some other tools to help you get started. See step 3 below for additional information on how you can update to the full version of System 7.5.5, or install a different System or OS version. I used AOMEI Partition Assistant to create the partition and format the partition with 1KB clusters.

I created a partition of 28.6GB on the SD card to compensate for the varying “storage” capacity of 32GB SD cards. Like hard drives, SD card manufacturers often use multiples of 1000 not 1024 when calculating size, which should mean that SD cards will have a storage capacity of at least 29.8GB. Instead, I’ve found the storage capacity on some SD cards to be even lower, with one card I have only having a capacity of 28.9GB. The space on your SD card greater than 28.7GB will appears as unallocated space (see image below

2 SD cards, both 32GB

Once you have downloaded the image file, you can use balenaEtcher, HDDRawCopyDD or some other software to raw-write the image to your SD card. These applications will completely overwrite the contents of you SD card, reformatting it as FAT32 with 2 partitions. Your modern computer system should then be able to mount the SD card for you to work with.

3. Edit the contents of the volume images

WARNING: you can NOT delete or move the volume files. For this technique to work the volume files must be located at specific sectors on the SD card and written sequentially to the SD card (no fragmentation). See step 6 for details. You can rename the files if you want.

Root folder/directory of the SD card

I have created guides describing how you can use emulators such Basilisk IImini vMac or SoftMac on modern machines to edit the volume images found on the SD card, with detailed instructions on how you can use Basilisk II (the emulator I use the most) to replace the minimal version of the System Software 7.5.5 on my image file with the full (English) versions of systems: 3.2, 4.1, 5.1, 6.0.3, 6.0.5, 6.0.87.0, 7.0.17.1, 7.1.1, 7.1.2, 7.5, 7.5.1, 7.5.2, 7.5.3, 7.5.5, 7.6, 7.6.1, 8, and 8.1 from an ISO image file created from Apple’s Legacy Software Recovery CD. You can also install non-english versions from the Mac OS Anthology CD, or install from the restoration CD for you system if one exists.

Special note for Basilisk II: unfortunately the BasiliskIIGUI.exe interface that lets you configure Basilisk II will not let you select volume images on a removable drive. You will need to manually edit the BasiliskII_prefs file to add the volumes from the SD card to the list of drives for Basilisk II. E.g. add the line disk F:\drive1\D1HFS_01.dsk

4. Configure your SCSI2SD

Now that you are done setting up your SD card you can insert it in to your SCSI2SD, BUT before you can use your SCSI2SD you need to update the SCSI2SD’s configuration settings so it knows where the 2 drives on the SD card start and stop. The easy way to do this is use the scsi2sd_32GB_FAT32_config.xml file found on the SD card (similar to step 1 above, using scsi2sd-util or scsi2sd-util6, file -> open file -> save to device), but if you want you can also manually enter the settings found in the table and images below:

DeviceStart SectorSector Count
Device 1, SCSI ID 046708825296964
Device 1, SCSI ID 12576405433423436
SCSI2SD settings

Note: the 2nd drive has 4GB volumes, these may not be supported by your Macintosh System. If so, you can either disable Device 2 (uncheck enable SCSI target), or you can delete all the 4GB files in the Drive 2 folder and manually setup a new Drive 2 by copying the 2GB volume files from Drive 1. Note: if you do so, you will need to write them sequentially, and calculate the new sector count. for Device 2. The SD card start sector should remain the same. You will then also have to re-initialize Drive 2 / Device 2 on your Macintosh System and make sure to set the volume sizes to match the size of the volume files. See details in step 6.

5. Using your SCSI2SD

You should now be able to insert your SD card in to your SCSI2SD and connect your SCSI2SD to your powered off 68k or PPC Macintosh system. Turn on your system and assuming there are no SCSI ID conflicts you should now be able to use your emulated hard drive(s). NOTE: for the Macintosh Plus the SCSI2SD needs to be connected to a power source to work, USB power is the easiest.

6. Creating this FAT32 SCSI2SD image

I created this image file for use in my LC475 and Color Classic systems that support my Apple IIe card. For those systems I wanted to have 4 ProDos volumes to have plenty of storage space for the games found on the Total Replay Collection by qkumba and 4am, a collection of games that have been cracked and ported to ProDOS. When creating this, I had to work around a couple of limitations of HD SC Setup:

After setting up a 28.6GB partition and formatting as FAT32 with 1KB clusters I added the directories (folders) and volume files listed in the table below. The first volume of drive 1, D1HFS_01.dsk contains the minimal version of system 7.5.5 and other software and tools to help you setup your Macintosh System.

Size (KB)NameDescriptionFormat
1024Partition TableContains information about the partition on the SD card. There is only one 28.6GB partition.N/A
232518File SystemContains information on the files saved in the FAT32 formatted partition (with 1k cluster size)FAT32
1GUIDA GUID generated by Windows 10 for identifying the driveFAT32
1Directorydrive1, 1KB entry containing directory informationFAT32
48D1.binStart Sector = 467,088,
Contains the Apple Driver 4.3, volume block, boot block, and master directory block for the first “drive”. The “drive” was initialized using a patched version of HD_SC_Setup_7.3.5 that supports non-apple drives.
HFS
2097150D1HFS_01.dskStart Sector = 467,184
HFS formatted volume containing your choice of 4.1, 5.1, 6.0.8, 6.0.8L, 6.0.8P, 7.5.5, or 8.1 (see my downloads page for more details)
HFS
02 to 06.dskStart Sectors = 4,661,484
5 more HFS formatted volume, each 2,097,150KB
HFS
32767D1PD_01.dskStart Sector = 25,632,984
ProDOS formatted volume for my Apple IIe card
ProDOS
32767D1PD_02.dskStart Sector = 25,698,518
ProDOS formatted volume
ProDOS
Total Sector Count for the “drive” = 25,296,964
1Directorydrive2, 1 KB entry containing directory informationFAT32
48D2.binStart Sector = 25,764,054,
Drive Sector Count
= 33,423,436
Apple Driver 4.3, volume block, boot block, and master directory block
HFS
4161534D2HFS_01.dskStart Sector = 25,764,150
HFS formatted volume (1K less than 4GB so it can fit on a FAT32 drive)
HFS
02 to 04.dskStart Sector = 34,087,218
3 more HFS formatted volumes, each 4161534 KB
HFS
32767D2PD_01.dskStart Sector = 59,056,422
ProDOS formatted volume
ProDOS
32767D2PD_02.dksStart Sector = 59,121,956
ProDOS formatted volume
ProDOS
Total Sector Count for the “drive” = 33,423,436
File locations for my FAT32 SCSI2SD setup

21 Comments

  1. olegyk olegyk

    Why does it say exFAT in “Contains information on the files saved in the exFAT formatted partition (with 1k cluster size)”? Supposed to be FAT32.

  2. olegyk olegyk

    The screenshots like “FAT32 directory 1” do not match the contents of the disk. Such as screenshot shows P1HFS_01DSK and the disk has D1HFS_01DSK.

    • I made the screen shots with files named P1HFS and then decided to rename to D1HFS, will update the screen shots soon.

      • olegyk olegyk

        Also is there a reason to name one of the ProDOS disk different from the others (D1P1D vs D1PD2, D2PD1) or something like that)?
        There is a huge number of volumes appearing at once on the desktop. Is there a standard procedure to to only keep some of them auto mounted?

        Also this method of exposing disks as files is amazing. Another strong use case would be to have the second SCSI disk with a larger ~16Gb HFS+ volume instead of 4 smaller HFS (and maybe the 2 ProDOS there too). That way such SD card could be shared between PowerPC Macs and 68k.

        I am using this configuration on SCSI2SD 5.5 (the external) for the primary purpose of backing up old SCSI spindle drives before they gooey up. I had one such drive that only lasted a couple of sessions and died. So such external SCSI2SD method is critical to act fast.

        • For file names, they can be anything you want. No impact on how this all works. For your HFS+ suggestion, I thought of that too, but FAT32 is limited to 4GB files. So I would have to make a new exFAT version.

          • olegyk olegyk

            Right — good point about exFAT. But it should be OK on modern machines.
            exFAT is what Andrew at MLA uses, but I am not sure his method provides for more than one SCSI disks. I like in your methods that it offers two SCSI disks for more flexibility.

  3. olegyk olegyk

    Thank you for a nice tutorial and sharing the effort of creating a quazi RaSCSI with both image files for modern computers and volumes for the Mac.

    But I am running into an issue so far:
    Using the image and DD on Windows:

    dd if=SCSI2SD_FAT32_32GB.dsk of=\\.\Volume{449337ef-77d8-11ed-89f4-04cf4b103c21} bs=1M –size –progress

    29,380M
    29380+0 records in
    29380+0 records out

    the resulting SD card is not recognized. It is shown as RAW in Disk Management.
    And there is NO un-allocated space in the end.
    The card used is SAMSUNG 32GB EVO Plus MicroSDHC.

    Regular Windows format does not support FAT32 with 1k clusters.
    Does the SD card need to be formatted with 1k clusters first? How?
    Also goes the SD card need to be partitioned first?

    • You can’t write this file using DD to a volume, that would overwrite the SD card starting at the beginning of the volume, not the beginning of the SD card. You need to write to the device. As you mention in you next comment, if you run command prompt as administrator then run DD –list you should see references to \\?\Device\Harddisk…., that is the reference you need to use for DD. When you write this file to the device if complete overwrites the contents of the SD card from sector 0 onward, including the boot sector and partition table.

      • olegyk olegyk

        Bingo! Yes, I vaguely remember something along those lines. It’s been a while since I used DD. — Thank you for that detail.

        It might be worth mentioning here and on your excellent DD guide like you explained above.

        Right now, the DD guide actually says the opposite (the wrong way I was doing it with Volume and not \\?\Device\Harddisk1):
        “””for windows type “dd if=OS_755_2GB.dsk of=\\.\Volume{bc8eb0e4-a23d-11e8-9982-00e18c7bb83e} bs=1M –size –progress”””

        Or maybe there are two “raw-write” methods: (1) simply a volume to an existing partition (like you have an DSK disk in the other guide) and (2) for the whole physical disk starting from MBR, partition table and multiple partitions.

        • It does? I thought I fixed that, will up date.

          • olegyk olegyk

            I mean even it the DD guide mentions Volume, there are may be two methods — depending whether you copy a single partition (volume) like your 2Gb examples or a whole physical disk like here.
            If that’s the case, it makes sense to give both methods then reference the one specific method from here like *physical disk raw copy* as opposed to *logical volume raw copy*.

          • olegyk olegyk

            I also realize now how clever it is to use the raw-disk method as opposed to logical volume: because different models of 32GB SD cards have different available size, so a logical volume wouldn’t work — you can never match the size of the image and whatever was allocated in an existing volume partition on the SD card.
            But with raw-disk method, you impose a new partition size (deliberately smaller than any possible SD card) and leave the un-allocated space to naturally fill up the end of the disk with whatever remaining size left in any given SD card.
            You talk about the varying sizes and why you chose 28GB — but it’s now clear also why the raw-disk method is used.

  4. olegyk olegyk

    But using the balenaEtcher everything worked fine.

    In the DD method a few portions were verified by downloading them back with DD, and looked like the screenshots of HexEditor above.

    A couple of more things that could be tried with DD:
    – deleting any existing partitions before DD
    – using Run As Admin for cmd (but it didn’t prevent writing and verifying the data)

    • balanaEtcher overwrites the contents of the SD card starting at sector 0. DD can also overwrite starting at sector 0 but you need to write to the device while running DD as administrator.

  5. olegyk olegyk

    I’ve had a couple of issues when installing a system in Basilisk and then using on a real Mac:

    (1) On drive1: volumes D1HFS_01 and D1HFS_02 work fine, but D1HFS_03, D1HFS_04 etc could not boot on a real Mac – during boot after the smily Mac icon it kept restarting over and over again. So I though maybe there is a limit of only 2 bootable volumes per disk?

    (2) On drive2: only the first volume works. The rest of the volumes after moving from emulator to real Mac and back, the volume(s) was uninitialized again.
    In fact, there is an error in configuration: the SD card file size (for D2HFS_01.dsk etc) is 4,251,170,816, which is 4,151,534 KB; and in the Mac partitions (see the table above) it is 4,161,534 KB — see the difference?
    Not sure which one is correct. But the card image (and possibly the SCSI2SD config) need to be re-done now.

    • olegyk olegyk

      To fix the issue #2 (FAT32 file size 4,151,534 KB not matching the apple partition file size 4,161,534 KB) for an existing SD card without re-building, it should be possible to patch just the D2.bin by shifting the start and size of each HFS partition entry.

  6. olegyk olegyk

    Some time back I wrote a program that shows the HFS partition map. Hopefully it could be adapted to patch such map too:

    partmap partfile DDF,’D1.bin’
    Block size: 512, count: 25296964, total: 12952045568
    skip count name type
    1 63 Apple Apple_partition_map
    64 32 Macintosh Apple_Driver43
    96 4194300 MacOS Apple_HFS
    4194396 4194300 MacOS Apple_HFS
    8388696 4194300 MacOS Apple_HFS
    12582996 4194300 MacOS Apple_HFS
    16777296 4194300 MacOS Apple_HFS
    20971596 4194300 MacOS Apple_HFS
    25165896 65534 ProDOS Apple_PRODOS
    25231430 65534 ProDOS Apple_PRODOS

    partmap partfile DDF,’D2.bin’
    Block size: 512, count: 33423436, total: 17112799232
    skip count name type
    96 8323068 MacOS Apple_HFS
    1 63 Apple Apple_partition_map
    64 32 Macintosh Apple_Driver43
    8323164 8323068 MacOS Apple_HFS
    16646232 8323068 MacOS Apple_HFS
    24969300 8323068 MacOS Apple_HFS
    33357902 65534 ProDOS Apple_PRODOS
    33292368 65534 ProDOS Apple_PRODOS

    It shows volume sizes in counts of blocks of 512 bytes.
    So in drive2, the volume size 8323068 corresponds to 4,161,534 KB.

    Interestingly, the first Apple_HFS volume comes at the very top of the
    partition map for some reason.

    • Thanks, I will hopefully get this fixed later this week, will post a warning at the top of the page for now.

  7. olegyk olegyk

    I ended up creating an Excel spreadsheet with the current and correct offsets and sizes of volumes (in dec and hex), and then used HxD to patch the drive2 partition table in situ, following some HSF tech docs. This allowed preserving the contents of the existing volumes in drive1 and the first volume in drive2. The rest of the volumes in drive2 just needed to be Erased (formatted), since the drive2 itself is already partitioned.

    https://docs.google.com/spreadsheets/d/1nMRRPL6Ps7eSlGQlJoNtYFqZyjVCnFQB/edit?usp=share_link&ouid=109479133388849579203&rtpof=true&sd=true

    • Thanks for all your feedback. I have fixed and reuploaded the image file. One issue I fixed was the addition (by windows) of a GUID for the volume/drive in the first sector of the partition. That shifted everything by 2 sectors. A tested the new version on my LC475 and my LC630 systems. It worked for both. I will test on my SE and Plus when I have a chance.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.