A node on a serial bus, preferably a device such as a personal computer (PC),
can
emulate other devices using virtual device drivers. A PC connected to a 1394 bus
exposes its CROM on the bus which presents an image to other nodes on the 1394
bus and describes the functional units supported by the node. The CROM can be changed
dynamically by adding unit directories to the CROM detailing peripherals connected
to the PC. The PC can then be enumerated as the connected device by other PCs on
the bus. The PC can emulate or morph itself into any desired device or even multiple
devices at the same time. The invention also allows a PC to create devices that
don't yet exist on the bus. The invention allows a user to create virtual device
objects with device properties to have just in case a user plugs the particular
device in to the PC.