Zork was the first commercial text adventure game. The game was originally implemented on a mainframe with a luxurious 1MB of memory! But it couldn't be played on the new home machines of the time, which usually had only 48k, so the programmers developed a virtual machine that executed bytecode called Z-code.
My project is to implement a CPU that can execute Z-code natively on an FPGA. You hook it up via USB to a terminal emulator, load the bytecode for the game, and play! It's my first FPGA project. It will use an Artix-7 on
Digilent's Cmod A7 board, which conveniently has SRAM for the computer's RAM.
Why Artix-7 and not the more popular Spartan-6? Because I like SystemVerilog more than Verilog and the
Altera Xilinx IDE that supports SystemVerilog only supports the 7-series chips. One possibility that I thought of was, Xilinx's other IDE that supports the 6-series can import netlists. If there were a program (a free one, not Mentor Graphics or Synoptix) that could convert SystemVerilog to netlists, you could use that. But really, the difference between, say, the Papilio and the Cmod A7 is not much anyway.
I've started
a video blog about the project, since it's a learning experience for me, and I hope it can help others!