The original 1980's Asteroids Deluxe hardware recreated in a single FPGA.
Asteroids, along with several other games of the time, used a vector monitor to display high
resolution images - in this case 1024 x 788, avoiding the huge cost of a video frame buffer.
This was achieved with some very clever hardware called a Vector Generator, which was essentially a specialised
graphics coprocessor built out of standard parts, and capable of drawing several million points a second.
This was connected to three analogue stages which drove the x,y and brightness of the electron gun in the monitor.
It was absolutely groundbreaking.
|
|

|
Today however, vector monitors are rare and memory is cheap, so we can use the vast resources
of our FPGA, and some external sram, to build up the picture as the beam draws out the image, and raster it out to a standard VGA monitor.
The image quality is not as bright or smooth as the original - and we are going to get some tearing because the vertical refresh of the
raster monitor cannot easily be synced to the Vector Generator.
That said, I think it looks a lot better than the PC emulators as we can decay each point as soon as the raster monitor has displayed them.
The Frame buffer is built using two external srams, although one would be sufficient (I have extra capacity for some future colour games).
Audio support is provided by a POKEY core and some other discrete hardware.
The vector rasteriser size is approx 360 dffs (dtype flip-flop) and 260 luts (4 input gate, the basic logic building block in most FPGAs).
The rest of the hardware is around 651 dffs and 1203 luts, including the
cpu's (6502) 140 dffs and 640 luts.
Actual photo taken by compiling and running the code here.
|
|
|
Self Test picture.
Rel002 fixes the ERROR message, a small POKEY bug.
All the lines look smooth and sharp on the monitor.
|
|
|
Game running - the motion blur is caused by the long
camera exposure, it looks great on the monitor.
|
|
|
Game over ...
|
|
Please read the "README" file for documentation.
IMPORTANT NOTE :
NO ORIGINAL ROM CONTENTS ARE IN THIS DISTRIBUTION.
YOU WILL NEED THE ORIGINAL ROM FILES TO RUN THE GAME
A simulation model of Asteroids Deluxe hardware
Copyright (c) MikeJ - May 2003
THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
You are responsible for any legal issues arising from your use of this code.
You must agree to this disclaimer before downloading the code
Version 003 Latest Release asteroids_rel003.zip
|
|
|