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

machine/ncr5385.cpp: fix timeout #13268

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Elektraglide
Copy link
Contributor

  • dont wait full 250ms if not IDLE
  • fixes very low performance seen in Tek4404
  • fix suggested by @shattered

- fixes very low performance seen in Tek4404
@cuavas
Copy link
Member

cuavas commented Jan 25, 2025

Can someone familiar with these SCSI chips please consider the implications of this, and suggest some systems to test with? IIRC the 5380 is used by the Mac Plus/SE and the Sun 3 family, and the 53C80 is used by later Mac models.

@ajrhacker
Copy link
Contributor

While NCR did develop 5385 and 5380 at more or less the same time, they are different enough that their MAME emulations share absolutely nothing except some SCSI base classes. The few MAME systems that use 5385 are all marked MACHINE_NOT_WORKING.

@rb6502
Copy link
Contributor

rb6502 commented Jan 25, 2025

AJR is correct. Unlike the NCR5390/94/96 chips, the 5380 and 5385 might as well be from different companies. The Tek driver would be the first working system in MAME with a 5385. Obviously that doesn't mean we shouldn't be careful with the changes, but there are no working systems currently to test the changes against.

@pmackinlay
Copy link
Contributor

I will take a close look at these changes this week; I think I have another WIP driver which can at least smoke test.

@Elektraglide
Copy link
Contributor Author

There is another change to ncr5385 to make it work with tek4404; without a delay after XFI_OUT_ACK of >=3.5us, tek4404 misses the signal and nothing works. I will make another PR but just a heads up.

@Elektraglide
Copy link
Contributor Author

Looking at ncr5385.cpp again, there are many places where the timer is cancelled. Is it possible this case was simply an omission?

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.

5 participants