Skip to content

About

A small SCSI device based on stm32

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

110 Commits

Folders and files

Repository files navigation

BlueSCSI

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:

  • Usability Improvements

  • Mac specific functionality

  • Enable/Disable Passive SCSI termination

  • An alternative power source if not able to be powered by the SCSI bus

  • Documentation

  • Open Hardware (KiCad & Grebers)

ArdSCSino-stm32 created by ztto is the STM32 version of ArdSCSino

ArdSCSino created by Tambo (TNB Seisakusho)

buynow
discordbanner

Join us in #bluescsi on Discord or open an issue on this repo.

Compatibility

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.

Compatible

Tested

SE, SE/30, Classic, Classic II, Mac II’s, Mac IIsi(external power required), Color Classic, LC I/II/III, LC 475, LC 575

Partially Compatible

Mac Plus (hardware 1.0-c and above) - Only System 7 currenty works.

PowerPC - Some have had luck booting but is not recommended.

Performance

All tests done on a Color Classic with SCSI Director Pro 4

  • BlueSCSI

Max Read 1024 KB/sec
Max Write 900 KB/sec
Seek 1.05
  • RaSCSI

Max Read 1181 KB/sec
Max Write 664 KB/sec
Seek 1.19
  • SCS2SD v5.1

Max Read 523 KB/sec
Max Write 267 KB/sec
Seek 1.90

Assembly

Usage

Here is video that will show you a basic prep for an SD card https://youtu.be/WuXM1oGt8cE

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.

Examples

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.

Bad

HD99_712 foo bar fizz buzz bang.hda Over 32 chars and invalid SCSI/LUN/Block size

If no image files are found PC13 will pulse on and off. Check the LOG.txt on the root of the SD card for any errors.

Premade Images

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.

Blanks

If you want to make your own OS image this video will help you through that https://youtu.be/2O-2HR9pJlI

These are blank, formatted drives. If you want to install an OS or software on an empty drive, use one of these.

Custom Disk Images (Advanced)

Here is a video that will take you through the steps of setting up an image from scratch https://youtu.be/2O-2HR9pJlI

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:

  1. Open terminal.

  2. 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.

  3. Place the new blank disk image in the root directory of your SD card.

  4. 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.

  5. After booting into your target machine with the working Mac OS disk image on your BlueSCSI from step 3, format the blank disk.

Termination

To enable termination place the two jumpers on the TERM block. Termination should be enabled if it is the last device in the SCSI chain, otherwise remove the jumpers if it is not.

Troubleshooting

Review the LOG.txt

There should logs that indicate what BlueSCSI did at startup.

LED Flashes on and off 3x

This indicates BlueSCSI could not find any files on the SD card or communicate with the SD card.

Ensure your files are named properly (case sensitive) following the naming convetion in the readme.

If you recived a kit - verify all connections and that the outside of the SD holder is grounded.

LED Flashes on and off 5x

Slow performance

Ensure you are using a good SD card. SD card quality can vary widely.

Format your card as ExFat - users have seen quite a jump in performance.

(Kit Only) Verify you are not using a bad fake

Older Version Specific Troubleshooting

Hardware Versions

1.1-a (in testing)

  • Other SCSI connection types

  • More silk screen art

1.0-c (Latest)

  • Fixed issue with diode footprint being too small

  • Fixed issue with external power and TERMPOWER

1.0-b

First release

Development (Advanced)

Below is for users who wish to edit or develop on the BluePill - normal users should not need to worry about this.

Setup PlatformIO IDE

Open the project in PlatformIO IDE and everything is pre-configured.

Flashing

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. Use this method if you are not a developer and just wish to get the code to the BluePill.

  1. Remove SD Card

  2. Make sure the STLink is up to date - Latest Firmware

  3. Connect pins SWDIO(2), GND(4), SWCLK(6), and 3.3v(8) from the programmer to the Blue Pill. NOTE: These are not the same as Serial ports.

  4. Run the PlatformIO: Upload task.

  5. You should see the LED PC_13 flashing indicating no SD Card detected.

  6. Insert SD Card, boot on your favorite Mac!

The following YoutTube video demonstrates the steps of flashing & updating your BlueSCSI https://www.youtube.com/watch?v=bRLAOts_MTM

Trouble Shooting

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.

Alterantive upload methods

See the uploading documentation on PlatformIO for alterantives.

Using USB HID

Note: I have not been able to get this method to work. Please contribute to this document if you do.

Notes

Making Gerbers for JLCPCB

BlueSCSI™ - Eric Helgeson - All rights reserved.

About

A small SCSI device based on stm32

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages