Status of the VME bus device. So far the VME bus interface has mostly been a placeholder as it just installs a device on a VME card in the "maincpu"s address space on the VME CPU board, shortcutting the bus function itself.

This is fine just to run a single cpu bord with a couple of different VME boards. As soon as you want to have multiple masters (CPU boards or DMA controllers etc) this will not work very well.

There are two modes:

- Direct install of devices into a single CPU boards address space. This mode is selected by calling vme_device::use_owner_spaces() from the card device configuration
Quote
VME(config, "vme", 0).use_owner_spaces();

- Indirect install of board devices into a bus address space. Reads and writes from masters will be trampolined into the right device in the right VME address space. This allows multiple masters to work a single I/O board without the I/O board needs to know them on before hand. It will be slow but that is OK and also the nature of a VME bus, most intensive processing was using a local CPU anyway.

The direct mode works already I believe while I am working on the Indirect mode for the A24 address space right now. I am struggling a bit how to translate byte and word accesses into the correct VME bus cycles translated to MAME cycles, and I am sure I will come out short, but never the less have some improvements. By all means, if someone is doing something similar for VME, just let me know.


Because I can