• Please review our updated Terms and Rules here

Intrest in new ISA cards?

dkarguth

Experienced Member
Joined
Jan 26, 2019
Messages
83
Location
Texas, USA
I was pondering the idea of designing a brand new line of ISA cards to retrofit into old PCs.
Things along the lines of:
- A video card that used an FPGA to emulate VGA/EGA/CGA/MDA graphics, settable either by dipswitches on the card or a software utility, that has an HDMI output rather than a VGA. Since an FPGA would essentially completely replicate the functionality of the original VGA/MDA/CGA/EGA cards, it would be able to be 100% compatible with the video cards of the era.
- An 8 bit USB controller that supports hot-pluggable USB mass storage devices such as flash drives, and possibly includes a virtual COM port so that a USB mouse would appear as a generic microsoft serial mouse to DOS.
- A modern network card with integrated wifi
- A card that emulates a Gameport, but connects to Xbox/PS4/Bluetooth controllers to provide wireless controllers
- A card that uses an FPGA to completely emulate a Commodore 64 and use the PC keyboard and display. Onboard SID chip with audio pass-thru, a commodore serial port on the back to connect authentic commodore accessories, and a simulated serial link in between the PC and the Commodore to facilitate file transfers.
- A standalone commodore serial card that lets DOS treat the commodore disk drives as a normal floppy drive, or use a commodore printer as a normal printer.

I am not planning on any PCI cards at the moment, mostly because many of these things already exist on PCI cards. These are some things that were never available on ISA cards.
None of them have been designed yet, these are just general ideas.

If anyone feels like suggesting something that they would like to see in a new ISA card, that would be well received as well.

Note: Mods, if this comes off as too close to advertising, just message me and I'll happily remove it. That is not my intention. I'm not trying to sell anything, I am just curious to see if there would be any interest in this area.
 
Sure, interesting ideas, but don't expect to sell a lot.
Such cards would be neither cheap, nor period-correct.
AFAIK, there's only one such project which turned out to be a success: XT-IDE, and its variants like XT-CF.
Old HDDs fail a lot, so there's a lot of demand for a solution to use modern drives.
Old video cards, network cards, 8-bit computers don't fail that often, they are still easily available in fully functional condition.
 
On your video card could you include PCJr/Tandy graphics?

I lack either a PC Jr or a Tandy 1000 series machine and would love to play games that used the enhanced graphics and sound on my Kaypro PC or my IBM 5155.
 
On your video card could you include PCJr/Tandy graphics?
Probably impossible - PCjr video RAM is located under 640KB.
It would be possible to support Plantronics Color Plus modes, but is there any notable software with support for Color Plus, but not EGA?
 
This would be really nice but begs the question if it can actually be done, i.e., both hardware-wise and software-wise.
Hardware-wise seems perfectly possible, software-wise may be somewhat complicated...
How to present the USB storage to the host?
One option would be to pretend it's an HDD connected thru XT-style HDC, with its own BIOS - this way, however, hot-plugging would be problematic.
Another would be to pretend it's a SCSI host adapter + drive + removable media, available in DOS via ASPI manager.
 
This would be really nice but begs the question if it can actually be done, i.e., both hardware-wise and software-wise.

I agree, It would be great, I don't see why it can't be done but i think software wise it may be a lot of work ?, Take the experimental lo-tech isa - usb controller, Hardware wise it worked but there was no software for it apart from the Chinese drivers, The DOS driver worked but the boot rom bios was crap, Shame it never went any further, I still use mine in my XT running the dos driver, little slow but it works.
 
IMHO, NetPi-IDE is a better idea than a 8-bit USB card since you can do the same thing with the Pi and a USB stick. I have a new set of iCE40UP5K based prototype boards just no time to debug them and get it working. It's not a lot of work, but I'm just slammed for time until at least summer. :(

https://www.retrotronics.org/netpi-ide/

There is already plans for a packet driver and RNDIS is also possible.
 
Sure, interesting ideas, but don't expect to sell a lot.
Such cards would be neither cheap, nor period-correct.
AFAIK, there's only one such project which turned out to be a success: XT-IDE, and its variants like XT-CF..

Agreed on this. Though, if someone could make an inexpensive (sub $60) MFM-IDE (or MFM/RLL to anything current really) I'd be all in on that since the XT-IDE doesn't help with non PC's. While they exist, they're all about $200+. Of course, this isn't an ISA solution as the OP requested, so it won't help.

Anyway, I honestly can't think of an ISA solution we really need... Maybe an ISA WIFI Card? The ISA USB might be interesting, but the only thing that would make that interesting is it had to have DOS drivers.
 
As far as tandy graphics go, since I plan to use an FPGA, I should technically be able to emulate any video card you want. However, I'm not sure how Tandy graphics work, or if they are even compatible with the ISA bus. I'm not really educated in that area.

For the USB card, I was thinking that it might present itself to DOS as something like a zip drive. It is always assigned a drive letter, but if you try to access it when you don't have a flash drive in it, it just returns a "drive not ready" message.
 
If anyone were going to make an FPGA-based ISA video card, my suggestions for extra modes / support would be:
  • Hercules InColor - since you'd be outputting to a colour display you might as well emulate the InColor rather than a mono Herc. As far as I know it's fully back-compatible.
  • Wyse 700 - 1280x800 resolution and a choice of two 16x16 fonts in text mode.
 
I've had the idea of a modern ISA video card before and gave some serious thought and research to it. I don't have time to be a primary on such a project, but I am up to contribute if you get serious about it. Some things to consider:

- Please use proper level translation on the ISA bus. There are a lot of ways to bridge 3.3V and 5V including quick-switches and PCI clamp diodes built into some devices. However the best method by far for signal integrity is dual voltage rail '245 type directional buffers. I've tried just about every method and the ghosts in the machine will drive you crazy.
- I don't have personal experience with direct Spartan 6 driving TMDS outputs on regular GPIOs. However I caution against it a little as TMDS is 10:1 minimum over dot-clock. 720p60 and 1080p30 are 74.5 MHz. 745 MHz makes everything harder. A dedicated HDMI MAC where you can run the dot-clock * 28 lines is easier. No one rain drop causes the flood. Every little bit of ease helps.
- Memory bandwidth is the largest concern. Any thing worth doing is worth doing right. Don't arbitrarily gimp the project by limiting the output resolution because of other factors. 74.5 MHz * 24 bits per pixel = 223.5 MBytes/s memory bandwidth. It's difficult to get that with SDR SDRAM unless you go 16 or 32 bit wide. DDR(1) is possible and still available in leaded parts. DDR2+ is BGA only. Any memory subsystem will have to run >100 MHz * 16 bit for SDR and 8 bit for DDR. It presents challenges. Don't underestimate.
- Follow the evolutionary lead of the standards themselves. Start with CGA or MDA only. Then incrementally add HGA, EGA, base VGA, MCGA, SVGA, etc. Don't try and emulate a Tseng ET4K on day #1.
- There are lots of VGA cores on opencores.org. But most aim at just output clock generation with frame buffer support and not original IBM register compatibility. Two that do I recommend referencing that do, are:
http://wacco.mveas.com/
https://github.com/asicguy/gplgpu
- HDMI can transport sound in HBI/VBI packet areas. Most HDMI MACs have both I2S and S/P-DIF inputs. Adding connections between FPGA and those inputs is trivial. But also consider some basic DMA/IRQ connectivity on the ISA bus for sound card emulation as well.
- Don't try and put every feature on your list into one card. Feature creep will kill it. In fact, maybe not add to revision 1 after all.
- Start with a soft-cpu core in the FPGA to exercise things /unit test things both from the soft core -> output and the ISA -> soft core directions.
- Design from the start considering write caching. That's how most fast SVGA cards like the ET4K got their performance. Writes would always assert ZWS and READY immediately while the ISA write would buffer pending multi-plex availability to external RAM. Any read would block (negating READY) until the write cache emptied and the bus was again available before being serviced.

-Alan
 
On your video card could you include PCJr/Tandy graphics?

I lack either a PC Jr or a Tandy 1000 series machine and would love to play games that used the enhanced graphics and sound on my Kaypro PC or my IBM 5155.

Speaking of the IBM 5155, having the internal connector for the inbuilt CRT would be a nice feature to have on any modern ISA video card. Probably not a huge market for it but for 5155 owners like myself it would definitely benefit from having more options when it came to replacing the original IBM CGA card.
 
I am thinking about going with DisplayPort instead. No licensing fees, and it is backwards compatible.

I think you mean DVI. DisplayPort is a constant clock fully packetized protocol. Very different but open.

DVI and HDMI share the same protocol lineage.
 
Back
Top