VTxx

From NESdev Wiki
Jump to navigationJump to search

VTxx refers to V.R. Technology's "NES-on-a-chip" Famiclones, some of which having greatly extended capabilities. These capabilities are described in separate articles:

The progression of features as well as backwards-compatibility is contiguous until the VT09. The VT32 and VT369 are the lower- and higher-end enhancements to the VT09, are not compatible with each other, but are backwards-compatible to the VT09 except in the format of the enhanced palette and the absence of the second APU.

V.R.T.'s website has datasheets for VT16- and VT18 chips that are merely VT09s with additional LCD controllers.

The VT1682 and VT268 are not NES-compatible, even as their designs are inspired by it.

Memory Map

(Main) CPU Memory Map

CPU $0000-$07FF: 2 KiB of internal RAM
CPU $0800-$0FFF: VT01-VT03: Mirror of CPU $0000-$07FF, VT09+: Further 2 KiB of internal RAM
CPU $1000-$1FFF: VT01-VT32: Mirror of CPU $0000-$0FFF, VT369: Embedded 4 KiB ROM
CPU $2000-$2007: RP2C02-compatible PPU registers
CPU $2010-$201F: VT02+: New PPU registers
CPU $2020-$207F: VT369: Newer PPU registers
CPU $3000-$3FFF: VT369: Mirror of PPU $2000-$2FFF, allowing direct nametable access
CPU $4000-$401F: RP2A03-compatible APU, DMA and I/O registers
CPU $4020-$403F: VT02+: New APU, DMA and I/O registers
CPU $4100-$41FF: VT02+: New miscellaneous registers
CPU $4800-$4FFF: VT369: 2 KiB of RAM shared with sound CPU
CPU $5000-$53FF: VT369: Mirror of PPU $3C00-$3FFF, allowing direct palette access
CPU $6000-$7FFF: Optional WRAM, if present on cartridge, VT369: Optional ROM bank
CPU $8000-$FFFF (write): VT02+: When forwarding is enabled (register $410B bit 3 "FWEN" =0):
                         MMC3-compatible registers that are forwarded to $4101-$4108)
CPU $8000-$FFFF (read): Four 8 KiB PRG-ROM banks.

Sound CPU Memory Map (VT369)

CPU $0000-$07FF: 2 KiB of scratch RAM
CPU $1800-$1FFF: 2 KiB of RAM shared with main CPU
CPU $2000-$2FFF: Sound registers
CPU $4000-$4FFF: Embedded 4 KiB ROM

PPU Memory Map

PPU $0000-$1FFF: CHR-ROM, all modes: CHR pattern data, bit planes 0 and 1
PPU $2000-$2FFF: NTRAM (2 KiB, selectable mirroring)
PPU $3C00-$3EFF: VT369: CGRAM in 8bpp modes
PPU $3F00-$3F1F: CGRAM in 2bpp modes, entries $3F10/$3F14/$3F18/$3F01 mirrors of $3F00/$3F04/$3F08/$3F0C.
                 VT03+: Also CGRAM in 4bpp modes, bits 0 to 5, of colors 00-1F; same mirroring of address bit 4 applies.
PPU $3F20-$3F7F: VT03+: CGRAM in 4bpp modes, bits 0 to 5, of colors 20-7F; no mirroring of address bit 4.
PPU $3F80-$3FFF: VT03+: CGRAM in 4bpp modes, bits 6 to 11, of colors 00-7F; no mirroring of address bit 4.
PPU $4000-$5FFF: CHR-ROM, 4bpp modes: CHR pattern data, bit planes 2 and 3 (VT03+)

List of VTxx consoles

VT01

The VT01 is V.R. Technology's first Famiclone. Its only enhancement is the ability to drive an STN display directly using a modified palette.

VT02

The first of the V.R. Technology Famiclones to add major enhancements:

  • OneBus mode: PRG and CHR data come from the same address space. The cartridge connector's PPU Address lines are repurposed as higher-order Address lines.
  • Integrated MMC3-compatible bankswitching by the console, active when in OneBus mode.
  • Ability to use NTRAM as CHR-RAM.
  • Choice of PPU A12 and HBLANK as a source for clocking the scanline interrupt.
  • Automatic X/Y light gun position determination.
  • Integrated RS232 interface.
  • Direct NTSC/PAL and 50/60 Hz identification.
  • Automatic per-attribute-tile background and per-sprite sprite bankswitching.
  • DMA can be used to transfer data to PPU memory (via $2007) in addition to the normal transferring of data to OAM memory (via $2004).
  • A second APU doubling the number of sound channels.
  • Raw PCM output using full eight bits of resolution.
  • DMA-driven raw PCM output.
  • Data for DMA-driven DPCM/PCM output can be placed anywhere in CPU address space, not just within the $C000-$FFFF range.

VT03

The VT03 greatly enhances the graphical capabilities of the original RP2C02:

  • Sprites can be 16 pixels wide.
  • Graphics can use four bits-per-pixel, so that together with two attribute data bits, sixty-four rather than 16 colors each for background and sprites may be chosen.
  • Enhanced color palette with twelve bits rather than six bits per color.

VT09

Low-cost replacement for VT03.

  • Internal CPU RAM is 4 KiB rather than just 2 KiB, removing the need for additional WRAM for many applications.
  • 4 bpp pattern data can be arranged in an alternative pattern that allows a single 16-bit fetch to retrieve two planes' data, allowing the use of slower ROM chips.

VT32

Current revision of the VT09.

  • Hardware multiplier and divider.
  • Enhanced palette format changed from the VT03's saturation-luminance-hue-based to a simpler 12-bit (4-4-4) RGB format.
  • New two-channel (AD)PCM engine, allowing playback independently of normal PRG banking.
  • Second APU is removed.

VT369

Final enhancement of the VT09.

  • Hardware multiplier and divider.
  • 5.37 MHz CPU mode.
  • 8 bits-per-plane video modes.
  • High-resolution (512x480) video mode.
  • 30 fps video mode for slow ROM chips.
  • 16x 8-bits-per-plane 16x16 sprites per scanline.
  • Enhanced palette format changed from the VT03's saturation-luminance-hue-based to a simpler 15-bit (5-5-5) RGB format.
  • Additional sound CPU for arbitrarily-encoded multi-channel (AD)PCM playback.
  • Second APU is removed.
  • Additional additive outer bank register called "relative bank" that applies to all CPU/PPU ROM accesses.

References