MiSTer-devel / Apple-II_MiSTer

Apple II+ for MiSTer
48 stars 18 forks source link

ProDOS HDD support #7

Closed steven-a-wilson closed 3 years ago

steven-a-wilson commented 3 years ago

Addresses #5

alanswx commented 2 years ago

steven- I am not sure how to contact you, but I would love to discuss a few apple II things. Also, in keeping with this patch, I am noticing that it will read the same block from the HPS over and over - possibly because the hdd doesn't check the PHASE_ZERO clock - althought I tried changing that, and it still seemed to re-read the same block over and over. I am available at alan.steremberg @ gmail

steven-a-wilson commented 2 years ago

I suspect the underlying problem is that the code that asserts hdd_read and hdd_write in hdd.vhd is only conditional on the slot select signal currently being asserted, as opposed to being conditional on an edge. I think checking PHASE_ZERO doesn't work due to the CPU being halted during the transfer (causing PHASE_ZERO to be asserted multiple times for the same CPU bus state). I'm not sure how to confirm the behavior you're describing with my current setup (my desk has been progressively rearranged in favor of work-related stuff over the past year), but I at least briefly tried a change to only assert the read/write signals on the rising edge, and the HDD support still seems to be operational, so that might be worth trying on your end if you can easily verify it.