Skip to content | Skip to navigation
Powered by RSPowered by RSPowered by RS

FPGA ZX Spectrum - 1. Help me!

LStacey

United Kingdom

Thanks to a comment on my ZX Spectrum nostaligia post by chrislogic I've decided to do something that is quite possibly all the proof I need that I've completely lost my marbles.  I've decided that with the help of the DesignSpark community, I'm going to try to build a ZX Spectrum on a single FPGA chip.

zx spectrum

I would imagine that for most of the electronics design types floating around DesignSpark, an engineering feat such as this would be a piece of cake but seeing as I've never had any dealings with FPGA in the past it will no doubt be a steep learning curve.

I will be completely honest here and tell you that I have absolutely no idea what I'm doing here which is why I'm going to need your help.

I have a million and one questions but I guess the first is:

Where do I start?

This is a subject on which I would not only appreciate but almost definitely need your feedback for without it, it just won't work.

List of resources


Posts in this series

1. Help Me!

2. Compiling Resources

Comments

PLJ020

Cyprus

1 year ago

I am actually very interested in understanding implementation of a ZX Spectrum in FPGA/VHDL and while reading up on this found resources below that you may find useful too.

Philip.

---------------------------------------------------------------------

FPGA 101

Part 1
http://video.google.com/videoplay?docid=-5776146032722135072

Part 2
http://video.google.com/videoplay?docid=6625487359192985346

Related web site
http://www.cosmiac.org/spartan3e_tutorials.html

---------------------------------------------------------------------

From Nand to Tetris in 12 steps

Video
http://video.google.com/videoplay?docid=7654043762021156507

Related book
http://www1.idc.ac.il/tecs/

---------------------------------------------------------------------

Making Demos with FPGAs

Video
http://blip.tv/file/821819

---------------------------------------------------------------------

Web sites

http://garymct.blogspot.com/

http://mikestirling.co.uk/2010/09/zx-spectrum-on-altera-de1-teaser/

http://fpgaarcade.com/platforms.htm

---------------------------------------------------------------------

Books

Digital Logic and Microprocessor Design with VHDL
http://faculty.lasierra.edu/~ehwang/digitaldesign/

---------------------------------------------------------------------

Documents

Reincarnate Historic Systems On FPGA with Novel Design Methodology
http://www.ip-arch.jp/shmz-slide.pdf

FPGA Based VGA Driver and Arcade Game
http://static.armandas.lt/res/fpga_based_vga_driver_and_arcade_game.pdf

Retrocomputing on an FPGA
http://www.cs.columbia.edu/~sedwards/papers/edwards2009retrocomputing.pdf

---------------------------------------------------------------------

LStacey

United Kingdom

1 year ago

Wow!  Thank you SO much, Philip!

As you can probably see, my project is a bit of a slow starter but I'm sure these references will help me a great deal.

I'm going to enjoy chewing my way through that lot!

mikestir

United Kingdom

1 year ago

Hi. I've done this recently on an Altera DE1 board (recommended) having previously implemented the ULA on a MAX7000 CPLD with a real Z80.  The DE1 has a Cyclone 2 FPGA and a good range of support hardware.  My design uses the T80 from OpenCores, mentioned above, but the rest is scratch written.  Current status is that I can load and run programs from tape (or actually from the PC soundcard) through the DE1's audio interface.  The video output can drive a TV via SCART or can be scan-doubled to drive a VGA monitor.

I do intend to write the project up and publish the VHDL when I get chance, and there are a number of enhancements still to be made.  In the meantime I would be happy to help out!

 

 

LStacey

United Kingdom

1 year ago

Brilliant!  I've no doubt there will be much head scratching on my part.  I'll look into the DE1 board.

One thing I am keen to add is the ability to load from .tap files.  Have you thought about adding this to yours?

mikestir

United Kingdom

1 year ago

Yes, this is on the list of enhancements.  I'd like to be able to load those and the other snapshot formats off an SD card, although loading off a real tape comes for free and is good for nostalgia!

You have inspired me to get on with writing mine up.  I will post some pictures/video soon as a teaser :)

LStacey

United Kingdom

1 year ago

Great stuff.  Your work will help me a lot on this.  To say I'm an FPGA novice would be an epic understatement!

mikestir

United Kingdom

1 year ago

I've posted a brief summary and a few pics of my efforts on my website.  The design as it stands has a couple of limitations (actually one in particular - it is slightly faster than a real Spectrum, which messes up some games).  More articles will follow in due course, along with the all-important VHDL.

LStacey

United Kingdom

1 year ago

Great stuff.  Would be cool to have the VHDL etc. uloaded here as knowledge items too.

mijiti

United Kingdom

1 year ago

There's a Z80 core on opencores IIRC.

But the ULA might be a tricky part to figure out.  http://www.zxdesign.info/ might be of interest.

Good luck!

LStacey

United Kingdom

1 year ago

Thanks mijiti, I've just bought the book from there.  Looks like a great starting place.

pauljclarke

United Kingdom

1 year ago

usfull VHDL books are:

VHDL For Logig Synthesis Mine only cost £29 in 2001 - is ok but one below is far better!

The Designers Guide to VHDL (new 2008)

The Designers Guide to VHDL (older copy - one I have)

If you can't get them via the local Library system and dont want to spend tons on them, I can lend you mine.

There are some open cores out in the world - here is maybe a good start.!?

From quick scan I could not see and Spectrum Monitor ROMs, but you may need to dig. Alternativly I think I have a dead unit in the loft, we can get the ROM out of it and get a programmer to get the code out of it - I did start reverce engineering it at one time - its not very big! You could have the case too if you like? But will have to find it first.

LStacey

United Kingdom

1 year ago

Hold that thought.  I think much reading and perhaps some experimentation is required before I go into full on development.  This may be a long journey!

Connector Geek

United Kingdom

1 year ago

I'll only help if you can recreate the little squidgy rubber buttons for the keyboard!

LStacey

United Kingdom

1 year ago

Haha, I'll try!