As it uses an FPGA for the main architecture, the system is completely open – by default it configures to my own hardware design (which I call OSCA) but other architectures are included, namely Alessandro Dorigatti’s cycle-perfect emulators for the ZX Spectrum 48, Spectrum 128 and Pentagon 128. Click here for Youtube videos. You can also create your own architecture with free tools provided by Xilinx (Webpack ISE 10.1)
Physical hardware details: The FPGA is a Xilinx Spartan 2 XC2S150 and the CPU is of course a Zilog Z80. There are two main oscillators onboard (16Mhz and 14Mhz) plus header pins for unused GCLKs, 3 memory chips: the first is deemed “system RAM” and is connected to both the CPU and FPGA (512KB, with paging granularity of 16KB), the second and third are 512KB and 128KB 10ns SRAMs respectively and are totally independent (connected to FPGA only, on seperate busses). There are two Atari 2600 / Amiga-like joystick ports, PC mouse and keyboard connectors, an RS232 serial comms port, a stereo audio socket, a 12bit colour video-out socket and SD card connector
My custom architecture (OSCA – Old Skool Computer Architecture) offers 256 colour bitmap / tilemap video modes, 55 hardware sprites per scanline, hardware scroll, line draw, a simple blitter and 4 channels of 8-bit sampled audio (Amiga style). Video output is RGB SCART for TV or VGA (for PC monitors). TV mode offers interlaced and non-interlaced modes (both PAL 50Hz and NTSC 60Hz) / VGA mode video is standard 60Hz or non-standard 50Hz. Full screen resolution (non-interlaced) in 256 colours is 368*256 (PAL) Here is the OSCA hardware manual.
I also made a simple OS, called FLOS (Freezer Like Operating System) – this behaves a bit like a cross between DOS and a Debug/Freezer cartridge from the home computer days – it allows files to be loaded and saved, programs to be run, memory to be examined etc. FLOS loads up on boot from an SD card (or from the onboard EEPROM), but its not fixed – you could create your own OS if you wanted, or just have the V6Z80P boot straight into some arbitary Z80 app. In addition there’s simple apps and utils for FLOS (such as a file manager, text editor, native assembler etc) and tools for the PC such as a serial file transfer program / graphics converters etc. The flos manual can be found here.
Sooo… The V6Z80P is essentially a modern standalone 8-bit computer system which harkens back to the days of “proper” programming (y’know, when you could hit the metal and not worry about APIs and abstraction layers and all that nonsense:) Or.. you could use it as an FPGA trainer PCB which just happens to have a physical Z80 CPU onboard (but only a couple of free IO pins). As mentioned, the “Webpack 10.1″ software used to design the architecture is available from Xilinx for free, and allows designs to be entered via schematics or high level descriptive languages like Verilog or VHDL. You can upload these new configs via the JTAG pins or burn them to the onboard EEPROM (which can store multiple architectures). An online version of the V6Z80P+ documentation and links to the entire project archive can be found here. (There’s also an email-based discussion / support group for owners).
Misc PCB info:
- 1 x MMC/SD/SDHC card slot (OS supports FAT16 file system)
- 2 x Joystick ports (Atari-standard, the original Megadrive pads are compatible too)
- 1 x PS/2 Keyboard Port (PC standard)
- 1 x PS/2 Mouse Port (PC standard)
- 1 x Serial Comms Port (4 pin mini-DIN: RX,TX,GND) – A PC compatible null modem adapter cable is supplied.
- 1 x RGB VGA video port (SCART RGB TV adapter cable supplied for TV-out)
- 1 x 3.5″ Stereo out socket
- 1 x 2.1mm DC power jack socket (7.5 or 9 volt mains adapter capable of supplying around 800mA is required)
- PCB dimensions: 116mm x 123mm.
[Edit: Jan 2014] No plans to build any more V6Z80Ps I’m afraid – after more than five years I think it’s time to move on. Many thanks to everyone who bought one and supported the project!