So I hear you like overclocking? [BlueSCSI]

eric

Administrator
Staff member
Sep 2, 2021
941
1,542
93
MN
scsi.blue
We all love to tinker and make things go fast! Spicy-o-clock, new faster vram, etc, so.... lets overclock our Hard drive too!

As with any overclock you're taking a risk driving something faster then it initially was intended to do. If something breaks, stops working, your sigificant other leaves you because of this - it is done at your own risk! No warranty or returns if you overclock :)

With the disclaimer out of the way - lets dig in!

This is something I've known about for a long time but haven't looked into much because USB communcation wont work at higher speeds. But interestingly enough we can control the clock speed in firmware after the USB bootloader runs! Which also means we could make it configurable via a config file in the future.

Ok so we now know it won't affect any features we use currently - so how do we do it?

Early adopters can download the latest code on github. In platformio.ini file in the [env:STM32F103C8] block - add
Code:
board_build.f_cpu = 128000000L
128MHz, you can try any value between 72 and 128MHz - your mileage may vary (if it does let us know below)

Flash and test.
If the above sounds confusing - please hold off on testing.

I've been running this in my PowerMac 9600 for a week and a half just to verify nothing goes horribly wrong and it's been working great for me:

1650333118597.png


There are still some todo's - the faster CPU speed means all of our timings are now a bit out of sync - while still works fine, we'll need to dynamically calculate some waits which should hopefully give even faster speeds.

Once I hear back from some of you intrepid over clockers I'll make it easier for people to try this with a config file, but need more data points before the general public starts experimenting with overclocking.
 

eric

Administrator
Staff member
Sep 2, 2021
941
1,542
93
MN
scsi.blue
Anyone try this out? I'll be doing a release "soon" and might include a pre configured overclocked bin if I get some reports of success.
 

Garrett

Tinkerer
Oct 31, 2021
103
109
43
MN, USA
Don't know how I missed this thread until today... I'd try it myself if I wasn't still having issues with VS Code extensions. In the event I am actually able to get it flashed, I'll post an update. Great work Eric!

Untitled.png
 
  • Like
Reactions: eric

Garrett

Tinkerer
Oct 31, 2021
103
109
43
MN, USA
I was able to finally get my platform.io extensions working right to flash the modified code to the BlueSCSI. Well, results speak for themselves and I'm very impressed. I tested two systems briefly and found a modest increase in both write and read speeds. I know, I know, I didn't use SCSI Director benchmarking (too lazy to update the image on my SD card - ha).

See the attached image with my results. I am using the same cheap Amazon 8GB SD card with the same 7.5.5 boot image in all tests. I am curious if others have similar results to these. Hopefully more BlueSCSI users will post their results too.

Screen Shot 2022-05-04 at 8.58.17 PM.png
 

eric

Administrator
Staff member
Sep 2, 2021
941
1,542
93
MN
scsi.blue
Just to come full circle on this we now release a 96/128mhz versions. I feel they're pretty safe options if you want to tinker - I've run 128mhz since this post without issue.

The overclock happens after the USB bootloader so even if yours didn't run at the faster clock speed you'd still be able to flash the stock back.

If you have an APM32 they only run at 96 and 128 mhz - we've found some of these chips that are marked STM32 but really a clone APM32 chip. You can tell if it only runs at 96/128 and if it has 256kb of flash.

To flash one of the overclock bins you must use dfu-util yourself or a handy frontend to dfu-util called QMK Toolbox.

Of course there is always a slight risk that the planets align and it causes an issue - so any overclock is done at your own risk.
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,577
1,373
113
53
Japan
youtube.com
Hi, Folks!

I have 3 "high quality" (well constructed) BlueSCSI units that I acquired from @Kay K.M.Mods, each with different processors...

1672903673393.png


After a discussion with @eric yesterday, I decided to proceed with overclocking these units to see what would happen. My rather straightforward method of firmware flashing might compel some of you BlueSCSI owners to give it a try, But first, you need to make sure you have at least the April 2022 firmware installed already -- mine had that. You then want to check the LOG file on your SD cards to see if you have "USB" in the "VER" line. For example, I flashed mine to the newest Dec. 2022 firmware, which then shows this in the LOG file...

VER: 1.1-20221203-USB

That USB part means you can flash it rather easily using a USB cable, and you don't need a special adapter. I should say, it's easy using a modern Mac running MacOS Monterey or newer because you need Homebrew installed, and that seems to work best on Monterey or newer versions of MacOS. So if you've got all that setup like I do, then you just go to the following URL, then click the Green "<> Code" button and then choose "Download ZIP":


Decompressing the ZIP will show you a folder named: BlueSCSI-Updater-main

Inside that folder you will see many files, but one is named: BlueSCSI-v1.1-20221203-STM32F1-USB.bin

You should first flash that to your BlueSCSI to ensure it works well, which is done simply by double-clicking the file named: flash-mac.command

That opens the MacOS Terminal and shows this...
1672904547953.png

I always type 1 and return, then follow the instructions to flash. (But again, you need MacOS Monterey and Home-brew installed for it to be seamless. Or use Windows, I guess. But I don't know about that because I don't do Windoze.)

Once you know the Dec. 2022 firmware works fine on your BlueSCSI by testing it in a vintage Mac, you can then safely try to flash an overclocked firmware. Here are the two overclocked firmware files I tested:
PROCEDURE:
  1. Download them and put both inside your BlueSCSI-Updater-main folder.
  2. Rename "BlueSCSI-v1.1-20221203-STM32F1-USB.bin" — I simply put an "x" character in front to achieve that.
  3. Rename either the 96 or 128 bin file to be: BlueSCSI-v1.1-20221203-STM32F1-USB.bin
  4. Double-click flash-mac.command
  5. Flash as usual
  6. Test in a vintage Mac
If the BlueSCSI drive won't mount in your vintage Mac (or boot, if you are trying to boot from it), you know that overclocking speed isn't going to work.

I started with 128MHz, then if that failed, I tried 96MHz. If that failed, I then knew my BlueSCSI could not be overclocked.

In the end, 2 out of my 3 BlueSCSI devices were able to be overclocked. 👍

This BlueSCSI unit was able to be flashed to 128MHz...

1672904916447.png


I benchmark tested on my 50.0MHz Color Classic Mystic, and below are the results.

BEFORE overclock (booted into System 7.5.5, Dec. 2022 firmware)...

1672904957182.png


AFTER overclock (booted into System 7.5.5, 128MHz firmware)

1672905002548.png


A nice performance boost!

And here's the other BlueSCSI I could overclock...

1672905105428.png


BEFORE overclock (booted into System 7.5.5, Dec. 2022 firmware)...

1672905137608.png



AFTER overclock (booted into System 7.5.5, 96MHz firmware -- 128MHz won't work)

1672905190822.png


There's much more I can say about performance, but that might be easier to digest in a video. For now, I can say that I get higher scores in SCSI Director Pro 4 when I boot into System 7.1. That's true even of my spinning Quantum drives. System 7.5.5 slows you down in comparison to 7.1.

The best part of trying this is that you have nothing to lose. If neither the 96 or 128 bin files work, you just go back, rename your original firmware file, flash that, and then you're back in business again.

Give it a try!
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,577
1,373
113
53
Japan
youtube.com
I made some time after work this evening to test all 3 of my BlueSCSI units (2 of which are now overclocked) on a PowerMac 9600/300 with a Buffalo 400MHz G4 (7400) CPU card installed. All were connected externally, with the internal type BlueSCSIs connecting via OverEasy II Rev.B. The minimum OS is 7.6.1, so I booted into that and ran SCSI Director Pro 4.0 to yield the following results.

1. BlueSCSI internal type 1.0-c overclocked to 128MHz, with SanDisk Extreme 32GB V30 A1 SD card.

1673011564724.png


2. BlueSCSI internal type 1.0-c overclocked to 128MHz, with Gigastone 16GB V30 SD card.

1673011656268.png


3. BlueSCSI external DB25 1.1-a overclocked to 96MHz, with Gigastone 16GB V30 SD card.

1673011713984.png


4. BlueSCSI internal type 1.1-a (not overclocked), with Gigastone 16GB V30 SD card.

1673011837840.png
 
  • Like
Reactions: eric

eric

Administrator
Staff member
Sep 2, 2021
941
1,542
93
MN
scsi.blue
On a powermac you'll likely eek out a few hundred kb/sec using MacOS 8 drivers (even on when using System 7.x) or using FWB's.
 

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,577
1,373
113
53
Japan
youtube.com
On a powermac you'll likely eek out a few hundred kb/sec using MacOS 8 drivers (even on when using System 7.x) or using FWB's.
Thanks, Eric.

I actually was using the OS 8.1 driver prior to the Dec. 2022 firmware update, but if I recall correctly, I had issues with my Mac SE, which forced me to reverted the drivers back to v7.3.5, async in order to retain the broadest 68K Mac compatibility. It tend to swap my BlueSCSI devices around various Macs a lot when testing. At some point, I will ending the testing madness and decide upon a more permanent BlueSCSI install. At that time, the v7.3.5 driver can go in the Mac SE, and the less compatible OS 8.1 driver can be used in my faster Macs like the SE/30 and above.