BlueSCSI/README.adoc

202 lines
7.7 KiB
Plaintext
Raw Normal View History

2020-12-21 15:52:29 +00:00
# BlueSCSI
:toc: macro
2020-12-21 15:52:29 +00:00
BlueSCSI & ArdSCSino are hardware that reproduces SCSI devices (hard disks) with an Arduino STM32F103C (aka Blue Pill.)
`BlueSCSI` created by https://github.com/erichelgeson[erichelgeson] is a fork of `ArdSCSino-stm32` which adds:
2021-04-03 19:43:12 +00:00
* Usability Improvements
2020-12-21 15:52:29 +00:00
* Mac specific functionality
2021-04-03 19:43:12 +00:00
* Enable/Disable Passive SCSI termination
2020-12-21 15:52:29 +00:00
* An alternative power source if not able to be powered by the SCSI bus
2021-04-03 19:43:12 +00:00
* Documentation
* Open Hardware (KiCad & Grebers)
2020-12-21 15:52:29 +00:00
`ArdSCSino-stm32` created by https://github.com/ztto/ArdSCSino-stm32[ztto] is the STM32 version of `ArdSCSino`
2021-03-24 02:07:00 +00:00
`ArdSCSino` created by https://twitter.com/h_koma2[Tambo (TNB Seisakusho)]
2021-01-20 03:15:26 +00:00
2021-04-23 03:07:58 +00:00
image::docs/buynow.png[link=https://scsi.blue, 150]
image::docs/discordbanner.png[https://discord.gg/GKcvtgU7P9, 150]
2021-01-20 03:15:26 +00:00
Join us in #bluescsi on https://discord.gg/GKcvtgU7P9[Discord] or open an issue on this repo.
2021-01-20 02:51:01 +00:00
toc::[]
2019-02-09 18:24:48 +00:00
2021-01-20 03:10:21 +00:00
## Compatibility
2019-02-09 18:24:48 +00:00
2021-01-20 03:10:21 +00:00
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.
2020-07-06 13:55:06 +00:00
2021-01-20 03:10:21 +00:00
### Compatible
2020-07-06 13:55:06 +00:00
2021-01-20 03:10:21 +00:00
#### Tested by Me
2020-07-06 13:55:06 +00:00
2021-04-03 19:43:12 +00:00
SE, SE/30, Classic, Classic II, Mac II's, Color Classic, LC I/II/III, LC 475, LC 575
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
#### Partially Compatible
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
Mac Plus (1.0-c and above) - Only System 7 currenty works.
PowerPC - Some have had luck booting but is not recommended.
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
#### Reported by others
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
https://68kmla.org/forums/topic/61045-arduino-scsi-device-work-in-progress/?do=findComment&comment=663077[IIcx], https://68kmla.org/forums/topic/61045-arduino-scsi-device-work-in-progress/?do=findComment&comment=664446[PowerBook 100 (with custom adapter)]
2021-01-20 03:10:21 +00:00
## Performance
Tested on a Color Classic with https://macintoshgarden.org/apps/scsi-director-pro-40[SCSI Director Pro 4]
2021-01-20 03:14:05 +00:00
```
2021-01-29 19:03:15 +00:00
1024KB/Sec Write
2021-01-20 03:10:21 +00:00
900KB/Sec Read
1.01ms Seek
2021-01-20 03:14:05 +00:00
```
2021-01-20 03:10:21 +00:00
## Assembly
2021-03-24 22:24:06 +00:00
++++
See <a href="docs/assembly.md">docs/assembly.md</a>
++++
2021-01-20 03:10:21 +00:00
## Usage
2021-03-29 17:29:30 +00:00
Hard Disk image files are placed in the root directory of a `ExFat` or `FAT32` formatted SD card. https://twitter.com/theory_retro/status/1376571371694723076[`ExFat` may be much faster]. Use a premade or blank disk below. These images are compatible with the RaSCSI device and Basilisk II emulator.
2021-01-20 03:10:21 +00:00
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.
```
2021-03-26 16:39:26 +00:00
### Examples
`HD10_512.hda` - Hard Disk at SCSI ID 1, LUN 0, sector size of 512.
2021-01-20 03:10:21 +00:00
`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.
2021-03-29 00:57:20 +00:00
#### Bad
2021-01-20 03:10:21 +00:00
2021-03-26 16:39:26 +00:00
`HD99_712 foo bar fizz buzz bang.hda` Over 32 chars and invalid SCSI/LUN/Block size
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
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.
2021-01-20 03:10:21 +00:00
2021-03-29 00:57:20 +00:00
### Premade Images
2021-03-29 00:57:20 +00:00
Premade images are handy to just drop onto your SD card and go. You can use an emulator such as https://www.emaculation.com/doku.php/basiliskii_osx_setup[Basilisk II] on your modern machine to get software from places like the https://macintoshgarden.com[Macintosh Garden] to your vintage mac.
2021-03-28 13:22:55 +00:00
* Premade from savagetaylor.com (Use images from the "Drive" section) - https://www.savagetaylor.com/downloads/downloads-macintosh/
2021-03-29 00:57:20 +00:00
* Premade from RaSCSI work as well - http://macintoshgarden.org/apps/rascsi-68kmla-edition
2021-03-29 00:57:20 +00:00
### Blanks
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
### Custom Disk Images (Advanced)
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 https://ss64.com/osx/dd.html[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, https://macintoshgarden.org/apps/lido-756[download LIDO]. You can use an emulator such as https://www.emaculation.com/doku.php/basiliskii_osx_setup[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.
2021-01-20 03:10:21 +00:00
### 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.
2021-01-20 03:10:21 +00:00
## Troubleshooting
2021-04-03 19:43:12 +00:00
### Check Log Files
2021-01-20 03:10:21 +00:00
If your device is not working - check the `LOG.txt` in the root of the SD card.
### Performance is slower than expected
2021-04-03 19:43:12 +00:00
Use ExFat instead of FAT32
2021-01-20 03:10:21 +00:00
Try a different SD card. Cheap/old SD cards can affect performance.
2021-04-03 19:43:12 +00:00
### Version Specific
<<docs/troubleshooting-1.0-b.adoc,Version 1.0-b>>
<<docs/troubleshooting-1.0-c.adoc,Version 1.0-c>>
## Hardware Versions
2021-04-10 19:11:06 +00:00
### 1.1-a (in testing)
2021-04-10 19:11:06 +00:00
* Other SCSI connection types
* More silk screen art
2021-04-10 19:11:06 +00:00
### 1.0-c (Latest)
* Fixed issue with diode footprint being too small
* Fixed issue with external power and `TERMPOWER`
2021-04-10 19:11:06 +00:00
### 1.0-b
2021-04-10 19:11:06 +00:00
First release
2021-04-03 19:43:12 +00:00
## Development (Advanced)
2021-01-20 03:10:21 +00:00
Below is for users who wish to edit or develop on the BluePill - normal users should not need to worry about this.
2021-04-03 19:43:12 +00:00
### Setup PlatformIO IDE
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
Open the project in https://platformio.org/platformio-ide[PlatformIO IDE] and everything is pre-configured.
2021-01-20 03:10:21 +00:00
## 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.
2021-04-03 19:43:12 +00:00
You may also flash the `.bin` file directly from https://www.st.com/en/development-tools/stm32cubeprog.html[STM32CubeProgrammer]. Use this method if you are not a developer and just wish to get the code to the BluePill.
2021-01-20 03:10:21 +00:00
### Using STLink v2 (prefered)
1. Remove SD Card
2. Make sure the STLink is up to date - https://www.st.com/en/development-tools/stsw-link007.html[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.
2021-03-24 22:30:14 +00:00
4. Run the https://docs.platformio.org/en/latest/integration/ide/vscode.html#project-tasks[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!
2021-01-20 03:10:21 +00:00
The following YoutTube video demonstrates the steps of flashing & updating your BlueSCSI https://www.youtube.com/watch?v=bRLAOts_MTM
2021-01-20 03:10:21 +00:00
#### 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 https://www.st.com/en/development-tools/stm32cubeprog.html[STM32CubeProgrammer] to erase the chip.
2021-01-20 03:10:21 +00:00
2021-03-24 22:21:54 +00:00
### Alterantive upload methods
See the https://docs.platformio.org/en/latest/boards/ststm32/bluepill_f103c8.html#uploading[uploading] documentation on PlatformIO for alterantives.
2021-01-20 03:10:21 +00:00
### Using USB HID
2021-04-03 19:43:12 +00:00
Note: I have not been able to get this method to work. Please contribute to this document if you do.
## Notes
2021-01-20 03:10:21 +00:00
2021-04-03 19:43:12 +00:00
### Making Gerbers for JLCPCB
2021-01-20 03:10:21 +00:00
https://support.jlcpcb.com/article/44-how-to-export-kicad-pcb-to-gerber-files
2021-03-26 16:50:23 +00:00
BlueSCSI(TM) - Eric Helgeson - All rights reserved.