-
Notifications
You must be signed in to change notification settings - Fork 7
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
List of tested ISA cards #1
Comments
Hey, so, in general every 8bit ISA card is able to be supported. The other issues like missing/very broken DMA support are just software problems and could be fixed in the firmware. The lack of real-time operation (because the emulator isn't always running at 100% CPU speed and can vary it's frequency by quite a bit) is normally not an issue, but for specific applications like measurements, motor control (think old CNC machine controllers, etc.) this will be a big issue. I don't see any way to support this kind of device. The USB standard requires a minimum frame time of 1ms per frame (125µs for USB 2.0 HS), which means you will need at least 2ms for a single byte transfer. Writing data can be done a lot more efficient/faster with clever coding, but reads are always bottlenecked by this. I have successfully used:
Things that don't work (and why):
In general, the USB idea was pretty okay for a proof-of-concept, but if you would want to actually use this thing for any real usage, the board would need to be redesigned to use something like an FPGA and use a bus like PCI. But I don't think I'm going to implement that anywhere in the near future. |
Hi, Great project! So how does it work exactly? I want to use a 360 KB floppy and controller on Windows 10. |
Hi toncho, this project is converts a set of USB messages to actions on an ISA bus. What you'd do is start an emulator (like PCem) and do your work in there (with the "real" floppy being pass-through). The project is not a point where it is usable for any proper work, at all, though. If you want to work with floppy drives, use Greaseweazle, KryoFlux or similar: |
I have a number of questions about this project, and since there seems to be no mailing-list or forum, I'm hijacking this github issue for it..
Is there a specific reason to go for 8-bit ISA only? The rather high-end microcontroller chosen should have plenty of additional I/O pins around?
The question here is whether 125us (x2) is "good enough" for most use cases or not. Sure, FS-USB 2ith 1ms (x2) is probably stretching it a bit too far for any but the most trivial use cases.
That's of course a completely different complexity (schematics, layout, cost, ...), and a bit overkill for the good old ISA, IMHO. btw; any spcific reason for putting 32MiB of SDRAM in the design? The use case of translating small MMIO / PIO transactions between USB transfers and the ISA bus doesn't really look like anything that would be very memory-heavy. Just trying to find the reason for the design decision to understand the project better. Thanks! |
True, I have a nasty habit of abandoning projects after I get bored with them 😆
Yes, it's a 4-layer board and back then going over 10x10cm was very expensive (for a hobby project) at JLCPCB.
Yes, but USB 2.0 is broken on the card. I'm still not a fan of USB, but I'm fairly certain that the STM32 is incompatible with the USB PHY due to a hardware bug. There are other ULPI PHYs that should be compatible (USB3300 maybe? untested.). I wanted to do "retro fun" stuff like attaching VGA cards and sound cards via USB, especially VGA scrolling via 1ms latency was getting very painfully slow.
Yes! 😄 |
This looks like a great project and it's very exciting. I think that in order to gain more support from the community, it would be a good idea to provide a list of cards that have been tested with the ISASTM (showing which cards do not work and cards that do work). Personally, I have been hoping that ISA floppy controllers would work, but that's probably a bit of a pipe dream. Thanks for the hard work!
The text was updated successfully, but these errors were encountered: