The Zoomed Video (ZV) Port for PC Cards
Zoomed Video is a connection between a PC Card and host system that allows the card to write video data directly to the VGA controller. The data is transferred with no buffering requirements because it is transferred over the ZV bus and not the system bus.
Introduction
The Zoomed Video port (ZV Port) offers an attractive alternative to the traditional video input methods such as VAFC (VESA Advanced Feature Connector). ZV Port offers a low-cost, simple multimedia solution for the notebook designer, as well as the user. The notebook computer now has a development model that closely reflects the plug-in board model of desktop machines. This new technology allows portables to evolve at a pace that is on par with desktop machines by providing multimedia solutions that fit into a PC Card form factor.
The Zoomed Video specification provides for an inexpensive, full frame-rate video display channel for applications like MPEG decoders for movies and games, TV tuners, live video input and video capture. With the PC Card form factor, notebooks can equal today's desktop audio and video performance, without sacrificing flexibility.
ZV Port allows video data on a PC Card to be transferred directly into the VGA frame buffer. The ZV Port is a direct connection between a PC Card host adapter and a VGA controller. It allows the host adapter (or more precisely a PC Card plugged into the host adapter) to write video data directly into the video frame buffer. This video data is transferred real-time without any data buffering requirements being placed on the PC Card. This eliminates the need for the PC Card to provide bus mastering or bus arbitration logic because the video data is transferred over the dedicated ZV bus and not the system bus such as the PCI bus.
Why Another Bus?
A large percentage of multimedia applications involve a single video stream being decompressed by either a hardware or software codec (i.e., Video Playback). The PCI bus is adequate for these types of video applications.
Demanding multimedia applications, such as multiple video streams or games, may require a dedicated video bus. Running these applications over a single PCI bus may affect system performance due to interference between multiple masters which share the bus. Also, Windows 95 pre-emptive multitasking may cause dropped frames. These issues can be resolved by transferring multimedia data over a secondary PCI bus, but this increases system cost. One possible solution is to have a low cost ancillary bus in the system to offload the PCI bus. The purpose of the ZV-Port is to provide this alternative, low cost solution, while maintaining flexibility and ease of use.
Applications
The following examples illustrate how the ZV Port supplements the PCI bus utilization in multimedia applications.
Live Video from a real-time source:
In this type of application, 60 fields of interlaced video have to be transported in an uninterrupted manner from a source (i.e., video encoder) to a destination (i.e., the display screen) in a system.
In order for this to occur, a contingency issue must first be resolved. A system with a single PCI bus can handle live video, but in practice, it is difficult to ensure that enough bandwidth is available. The only way to guarantee that there will be no "video tearing" at the destination or display point is to have enough memory at the source point to buffer at least one full frame of video data (a little over a 1/2 megabyte of memory).
One way to guarantee uninterrupted 30 frames per second video at the destination point is with a dedicated bus like ZV Port. With a dedicated bus, the video is directly connected to the display controller, which enables the video stream to flow uninterrupted from the source to the destination, and eliminates the need to buffer the video stream at the source.
Video capture
Another application for Zoomed Video is capturing video to disk. To capture and view the video, the video source controller must bus master the same video asynchronously to two different destinations- the display screen and the disk or storage device. This is expensive and requires a PCI bus mastering controller at the source. With ZV Port, a PCI bus master is not required. The video data is supplied via the ZV Port to the display controller where it is displayed. The capture-to-disk operation is then controlled by the CPU, which pulls the data out of the display frame buffer and sends it to the storage device. This is a true "what you see is what you capture" operation.
MPEG-based games
MPEG-based games place more stress on a system than MPEG playback. A PCI bus can handle MPEG playback without any strain, but MPEG-based games require the system to keep a MPEG decoded video stream flowing to the display, render 3-D graphics images, and mix them with the video at some point between the MPEG decoder and the display screen. MPEG-based games will evince the demand for a supplementary video bus to be in the system. A MPEG decoder streams the video straight into the frame buffer via the ZV Port by giving the CPU almost 100% utilization of the PCI bus for rendering the graphics into the same frame buffer. The graphics engine has the responsibility to mix the two streams and send them to the display.
What Is The ZV Port?
The ZV Port is a point to point uni-directional video bus between a PC Card host adapter and a VGA controller. The ZV port complies with CCIR601 timing to allow NTSC decoders to deliver real-time digital video straight into the VGA frame buffer from a PC Card via the PC Card host adapter and the ZV Port.
How It Works
The PC Card host adapter has a special multimedia mode configuration. In this mode the PC Card connector pin assignments change. The ZV Port proposal prescribes how a ZV Port PC CardZV Card transitions from its initial PC Card memory mode into ZV Port mode. The PC Card Standard specifies both the hardware interface and the software interface to a ZV Port PC CardZV Card, to ensure compatibility with other PC Cards. The multimedia-mode PC Card is required to meet all existing power-on and hot plug-in requirements. But once the card has been plugged in and the host adapter has been switched to this special multimedia mode, the pin assignments change to reflect the block diagram shown on the previous page. If a non-ZV PC Card is plugged into the slot, the host adapter is not switched into the special multimedia mode, and the PC Card will behave as expected.
In the special multimedia mode, the control and data signals on the PC Card bus stillwill follow the same data path to the ZV Port PC CardZV Card as they dowould for any other PC Card. The only difference is that the addressing range will be restricted to 16 bytes of common and attribute memory. When the multimedia mode is selected in the PC Card Host Adapter, address line A [25::4] to the PC Card are either put in three-state by the Host Adapter or become inputs to the Host Adapter. In ZV mode, the address lines A[25::4], BVD2/SPKR#, INPACK# and I0IS16# signals are replaced by ZV Port signals which carry video/audio data from the PC Card to the ZV Port. The multimedia PC Card does not support memory mapped addressing. The unused address pins and three control pins are used to define the 19-pin ZV data bus and controls, and a 4 channel digital audio.
Software Considerations
The PCMCIA components are: 1) Socket Services, which is used to manage the mode-switching in the PC Card host adapter; and 2) Card Services, which is used to detect and enable ZV Port PC Cards using the ZV Port interface.
Audio is managed via the existing MCI API. A new piece of software is required to control ZV Port; this is exemplified by the Video Port Manager (VPM) API. The following diagram also shows how software is layered on top of the PC Card host adapter, audio codec, and VGA controller.
Conclusion
The Zoomed Video Port offers an attractive alternative to traditional video input methods and provides an inexpensive, full frame-rate video display channel for applications like MPEG decoders for movies and games, TV tuners, live video input and video capture. ZV Port also offers a low-cost, simple multimedia solution for the notebook designer. With ZV Port, the mobile user has a broad range of options to choose from in adding multimedia to their notebook configuration, and notebook designers can reduce the cost of their notebooks by offering multimedia options as an aftermarket upgrade.

Pin Assignments
The pin assignments for 16-Bit PC Card and 32-Bit CardBus interfaces are given here.
+================================================================+
| Pin Assignments For The PC Card And Cardbus Interfaces |
+---+-----------------+---------+-----+-----------------+--------+
| | 16-Bit | 32-bit |$| | 16-Bit | 32-bit |
| +-----------------+ |$| +--------+--------+ +
|Pin| Memory |I/O+Mem |CardBus |$| Pin| Memory |I/O+Mem |CardBus |
+===+========+========+========+$+====+========+========+========+
|1 |GND |GND |GND |$| 35 |GND |GND |GND |
|2 |D3 |D3 |CAD0 |$| 36 |CD1# |CD1# |CCD1# |
|3 |D4 |D4 |CAD1 |$| 37 |D11 |D11 |CAD2 |
|4 |D5 |D5 |CAD3 |$| 38 |D12 |D12 |CAD4 |
|5 |D6 |D6 |CAD5 |$| 39 |D13 |D13 |CAD6 |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|6 |D7 |D7 |CAD7 |$| 40 |D14 |D14 |RSRVD |
|7 |CE1# |CE1# |CCBE0# |$| 41 |D15 |D15 |CAD8 |
|8 |A10 |A10 |CAD9 |$| 42 |CE2# |CE2# |CAD10 |
|9 |OE# |OE# |CAD11 |$| 43 |VS1# |VS1# |CVS1 |
|10 |A11 |A11 |CAD12 |$| 44 |RSRVD |IORD# |CAD13 |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|11 |A9 |A9 |CAD14 |$| 45 |RSRVD |IOWR# |CAD15 |
|12 |A8 |A8 |CCBE1# |$| 46 |A17 |A17 |CAD16 |
|13 |A13 |A13 |CPAR |$| 47 |A18 |A18 |RSRVD |
|14 |A14 |A14 |CPERR# |$| 48 |A19 |A19 |CBLOCK# |
|15 |WE# |WE# |CGNT# |$| 49 |A20 |A20 |CSTOP# |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|16 |READY |IREQ# |CINT# |$| 50 |A21 |A21 |CDEVSEL#|
|17 |Vcc |Vcc |Vcc |$| 51 |Vcc |Vcc |Vcc |
|18 |Vpp1 |Vpp1 |Vpp1 |$| 52 |Vpp2 |Vpp2 |Vpp2 |
|19 |A16 |A16 |CCLK |$| 53 |A22 |A22 |CTRDY# |
|20 |A15 |A15 |CIRDY# |$| 54 |A23 |A23 |CFRAME# |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|21 |A12 |A12 |CCBE2# |$| 55 |A24 |A24 |CAD17 |
|22 |A7 |A7 |CAD18 |$| 56 A25 |A25 |CAD19 |
|23 |A6 |A6 |CAD20 |$| 57 |VS2# |VS2# |CVS2 |
|24 |A5 |A5 |CAD21 |$| 58 |RESET |RESET |CRST# |
|25 |A4 |A4 |CAD22 |$| 59 |WAIT# |WAIT# |CSERR# |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|26 |A3 |A3 |CAD23 |$| 60 |RSRVD |INPACK# |CREQ# |
|27 |A2 |A2 |CAD24 |$| 61 |REG# |REG# |CCBE3# |
|28 |A1 |A1 |CAD25 |$| 62 |BVD2 |SPKR# |CAUDIO |
|29 |A0 |A0 |CAD26 |$| 63 |BVD1 |STSCHG# |CSTSCHG |
|30 |D0 |D0 |CAD27 |$| 64 |D8 |D8 |CAD28 |
+---+--------+--------+------- |$| ---+--------+--------+--------+
|31 |D1 |D1 |CAD29 |$| 65 |D9 |D9 |CAD30 |
|32 |D2 |D2 |RSRVD |$| 66 |D10 |D10 |CAD31 |
|33 |WP |IOIS16# |CCLKRUN#|$| 67 |CD2# |CD2# |CCD2# |
|34 |GND |GND |GND |$| 68 |GND |GND |GND |
+===+========+========+========+=+====+========+========+========+