pdsmart / SFD700

SFD-700 Floppy Disk Controller for the Sharp MZ series computers.
GNU General Public License v3.0
2 stars 0 forks source link

SFD-700 - Question about interrupt line #1

Open alex3331 opened 11 months ago

alex3331 commented 11 months ago

Hello, do I need interrupt cirquit if I use MZ-700 which is fast enough? and - do I need port DE if there is no addressing of it?

pdsmart commented 11 months ago

I've updated the readme, the design in github is v1.0 and old, there were problems with it and I created v1.1 and v1.2, v1.2 being stable. I will update github in due course.

The MZ series dont use the interrupt line only my versions of CP/M and firmware derivatives such as Nascom Basic use the interrupt. The circuit was developed to be compatible with all the MZ machines from MZ-80A to MZ-2200. It may work on the MZ-80K (using later floppy firmware - MZ-80K used a different FDC controller).

alex3331 commented 11 months ago

Thank you very much for your update. Can you please confirm that for MZ-700 the DE port is not needed? My objective is a lot more modest - I need to build just a floppy controller for MZ-700 only and be able to use a 3.5" 720 k floppy to store and load .mzf files. I beleive the program called Supercopy will allow me to do this. So I just need to build a controller with a 'textbook' use of 1773 or 2793, added ports DC (motor+drive select) and DD (side) and a 2 kiB ROM with some form of IPL. I may need to delay READY signal like in MZ-1E05 with 74LS122 monovibrator. Do you think this is a reasonable approach? Thank you.

pdsmart commented 11 months ago

DE is only needed if you want to dynamically set the disk density. It should be strapped to 0V (GND) for normal double density use or pulled high for single density. Best to use a jump so gives you the choice if you come across any media recorded in single density.

A point to bear in mind with the MZ-700 is the memory mapping logic which pages in/out ROM/RAM. If you add a 2K rom on an external card but do not mirror the memory mapping logic then you would end up with a lot of programs not working if they depended on upper RAM (as both RAM and ROM would be paged in simultaneously). If you use an expansion box from Sharp such as the MZ-1U06 then this contains the memory mapping logic and would disable access to any rom based on a card as necessary.

alex3331 commented 11 months ago

Thank you for your response. I am well aware of memory mapping in MZ-700. I designed my own backplane instead of antique MZ-1U6. It has a monitor ROM including MZ 1-013 and optional high monitor E010 -FFFF, which is controlled by 1502 CPLD. At this point I just need a working FDC. So I can put a ROM in F000 area for now.

pdsmart commented 11 months ago

If you already have the backplane with space to add a rom, you could just build the SFD800 which is tried and tested and working. It works in the MZ700 just so long as you have the MZ-1E05 ROM at 0xF000.

I will push my latest updates on this project this week, it is wip, but the v1.2 card works in all machines, probably overkill for your project but fully working. I just havent completed all the Z80 firmware as I built in my RFS monitor framework to the card and was in the process of updating my version of CP/M, BASIC etc to work with it.

I'm time poor at the moment, so probably no further updates on this project till EOY.

alex3331 commented 11 months ago

Makes sense! The only problem - I dio not have access to LS242; I planned to use HCT640 instead. But maybe it will be easier to buy 242. Thanks.

alex3331 commented 11 months ago

Looking forward to updates for your wonderful work.

alex3331 commented 11 months ago

I assembled SFD-800 and connected to my MZ-800. Which disk would you recommend to try? I have some images of C/PM 4.1 but all show loading errors. It may be a bad disk(s) or controller malfuncitioning. Is it possible to create a floppy from image to test the device?