Malvineous
Experienced Member
Hi all,
I was looking at the XT-IDE project this morning and it got me thinking. (But please excuse my ignorance, I'm no expert in any of this!)
Would it be possible, or even worthwhile, to create an embedded system (like a router with an ARM CPU, for example) and build it onto a card that could be inserted into an ISA slot? If the ISA signals were routed into the embedded processor, it would be possible to run some code on the processor which could then directly interact with the ISA bus.
What I am imagining is a card you insert into an ISA slot, and it has a USB (or even an Ethernet) plug on the back. When power is applied, the card downloads firmware from a host machine and starts running it. That firmware is a program which controls how the device works. You could have firmware that makes the card appear as a hard drive controller, and the card accesses a disk image on a remote PC and makes it appear as a local disk. You could load different firmware that makes the device behave as a sound card, but it streams the audio back over the USB/network for playing/recording on another PC. Another firmware program could make the card appear as a display adapter, sending the display output to another PC. You could make it appear as a network card, with IPX support running from a ROM so you don't need to load any network drivers.
If it were possible to do this, it seems like it could be a really versatile device. Does anything like this already exist? Would anyone even want something like this?
Does anyone know whether normal memory read and write operations were sent over the ISA bus? Or was that direct from the CPU to the RAM? The reason I ask is that another use for a device like this could be to debug a running machine. You could watch all the traffic on the ISA bus live on a remote machine, read and write to memory locations and I/O ports, and so on. If all memory reads and writes went over the ISA bus, then these could be monitored too, triggering an action if a certain memory location was accessed or changed. From reading some ISA info, it sounds like you can become the bus master to effectively pause the CPU in response to something like this, allowing you to alter values in memory before letting the program continue to run.
I think this could be a very useful tool, but I don't really know enough about any of it to know whether it would be possible. Would it, or does the ISA bus work in a completely different way to how I think it does?
Thanks!
I was looking at the XT-IDE project this morning and it got me thinking. (But please excuse my ignorance, I'm no expert in any of this!)
Would it be possible, or even worthwhile, to create an embedded system (like a router with an ARM CPU, for example) and build it onto a card that could be inserted into an ISA slot? If the ISA signals were routed into the embedded processor, it would be possible to run some code on the processor which could then directly interact with the ISA bus.
What I am imagining is a card you insert into an ISA slot, and it has a USB (or even an Ethernet) plug on the back. When power is applied, the card downloads firmware from a host machine and starts running it. That firmware is a program which controls how the device works. You could have firmware that makes the card appear as a hard drive controller, and the card accesses a disk image on a remote PC and makes it appear as a local disk. You could load different firmware that makes the device behave as a sound card, but it streams the audio back over the USB/network for playing/recording on another PC. Another firmware program could make the card appear as a display adapter, sending the display output to another PC. You could make it appear as a network card, with IPX support running from a ROM so you don't need to load any network drivers.
If it were possible to do this, it seems like it could be a really versatile device. Does anything like this already exist? Would anyone even want something like this?
Does anyone know whether normal memory read and write operations were sent over the ISA bus? Or was that direct from the CPU to the RAM? The reason I ask is that another use for a device like this could be to debug a running machine. You could watch all the traffic on the ISA bus live on a remote machine, read and write to memory locations and I/O ports, and so on. If all memory reads and writes went over the ISA bus, then these could be monitored too, triggering an action if a certain memory location was accessed or changed. From reading some ISA info, it sounds like you can become the bus master to effectively pause the CPU in response to something like this, allowing you to alter values in memory before letting the program continue to run.
I think this could be a very useful tool, but I don't really know enough about any of it to know whether it would be possible. Would it, or does the ISA bus work in a completely different way to how I think it does?
Thanks!