Good questions. Let's see...
infiniteneslives wrote:I'm kind of confused though with your argument about devcarts. Why wouldn't you just make your own PCB in place of a devcart? The ENIO needs it's own PCB anyways.
Time
I got the first 10Mb ethernet adapter working on the NES a year ago, but I still don't have a finished product. If I spend another year working on an SRAM dev cart it will never get finished.
Re-inventing the Wheel
I don't own a PowerPak or any sort of real dev cart, but they already exist. If someone else has already done it, it's better to complement their work instead of compete with it. Unless you can do it a hell of a lot cheaper or add some killer feature, of course. If someone does write an online game, they could probably use existing parts from RetroUSB to build the carts.
Ability to Emulate
I spent a couple weeks modifying the FCEUX source code to add ethernet functionality to the MMC1 mapper. If the ENIO is implemented as a peripheral using $4017 reads, you can add it as another controller port device to select from a drop down menu.
infiniteneslives wrote:Additionally you need the NES cords as connectors which there isn't a decent supply for. I guess I don't see where the convenience of the controller ports comes from.
No, there will be no controller cords involved. The expansion port has all the signals that are available to the controller ports. Plus the controller ports can only input 3 bits at a time - D0, D3, D4. The expansion port gives you the ability to input all 8 bits in a single read.
Keep in mind that the ENIO's CPLD will be attached to a few of the Cart-EXP lines. If someone did want to design a cart to decode an address and send /CS and R/W signals to the ENIO, the CPLD could be updated. That way the ENIO could either be addressed using $4017(r)/$4016(w) or a cart designated address, say $4200(r/w). The two advantages to the latter being that you could do parallel writes instead of serial and you could use the second controller port for another device.