It think it _should_ be possible. However I'd be much more interested in an interface that allows you to connect a MSX cartridge (ROM or otherwise) to a PC. The most likely candidate for that is a PC card (ISA/PCI) that "translates" MSX signals to PC compatible signals. Unfortunately my knowledge of electronics is very rudimentary, so I'm not really in the oppurtunity to design such an interface myself.
However, the fun part comes here: suppose one of us did indeed design and build such an interface, the real challenge would lie in designing the software around your favourite emulator, you know, drivers and such. The MSX knows about the following things: - I/O ports 0x00-0xff (though the Z80 is cabable of addressing more) - Memory 0x0000-0xffff (unmapped that is) - Various signals on the CPU (NMI, INT etc.) The PC knows about the same things (and more), however the I/O ports and memory would have to be mapped to other locations, for the obvious reason that the PC uses the same I/O and memory space for its own purposes. The I/O addresses for the memory mapper (0xf0-0xff) e.g. are used by the x86 processors for communication with the MPU (math processor). The ideal way to deal with that would be to find I/O and memory space that is not already in use, and PCI cards are always configured in such a way that this is the case. There may be technical difficulties, but I'm not the one to judge that, given my limited knowledge of electronics. I could sketch the crude schematics of it, but that's all. Okay. Back to the emulator and the imaginary PC card driver. At boot time the PCI card is directed to use 0xE0000000 as its base address and 0xe000 for its I/O space. To complete things up, it gets IRQ 10 for any potential interrupts it might want to generate (note: the cartridge connected to the PCI card won't know about these things, since the workings of the PCI card are in such a way that everything is translated transparently, many PCI cards work that way). The system boots up with your favourite OS, and the emulator driver either communicates to the hardware directly or uses an OS dependant driver, but that doesn't really matter right now. What can the emulator do, now that it's hard-wired to a real cartridge? It can access ROMS, I/O channels, everything you can think of. The emulator can map the cartridge memory to its Z80 virtual addressing space (a thing that can be easily done in C). It can also make use e.g. of the features of the Music Module, and you could actully play music on it. All these things are just a small part of what can actually be done with it IMHO. That is, if one of us really gets enough inspiration to create the device :P Greetz, Martin. -- For info, see http://www.stack.nl/~wynke/MSX/listinfo.html
