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

Reply via email to