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

Cleanup of SCSI phase change code, and adjustment of bus settle delays. #88

Merged
merged 1 commit into from
Apr 13, 2022

Conversation

mactcp
Copy link

@mactcp mactcp commented Apr 8, 2022

This is code cleanup around SCSI phase changes, and a couple of delays added to meet the 400ns bus settle delays in the SCSI specifications. Timing was measured on an oscilloscope.

I'm not seeing any performance impact, positive or negative, which is expected. I measured the time to receive a 10 byte command from an LC III+ at around 160us. I think that is mostly the BlueSCSI waiting on the Mac, so adding small delays didn't seem to make any difference to performance.

Tested on an LC III+ and a Quadra 650.

One thing I will note, I removed this line of code in messaging out handling:
memset(m_msb, 0x00, sizeof(m_msb));
Clearing the whole 2K buffer like that seemed unnecessary, and takes about 4us. That definitely stood out on the scope, but only impacts initiators that have a message out phase (Quadra and faster Macs).

@erichelgeson
Copy link
Owner

Hey @mactcp - thanks again, been busy but I'm planning to review & test this tomorrow.

@erichelgeson
Copy link
Owner

Worked well in my testing, looks good!

@erichelgeson erichelgeson merged commit 693ab2a into erichelgeson:main Apr 13, 2022
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