-
Notifications
You must be signed in to change notification settings - Fork 57
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
Simple floppy disk controller #5
Comments
FDC will not be added in the current revision of the project. |
Better keep LPT and CAS for compatibility. If disk drive dies, the only way to load games would be the cassette port. The LPT is rarely used, but it's better to keep it for the authentic feeling. |
I like the idea of an internal floppy drive, but some ponderations must be done considering the way this machine was designed. Adding an internal floppy interface is only useful if the floppy is internal too. Otherwise, it will only be an annoyance, because:
But if the drive is going to be internal, this machine was designed with the two slots occupying the right side of the PCB. This means it wont be possible to install an internal floppy on the right side like all all-in-one machines like the MSX and compact Amigas have. Maybe the floppy could be placed facing the left side, but it feels so awkward. :) The TDC-600 has the advantage of having a PC FDC, but its address decoder circuit is stupid. That should be improved to place the FDC at the correct range at the end of the frame-1, because the way the FDC has to be accessed now requires a lot of unnecessary slot juggling and is incompatible with the MSX-Audio extension. |
I am open for suggestions for modifying TDC-600 or similar FDC. I was planning to build one for my system anyway. |
Disassembled sources for the FDC drivers of nearly all MSX interfaces are available here. More specifically, at this folder. If you're going to implement a brand new floppy disk interface cartridge, some other improvements could be done that would be very welcome:
If such an interface was built, I would buy it without blinking. :) Here's one draft of how a new disk interface cartridge could be implemented: 7FF0h: DiskROM frame-1 page select
when written:
7FF2h: Operations Register (w/o) 7FFEh: 1kHz countdown timer (used to wait for timeouts, regardless of the CPU speed) 7C00h-7DFFh: Data transfer window (r/w) Available only on page-7, allows LDIR to be used for DMA-like data transfers. When accessed:
To allow unmodded PC drives to work easily, PIN-34 should be kept as /DC and pin-2 should be /RDY (with a pull-up resistor). Yes, this is the opposite of the Shuggart interface (and Amiga), but this way the /RDY will work just as a accelerator bonus for those who mod the drive. It will also be much simpler to mod the drive. Just for a reference, this is the schematic of the original TDC-600: |
It would be possible taking advantage from the SD & floppy circuits from the N8 project? |
Technically it is not difficult to implement floppy or CF interfaces. As I've already mentioned, I have several issues with implementing either one of these storage interfaces:
|
I think we can add a pin header in future OMEGA versions, something like a third cartridge but I / O. Several people would like to have a disk system without losing any of their cartridge slots, however, I don't think everyone wants the same disk system and it is best not to impose it. |
If a pin header is going to be used, one option is to go for a bus-expansion connector. It's a fully functional MSX slot, but uses a pin header. Some older MSX models feature that connector. But, IMHO, there's an easier and elegant solution: If a daughterboard with more slots is soldered vertically in place of the current slot-2, two slots could be placed facing the back of the machine. It would contain the signals to expand the slot-0 and supply the slot 0-0 signal back to the mobo. The following slots could be mapped there facing back, from top to bottom: slot-2 (primary), slot0-3 (expanded). And maybe even an upward facing slot 0-1 could be placed too (it would sit on the place of the current slot-2 when a straight slot connector is soldered) Depending on the size of this daughterboard, the MSX-Music could also be integrated here, on slot 0-2, since a lot of people misses it on this design. This daughterboard would be totally optional, and only those wishing for the extra slots and MSX-Music would assemble it, leaving the original mobo design almost untouched. |
Just so I am clear will the TDC-600 cartridge work as is or does the bios require a modification ? |
What I'm suggesting is a way to connect a floppy interface (or another disk interface) without loosing a slot card on it. My suggestion was to have an internal i/o slot, not full slot cartridge. JmanNZ if you build the TDC-600 and insert it on a slot cartridge it will work without BIOS modification |
I'm currently building my Omega MSX & I also want to make a FDC for it. My suggestion is to use a i82077 controller, at 7FF0h. Only 3 ICs needed for address decoder - 74ls133 for A4-A14, one inverter for /A3 (another one for IRQ, if needed) and 74ls139 to select either FDC or ROM, with its enable pin connected to SLTSL. All main registers (data, control, operations) will line up with turboR FDC. WD37C65, TC8566F & i82077 are uPD0765 compatible, even direct-access software should work. |
Hi Guys. |
@msx-solis Do you still plan on sharing the internal version? |
@dude22072 yes, but I need time enough to do it. |
Can I have the gerbers, i would like to have internal fdd. Best, |
A computer without a floppy disk controller requires purchasing an additional cartridge that offers IDE or FDC functionality. I would recommend to add a simple floppy disk controller (TDC-600 or similar) onto the board and a 34-pin connector for a floppy drive or Gotek emulator. Also a power socket with 5v and 12v could be useful to connect the Molex power connector for a drive.
The text was updated successfully, but these errors were encountered: