BlueSCSI & ArdSCSino are hardware that reproduces SCSI devices (hard disks) with an Arduino STM32F103C (aka Blue Pill.)
BlueSCSI
created by erichelgeson is a fork of ArdSCSino-stm32
which adds:
-
Mac specific functionality
-
Passive SCSI termination
-
An alternative power source if not able to be powered by the SCSI bus
ArdSCSino-stm32
created by ztto is the STM32 version of ArdSCSino
ArdSCSino
created by Tambo (TNB Seisakusho)
Join us in #bluescsi on Discord or open an issue on this repo.
If your computer is not listed below - it may be compatible but there is no guarantee it will work. This device is designed and tested to work with pre-PowerPC Macs.
Tested on a Color Classic with SCSI Director Pro 4
1024KB/Sec Write
900KB/Sec Read
1.01ms Seek
Hard Disk image files are placed in the root directory of a ExFat
or FAT32
formatted SD card. ExFat
may be much faster. Use a premade or blank disk below. These images are compatible with the RaSCSI device and Basilisk II emulator.
The naming convention is as follows (file name max 32 characters). Note you may mount multiple drives at a time to different SCSI ID’s.
HDxy_512.hda
HD - Hard Disk
x - SCSI ID to attach to. 0-7 (though 7 on a Macintosh is the System)
y - LUN id usually 0.
512 - Sector size. Usually 512. 256, 512, & 1024 supported.
HD10_512.hda
- Hard Disk at SCSI ID 1, LUN 0, sector size of 512.
HD51_512 System 6.0.8L LC.hda
- Hard Disk at SCSI ID 5, LUN 1, sector size of 512. Text between block size and .hda is ignored.
Premade images are handy to just drop onto your SD card and go. You can use an emulator such as Basilisk II on your modern machine to get software from places like the Macintosh Garden to your vintage mac.
-
Premade from savagetaylor.com (Use images from the "Drive" section) - https://www.savagetaylor.com/downloads/downloads-macintosh/
-
Premade from RaSCSI work as well - http://macintoshgarden.org/apps/rascsi-68kmla-edition
These are blank, formatted drives. If you want to install an OS or software on an empty drive, use one of these.
-
Preformatted HFS blank images in various sizes - https://github.com/erichelgeson/BlueSCSI/tree/main/docs/MacHD.zip
This technique is useful when you would like a disk image larger than the pre-built images in the previous section.
The following instructions demonstrates the process using dd on a modern Mac:
-
Open terminal.
-
The following command will create a blank disk image. You can modify the command to suit your use.
-
dd if=/dev/zero of=example.hda bs=1m count=500
-
The
count
field defines the number of megabytes (bs=1m
) the total disk image should be. -
The output file from the command is "example.hda". This can be changed in the
of=example.hda
field.
-
-
Place the new blank disk image in the root directory of your SD card.
-
If you do not already have a tool to format SCSI drives, download LIDO. You can use an emulator such as Basilisk II to move files to the image to prepare your installation.
-
After booting into your target machine with the working Mac OS disk image on your BlueSCSI from step 3, format the blank disk.
Below is for users who wish to edit or develop on the BluePill - normal users should not need to worry about this.
Open the project in PlatformIO and everything is pre-configured.
When flashing you have two options:
Flash by setting up the IDE and re-compiling and programming. If you are a developer and plan to contribute this method is what you should use.
You may also flash the .bin
file directly from STM32CubeProgrammer. If you are not a developer and just wish to get the code to the BluePill, use this (as development environment setup can be a bit tricky!)
-
Remove SD Card
-
Make sure the STLink is up to date - Latest Firmware
-
Connect pins
SWDIO
(2),GND
(4),SWCLK
(6), and3.3v
(8) from the programmer to the Blue Pill. NOTE: These are not the same as Serial ports. -
Run the PlatformIO: Upload task.
-
You should see the LED
PC_13
flashing indicating no SD Card detected. -
Insert SD Card, boot on your favorite Mac!
If the device is not detected you may need to hold reset, click program, once it is detected release reset.
If you are unable to get the device in DFU mode for programming you may need to use STM32CubeProgrammer to erase the chip.
See the uploading documentation on PlatformIO for alterantives.
BlueSCSI™ - Eric Helgeson - All rights reserved.