The V6Z80P+ is a standalone computer PCB I designed based on a Spartan II 150K FPGA and physical Z80 CPU running at 16MHz. By default the FPGA is configured with my own system architecture but it can reprogrammed to do anything you want (within reason:) The V6Z80P+ has 3 memory buses, one for the CPU and main memory (512KB), plus another 512KB and 128KB. 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 MMC/SD card connector.
The default architecture which I called OSCA (for Old Skool Computer Architecture) offers 256 colour bitmap / tilemap video modes, allows 55 hardware sprites per scanline, hardware scroll and line draw, a simple blitter and 4 channels of 8-bit sampled audio (Amiga style). OSCA can output RGB TV or VGA signals. 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) Click Here for Youtube videos of demos made with the board configured with OSCA.
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 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.
Sooo… It’s 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). Incidentally, the “Webpack” 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 card slot (OS supports standard 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 RS232 Serial Comms Port (PC compatible null modem cable supplied)
- 1 x RGB VGA video port (SCART TV adapter cable supplied if required)
- 1 x 3.5″ Stereo out socket
- 1 x 2.1mm DC power jack socket (7.5v or 9volt mains adapter required around @ 1Amp)
- PCB dimensions: 116mm x 123mm.
The V6Z80P+ is supplied assembled and set up with OSCA as the default architecture (plus a Spectrum 48/128 emulator as an alternative config). It is supplied with a null-modem serial comms cable and RGB SCART TV cable (if required). (Note: The V6Z80P+ is essentially the same as the original V6Z80P, there’s a few small changes like the video port which is now a standard DB15 VGA socket)
Availability: 08-11-2010: Currently sold out but I may make some more if there’s interest and the parts are still obtainable. Email me at the address below if interested. Price is £85 GBP (plus postage + 3.9% Paypal fee) – I can send the boards worldwide. Please note, the price reflects the actual cost of the components – this is only a hobby for me and I dont actually make much (if any) profit.