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 overlapping CS for IDE and Floppy #105

Merged
merged 1 commit into from
Feb 28, 2022

Conversation

alexoughton
Copy link
Contributor

This is a partial fix for #103 and allows reading of floppy disks under Windows NT.

I have found that the CS signals for ide0 and floppy0 were overlapping, and this was blocking the system from properly accessing the floppy controller's "Digital Input Register" (at 0x3F7) where the "disk changed" flag is read from. This flag is not used by DOS or Windows 95, but is used by NT and Linux. I have updated the mappings of the CS signals to match that expected by the original hardware.

Old I/O mappings:
IDE0: 0x1F0-0x1F7 and 0x3F6-0x3F7
IDE1: 0x170-0x177 and 0x376-0x377
Floppy: 0x3F0-0x3F7

New I/O mappings:
IDE0: 0x1F0-0x1F7 and 0x3F6
IDE1: 0x170-0x177 and 0x376
Floppy: 0x3F0-0x3F5 and 0x3F7

Note that further work is needed around reset_changeline in floppy.v, as the flag is still not being set high by an image change (image ejection seems to be fine though). This is why this is only a partial fix for #103.

@sorgelig sorgelig merged commit d7fc7c3 into MiSTer-devel:master Feb 28, 2022
@sorgelig
Copy link
Member

i think i know how to fix remaining

theypsilon pushed a commit to MiSTer-unstable-nightlies/ao486_MiSTer that referenced this pull request Feb 28, 2022
@alexoughton alexoughton deleted the fix-chipselect branch March 8, 2022 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants