I flashed my BlueSCSI to the latest v1.1-20220404 firmware, Mac Plus benchmark comparisons

Mu0n

Active Tinkerer
Oct 29, 2021
599
553
93
Quebec
www.youtube.com
Methodology:
I reflash the Blue Pill in my BlueSCSI using Visual Code Studio, PlatformIO using the Upload task within the project, since the STM32 cube utility has never worked with my counterfeit Blue Pill (which I didn't plan on getting, it's what a generic electronics store sold me).

When the task runs without issue, it shows this, topped off with an error warning way past the upload and verification step (so I guess it's alright!)

1649540127514.png


I used SCSI Director Pro v2.17 from a FloppyEmu, so I could intercept the bootup sequence of my System Folders in my BlueSCSI drives and force the launch of SCSI Director before anything else.


Generic info, the 1 gb hda partition I tested shows up as a Quantum fireball.
1649539425921.png


Track-like seek, BEFORE <<-->> AFTER (super slight improvement - a fluke?)
1649539462225.png
1649539485276.png



SCSI Manager, BEFORE <<-->> AFTER (slight improved in the 1st sector and inner track, slight slowdown in inner rings)
1649539621256.png
1649539640434.png


SCSI Driver, BEFORE <<-->> AFTER (slight up and downs, a toss-up)


1649539734009.png
1649539755198.png


Mac OS, BEFORE <<-->> AFTER (mostly slight slowdowns)

1649539797391.png
1649539829571.png


TL;DR: the changes are probably due to the variance in measurements and there's probably very little change between versions for a Mac Plus. Perhaps the bottleneck for this system is elsewhere...
 
Last edited:
  • Like
Reactions: VicNor

rollmastr

New Tinkerer
Oct 31, 2021
19
14
3
I believe the Mac Plus is the bottleneck in this case. Somebody needs to retry with a Mac SE or SE/30.
 

Mu0n

Active Tinkerer
Oct 29, 2021
599
553
93
Quebec
www.youtube.com
After spending some time receiving help from @eric in Discord in the RaSCSI/BlueSCSI server, I finally updated the right bootloader into my blue pill. The LED flash frequency went about from 2 flashes/s (old bootloader) to about 6 flashes/s (new bootloader enabling usb updating). So as it stands, here are the various ways you can go about updating the STM32 blue pill and how I fare against them:

Using STM32Cube programmer:
-supposed to be the breaindead method of updating for neophytes
-will not work with my particular counterfeit STM32, no matter what I try

Using STM32 ST-Link Util which predates STM32Cube
-feels like an older program
-allows me to connect to my STM32 when its jumpers are in BOOT0=0 and BOOT1=1 mode, in hot plug (other combinations did not work; lots of unplugging/replugging involved, reset button involved or not, it's a blur)
-allows to flash the firmware, not the bootloader (??), althrough I haven't tried to do the flash this way! I only used it to read information.
-I've used it for verifying byte per byte if the newest firmware .bin file (found here in this release v1.1-20220404) and the flash memory on the blue pill device actually match. I think the memory location starts at 0x08002000 rather than the default beginning of 0x08000000.

Using Visual Studio Code + PlatformIO extension and launching the 'Update' task:
-That was my go-to method when I last updated the firmware back in November 2021.
-I thought it worked
-I'm not sure it worked this time around - it may or may have not updated the firmware
-It definitely did not update the bootloader

Using the brand new flash-win.bat file (for Windows) included in the new release v1.1-20220404:
-Using step 2 finally, definitely updated the bootloader
-instructions must be followed to the letter
-I had a lot of difficulty doing step 1 (updating the firmware assuming step 2 is done) because I did not ABSOLUTELY, read the instructions verbatim (explanations below)
-Why step 2 is named 'step 2' when it should be done before 'step 1' kinda escapes me from a standpoint of someone needing to do this the first time escapes me.... (@eric ?)
-The exact procedure goes as follow:

1) launch the flash-win.bat
2) connect the blue pill with STLink v2 dongle with the jumpers BOOT0 set to 1, BOOT1 set to 0
3) start step 2, should work right away
4) set back BOOT0 to 0, set BOOT1 to 1
5) disconnect the dongle altogether
6) don't be a moron, don't attempt to update the firmware with the ST Link dongle. Step 1, the firmware update, is a USB Step (DUH) so use the appropriate cable, probably a USBA to microUSB cable and connect your BluePill that way
7) Launch step 1*

*when step 1 refused to work (since I attempted to flash my blue pill with the dongle instead of a straight usb cable), Eric offered suggestions to install the maple usb drivers, then use Zadig to force usage of libusb. Both steps may or may not be necessary to make this work. I did them anway early in the process so I don't have data on what happens if you don't do them. Everything is well explained on this page of his guide.

After all was said and done, I returned to STM32 ST-Link Util to poke around the memory of my blue pill and the ROM comparison checked out, no difference found. However, set your start address in the memory at 0x08002000. Would this change around if a new bootloader would be loaded? That's an unknown in my mind right now.

Next post: benchmarks!
 
Last edited:
  • Like
Reactions: VicNor

Mu0n

Active Tinkerer
Oct 29, 2021
599
553
93
Quebec
www.youtube.com
Using SCSI Director Pro v2.1.7 after the very last bootloader + firmware flash: no significant changes.

But then, a true hero appears @VicNor on the discord server! He had specialized knowledge about Mac Plus and SCSI drivers - it turns out several drivers of the day were written for the lowest common denominator between manufacturers and there are lots of delays included in the low level read and write routines. The way to get rid of these delays is with SCSI Accelerator which he told me about.

My gear:
-Mac Plus equipped with extra diode on the logic board for SCSI termination power
-Blue SCSI with several 1gb hda files
-System 6.0.7 or 6.0.8 mainly, I don't bother with System 7 (too slow, cumbersome, I have other machines that run 7 exclusively)

Although it may seem like I'd use SCSI Accelerator v2.1 because of System 6, SCSI Accelerator v7.0 works like a champ on System 6 so that's what I used.
This is the *definitive* and *overwhelming* way to improve BlueSCSI performance on the Plus. I'm very grateful for @VicNor 's guidance while I navigated the possibilties here.

I also checked out the link provided in the mac garden page of SCSI Accelerator to a LowEnd mac article which refers to DiskTimerII for simplistic benchmarks.

Basically, you select one of many extensions named after how many delaying operations it leaves between read/write commands. I went all-in and chose 0 read delays, 0 write delays, an extension called 'r0w0s5'

Before SCSI Accelerator:
1650201046129.png

After SCSI Accelerator r0w0s5:
1650201065205.png


double speed, nice!

next up, let's redo the SCSI Director Pro tests:

Track-like Seek (no significant changes here)
BEFORE <<--

1650201503209.png

-->> AFTER w/ SCSI Accelerator
1650201109396.png


SCSI Manager (basically the same):
BEFORE <<--

1650201551373.png

-->> AFTER w/ SCSI Accelerator
1650201139434.png

1650201205629.png


SCSI Driver, *HUGE IMPROVEMENTS* here in the order of 60-75% faster!
BEFORE <<--

1650201668337.png

-->> AFTER w/ SCSI Accelerator
1650201263046.png

1650201410232.png


MacOS (cumulative results add up a lot near the end, big improvements)

BEFORE <<--

1650201708078.png

-->> AFTER w/ SCSI Accelerator
1650201737990.png


1650201764618.png

1650201774983.png



TL;DR:

-updating the bootloader for BlueSCSI for my Mac Plus is now very easy and makes future firmware updates way easier
-the firmware itself did not help SCSI speeds on the Mac Plus because the bottleneck is elsewhere
-SCSI Accelerator is a huge boon for your Mac Plus; it is designed for it, definitely use it!
 

eric

Administrator
Staff member
Sep 2, 2021
910
1,483
93
MN
scsi.blue
-Why step 2 is named 'step 2' when it should be done before 'step 1' kinda escapes me from a standpoint of someone needing to do this the first time escapes me.... (@eric ?)
Glad you got it working! 1 & 2 are not "steps" they are "options". I put option 1 as the update firmware via usb as that would be the most common - "normal" users would use that one. Advanced users who want to flash the boot loader with an stlink would choose 2. - open to wording improvements.
I did not ABSOLUTELY, read the instructions verbatim

Happens to the best of us! again any better wording would help. I'll be adding bold/colors to try to call it out better.

Would this change around if a new bootloader would be loaded?
The start address is the same, but the program that starts is the bootloader - once that logic is done it'll "jump" to the bluescsi program.

Using STM32 ST-Link Util which predates STM32Cube
Truth be told I use this one on my Windows PC if I'm not using OpenOCD (what platformio and the updater script use) STM32Cube is cross platform but sometimes is odd.

-The exact procedure goes as follow:
This will do it all - you dont need to run option 2 then option 1 - option 2 will run everything you need.
 
  • Like
Reactions: Mu0n

timdrage

New Tinkerer
Oct 30, 2021
3
5
3
Very interesting, watching this with interest, I've yet to use my BlueSCSI but definitely gonna try this when I do

... so would I need to do the firmware thing at all or would simply using SCSI Accelerator on the stock BlueSCSI have similar results?
 
Last edited:

Mu0n

Active Tinkerer
Oct 29, 2021
599
553
93
Quebec
www.youtube.com
Very interesting, watching this with interest, I've yet to use my BlueSCSI but definitely gonna try this when I do

... so would I need to do the firmware thing at all or would simply using SCSI Accelerator on the stock BlueSCSI have similar results?

If you have a Mac Plus: assuming your BlueSCSI works as is, the SCSI Accelerator should be plenty enough, no pressing need to do a firmware update
If you have other machines as well: be safer than sorry and do the firmware and apply SCSI Accelerator only for your Mac Plus
If you don't have a Mac Plus: do the firmware upgrade, SCSI Accelerator wasn't really made for other machines so don't use it.

Here's the start of the .doc that comes with SCSI Accelerator:

1650288715709.png
 
  • Like
Reactions: timdrage

Mu0n

Active Tinkerer
Oct 29, 2021
599
553
93
Quebec
www.youtube.com
More BlueSCSI speed tests by tweaking the SCSI driver on my Mac Plus w/ system 6.0.8

I tried using the suggested Silverlining 6.0.1 for driver changes and SCSI Director Pro 4 for visual benchmarks.
I got a drop of performance when I tried the "Silverlining fast handshake one", it got down to 201 KB/s read 196 KB/s write.
When I used Silverlining to put back the "Apple drivers fast blind", I got back to similar previous results that I got with SCSI Accelerator v7, 428 KB/s read 402 KB/s write.

The SCSI Accelerator System extension had no noticeable effect whether it was present or not while "Silverlining fast handshake" was installed.
One surprising (to me) thing is that only the bootable volume's driver is used for everything, it's not a per volume basis, am I right? I was using 5x 1Gb volumes on my microsd card here.

It was worth a shot at trying Silverlining's own driver, but it clearly came with disappointing results here.

With Silverlining Fast Handshake (& SCSI Accelerator v7 extension)
1650431394655.png


With Apple driver fast blind (& SCSI Accelerator v7 extension)
1650431398224.png