Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple HD SC Setup support #71

Merged
merged 2 commits into from
Mar 25, 2022
Merged

Conversation

mactcp
Copy link

@mactcp mactcp commented Mar 25, 2022

Apple HD SD Setup support seemed to require 3 things:
Mode page 0x30 support with Apple's identifier.
Support for Mode Select, it just needs to not return an error.
Support for Verify, it just needs to not return an error.

Support for Verify might also help with FWB HDT. It's diagnostics tool was definitely complaining about Verify commands failing.

I've also done a little bit of cleanup around SCSI error handling and block range checking. Another change I made is adding support for Mode Sense with the Changeable Values page control option so that it returns zeros (not changeable). Not aware of anything that actually needs these changes, other than when using tools like Sedit or HDT World Control.

mactcp added 2 commits March 24, 2022 16:51
Support for mode sense page control 01b (changeable values).
Change SYNCHRONIZE CACHE (10) to be a no-op rather than an error.
Support for MODE SELECT as a no-op.
Range checking on block commands.
Sense key and additional sense for no image file.
@erichelgeson
Copy link
Owner

Tested on an LCIII - HD SC Setup was able to format and install it's drivers. Also tested with Silver Lining 5.6.3 - "short tests" are now able to pass as well.

@erichelgeson erichelgeson merged commit 9732e90 into erichelgeson:main Mar 25, 2022
if (bytchk != 0) {
if (bytchk == 3) {
// Data-Out buffer is single logical block for repeated verification.
len == m_img->m_blocksize;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mactcp should this be =?

androda pushed a commit to androda/F4_BlueSCSI that referenced this pull request Apr 7, 2022
androda added a commit to androda/F4_BlueSCSI that referenced this pull request Apr 15, 2022
commit 76483ff815e1e442cda9677f54d5c8be8428723f
Author: androda <androda@users.noreply.github.com>
Date:   Fri Apr 15 06:45:37 2022 -0600

    Add HW

commit 6bc545ae7fe749063ec50225f4415f7c3cb96f44
Author: androda <androda@users.noreply.github.com>
Date:   Fri Apr 15 05:18:12 2022 -0600

    Move the #define

commit 13a177ae4f82974133de368daeed5b8c4d692e4f
Author: androda <androda@users.noreply.github.com>
Date:   Fri Apr 8 14:04:16 2022 -0600

    Testing New Feature

commit d0a065c
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 11:27:46 2022 -0600

    Update snapshot version

commit accf789
Author: Eric Helgeson <erichelgeson@gmail.com>
Date:   Sun Apr 3 14:51:22 2022 -0500

    init blk1
    Thanks to @moof via discord

commit 4f9ce2c
Author: Glenn Anderson <github@mactcp.net>
Date:   Thu Mar 31 13:33:24 2022 -0700

    Remove obsolete initialization of sector data overrun byte.

commit 0b9343a
Author: Glenn Anderson <github@mactcp.net>
Date:   Thu Mar 31 09:23:30 2022 -0700

    Correct == to = for verify with bytchk of 3

commit 916e0e6
Author: Glenn Anderson <github@mactcp.net>
Date:   Mon Mar 28 15:01:40 2022 -0700

    Reorder bus phase change and file.seek() so that file.seek() acts as a bus settle delay.

commit 0a12c2c
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 10:22:45 2022 -0600

    Use PC pins for image select since F4 uses PB1 already

commit 129d0b4
Author: Eric Helgeson <erichelgeson@gmail.com>
Date:   Sat Mar 19 07:25:25 2022 -0500

    Image set selection

commit 9a51e8f
Author: Eric Helgeson <erichelgeson@gmail.com>
Date:   Fri Mar 25 08:23:39 2022 -0500

    Merge pull request erichelgeson#71 from mactcp/AppleHDSCSetup

    Apple HD SC Setup support

commit 22d3128
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 09:50:16 2022 -0600

    F4-specific tweaks to SD setup

commit c965b24
Author: Eric Helgeson <erichelgeson@gmail.com>
Date:   Sun Feb 27 14:22:13 2022 -0600

    Try clock speeds from 50 -> 32mhz for SD communication
    Helps compatibility with SD and different STM32 chips.
    Add warning if under 40mhz - testing showed 40-50mhz gave almost no change in speed

    Thanks @marcelv-3 via erichelgeson#58

commit d1c36e5
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 09:40:32 2022 -0600

    Missed this, another F4 specific difference

commit c025c06
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 08:58:00 2022 -0600

    F4-specific changes

    No BRR, and readout is different

commit f3da4d5
Author: Glenn Anderson <github@mactcp.net>
Date:   Sat Mar 19 13:02:34 2022 -0700

    Change readDataLoop alignment to 16

commit 80d691b
Author: Glenn Anderson <github@mactcp.net>
Date:   Sat Mar 19 12:04:57 2022 -0700

    Switch to latest toolchain.
    Tune the timing for the readDataLoop with the latest toolchain.

commit e1a6253
Author: Glenn Anderson <github@mactcp.net>
Date:   Fri Mar 18 15:51:22 2022 -0700

    Pin down alignment for writeDataLoop and readDataLoop, and perform some additional timing adjustment.

commit 10e3262
Author: Glenn Anderson <github@mactcp.net>
Date:   Thu Mar 17 18:08:00 2022 -0700

    Read timing adjustment, now getting 1216 KB/sec on LC III+.
    First pass at write speed optimization, now getting 825 KB/sec on LC III+.
    Whitespace cleanup.

commit aa27be8
Author: Glenn Anderson <github@mactcp.net>
Date:   Thu Mar 17 16:36:39 2022 -0700

    Separate out writeDataLoop. Adjust the timing, and incorporate the loop overhead in to one of the desired delays.

commit 81f74d1
Author: Glenn Anderson <github@mactcp.net>
Date:   Wed Mar 16 13:21:10 2022 -0700

    Move the db_bsrr table to RAM for faster performance.

commit 9aa5fa4
Author: Glenn Anderson <github@mactcp.net>
Date:   Tue Mar 15 09:57:21 2022 -0700

    Add explicit "bx lr" to longjmpFromInterrupt.

commit 251b2a8
Author: androda <androda@users.noreply.github.com>
Date:   Thu Apr 7 07:45:59 2022 -0600

    F4-specific fix for EXTI issues

commit ffcc923
Author: Glenn Anderson <github@mactcp.net>
Date:   Mon Mar 14 12:43:57 2022 -0700

    Optimize handling of reset interrupt.

commit d31512c
Author: Glenn Anderson <github@mactcp.net>
Date:   Sat Mar 5 15:45:47 2022 -0800

    CLZ optimization
erichelgeson pushed a commit that referenced this pull request Nov 4, 2022
…h Akai S1000 (#71)

It seems that changing SCSI control signals too quickly after command is received
confuses some SCSI hosts. This commit adds a 400 us delay which has been determined
to be enough for Akai S1000, where the problem was observed.

To avoid performance degradation, the extra delay is performed in parallel with
SD card access. The SD card typically has a 1 millisecond latency, so the extra
wait does not increase the total latency.

The delay is only active in SCSI-1 mode. This is activated either explicitly
by setting EnableSCSI2 = 0, or automatically if the host does not send the
SCSI-2 Identify message.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants