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

Fix DSKIO driver error check in DOS 1, page 1 transfers #134

Merged
merged 1 commit into from Nov 30, 2023

Conversation

Konamiman
Copy link
Owner

@Konamiman Konamiman commented Nov 14, 2023

This pull request fixes code in drv.mac that was assuming that the driver routine DEV_RW/DSKIO sets Cy=1 to signal an error, however this is true only for drive-based drivers, but not for device-based drivers. This incorrect behavior was happening only in DOS 1 mode and only for transfers to page 1.

Inspired by #111.

The code in drv.mac was assuming that the call to the driver routine
DEV_RW/DSKIO was setting Cy=1 to signal an error, however this is true
only for drive-based drivers, but not for device-based drivers.
This incorrect behavior was happening only in DOS 1 mode and only
for transfers to page 1.
@Konamiman Konamiman self-assigned this Nov 14, 2023
@Konamiman Konamiman added this to the v2.1.2 milestone Nov 14, 2023
@Konamiman
Copy link
Owner Author

Hi @S0urceror, would you like to take a look at this?

@Konamiman Konamiman changed the base branch from v2.1 to v2.1.2 November 21, 2023 12:17
@S0urceror
Copy link

Looks like an elegant solution. You have a new DIO_DO_CALDRV function that checks the return based on KSLOT in DIO_SET_ERR_FLAG.

Forgive me but I'm a bit lost in Github wizardry. What release/branch do you recommend me to try this out (fix-driver-error-check-in-dskio)? I can check with my USB drivers on MSX1 and 2 if all works there. On the other hand, what can go wrong, it's a straightforward fix.

@Konamiman
Copy link
Owner Author

@S0urceror Indeed, in order to test this you should checkout the fix-driver-error-check-in-dskio locally and then run make to build the kernel ROMs with the fix applied.

@S0urceror
Copy link

I have checked out the fix-driver-error-check-in-dskio branch and built Nextor with my MSXUSB and MSXUSBNext driver. I can confirm both work on an MSX1 and an MSX2. So looks good and stable.

@Konamiman
Copy link
Owner Author

Konamiman commented Nov 30, 2023

I can confirm both work on an MSX1 and an MSX2.

Awesome, thanks for checking!

@Konamiman Konamiman merged commit a8aebf1 into v2.1.2 Nov 30, 2023
1 check passed
@Konamiman Konamiman mentioned this pull request Nov 30, 2023
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.

None yet

2 participants