Author Topic: An FPGA that you can play Zork on  (Read 13598 times)

0 Members and 1 Guest are viewing this topic.

Offline deebee

  • Newbie
  • Posts: 6
  • Country: gb
Re: An FPGA that you can play Zork on
« Reply #25 on: March 11, 2017, 02:12:00 pm »
I am with James on this one, I like the cheapo cyclone ii boards. They work well enough for exactly this kind of retro computing project. I think it also kind of fits really, bit of a retro looking board in itself  ;) A couple of plus points, they are cheap and can be left in the finished project. I don't want to tie up my >£100 cyclone V soc development board in a Z80 project only to have to dismantle it when I have a more demanding project that actually needs it. As for the software, there is something to be said for using the older version, it may well have some bugs or quirks that won't get fixed, but they are stable bugs that you can learn to work with. The latest and greatest always has the possibility of new unseen bugs that can frustrate. And keeping an older piece of software working has never been a problem, big fan of keeping a couple of older linux VM builds around that I know work with the software. Software doesn't stop working just because it's old, it doesn't wear out  (ignoring any potential licensing issues but thats another story). Anyone considering FPGA projects should try these low cost boards to test the waters, it can be tricky and not everyone will stick with it so please don't blow large sums of money for your first project.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #26 on: March 11, 2017, 06:45:00 pm »
I'm running Quartus II v13.0 under Win7x64 and have not had any issues with it whatsoever that I recall. It's rock solid stable, it does what it's supposed to do, it works just as well now as it did when it was the newest thing around. It's not a problem to have multiple versions installed although I do find it annoying that newer versions drop support for older parts. I'll never understand the obsession some people seem to have with new, must have the latest and greatest, everything older sucks because it's old, I'm forced to use Win10 at work and I absolutely despise it, horrible turd of an operating system that I feel like is constantly fighting with me and pushing MS "apps" and services, uhg! Well whatever, the whole point of this thread is to play with old retro stuff and even the lowly Cyclone II is still a very powerful part. I have a couple of much higher end FPGA boards and feel that I'm generally wasting them because I've barely scratched the surface of what they can do. I'm just not that great of an FPGA developer and most of my interest is in replicating retro hardware. I've had a lot of fun pushing these little Cyclone II boards as far as I can.

There is no 5V on the headers for some reason, but there is a pair of pads next to the power input jack that are connected to that. I have a board in the works that needs 5V and for that I'm just placing a small DC-DC converter on the daughterboard like I did to get the +/-15V for the vector output.
« Last Edit: March 11, 2017, 06:50:12 pm by james_s »
 

Offline amspire

  • Super Contributor
  • ***
  • Posts: 3802
  • Country: au
Re: An FPGA that you can play Zork on
« Reply #27 on: March 11, 2017, 10:30:14 pm »
There is no 5V on the headers for some reason, but there is a pair of pads next to the power input jack that are connected to that. I have a board in the works that needs 5V and for that I'm just placing a small DC-DC converter on the daughterboard like I did to get the +/-15V for the vector output.
That is probably the way I will go, since I need to have some analog, and using a DC-DC converter needs I can power everything from 5V. Just had a look at the one you used - ISA0315, 33mA output current and costs $4.75. Looks good - I might get the same one.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #28 on: March 11, 2017, 10:59:59 pm »
That is probably the way I will go, since I need to have some analog, and using a DC-DC converter needs I can power everything from 5V. Just had a look at the one you used - ISA0315, 33mA output current and costs $4.75. Looks good - I might get the same one.

It works well, they have a whole range of different voltages available, same footprint. You're welcome to the KiCad designs for either of these boards if you want them, I made a component that is the set of headers that plugs into the FPGA board with all the pins named. Beware that there are a few pins that are input-only that feed the global clock network, I got bit by those on the first run of a board I did. Also there are some pins that are tied to Vcc and Gnd with zero ohm resistors, remove those resistors from the bottom and you can use those pins. I think it was done for the larger FPGA in that series which requires more power and ground pins. Then there's an RC network to ground on one of the pins, I removed that to free up another pin for the Asteroids board. It's completely unnecessary to have.
 

Offline brooks

  • Newbie
  • Posts: 1
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #29 on: March 18, 2017, 01:12:14 am »
Hi Robert,

Thanks a lot for doing this! Lots of fun since I work with FPGAs now but played Zork back in the day. I also saw something like this originally on a PDP11. It was on a "terminal" which had no screen but just used a dot matrix printout instead!

I'm on part 5 of the video series. Would you mind providing a link to the spreadsheet you show, or adding it to the git repo?

Thanks
 

Offline cerkit

  • Newbie
  • Posts: 1
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #30 on: May 01, 2017, 06:23:59 pm »
Thanks for the great videos. I own a Mojo FPGA, so I'm not able to use System Verilog. I'm also new to FPGA's, so I'm learning Verilog slowly. I come from a software development background, so this has been a fun challenge.

I'd like to implement your zmachine idea on the Mojo. I may not ever get it working, but I'm really enjoying your videos.

Is this the same engine that ran Planetfall? I loved that game. I don't think I played much Zork.
 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #31 on: May 01, 2017, 11:00:25 pm »
Is this the same engine that ran Planetfall? I loved that game. I don't think I played much Zork.
The Z-Machine is a specification of a simple virtual machine, the one most text adventures used. It was created by Infocom and all their titles used it.
Since the Inform compiler was released publicly, hundreds more titles have been written for it. See http://www.ifarchive.org/

Using a portable virtual machine was an important enabling technology for text adventures, since you could author M titles, write N interpreters for the computer architectures people used (and in the '80s there were a lot of them), and then sell M*N products while only spending the effort to develop M+N actual software programs. The authors of the titles also could use a high-level language (object oriented and memory safe) even though the products were delivered for 8-bit micros with a more primitive developer experience.

Frankly, the whole concept of implementing it in Verilog is odd. Since FPGA cores (like for the MiST) that implement the Amiga, C64, ZX Spectrum, etc, already exist, and these platforms already have Z-Machine interpreters, it is logically entailed that any of these are "An FPGA that you can play Zork on".
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #32 on: May 01, 2017, 11:03:02 pm »

Have you described the construction of the vector monitor anywhere?

I'm horrible at documenting stuff like that. A guy named Fred Kono designed the deflection board, I made a Z amplifier based on a modified version of the Electrohome G05 Z amp, we've been working on a better more integrated design. There have been a few different versions of the deflection board, the latest uses ordinary 2N3904 and 2N3906 transistors to form a differential amplifier and then TIP41 and TIP42 output transistors, I have the schematic at home I can post. One of these days I'll finish my version of the PCB layout which combines deflection and the Z amp, HV will be on a separate board using the flyback from the TV the tube came from.
 

Offline Makkowitch

  • Newbie
  • Posts: 4
  • Country: dk
Re: An FPGA that you can play Zork on
« Reply #33 on: December 26, 2017, 10:31:58 am »
Hi y'all

I watched some of the videos on building the z-machine on an FPGA. It's a little bit out of my depth, I'm just beginning to look into hardware and FPGA's. I wonder why the whole VM is implemented on the FPGA (CPU). What's the reason for that decision?

I would have thought that implementing machine code in the CPU, and implementing the VM in software, would be the way to go.

Btw - It seems like the series ends at part 6. So I guess the project has been obandoned?


 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: An FPGA that you can play Zork on
« Reply #34 on: December 26, 2017, 09:39:23 pm »
I wonder why the whole VM is implemented on the FPGA (CPU). What's the reason for that decision?
I would have thought that implementing machine code in the CPU, and implementing the VM in software, would be the way to go.
I would tend to agree with you, because the Z-Machine VM is rather high-level and object-oriented, and depends on supporting infrastructure that is almost impossible to implement without software (including file and printer I/O). See my previous comment.

Here is the official specification of the Z-Machine. You can see that many of its features are not easily implemented in pure hardware.
« Last Edit: December 26, 2017, 09:49:54 pm by helius »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf