2. Introduction
The purpose of this project was to use the lessons we learned from
previous projects to edit a video game called Yoshi's Nightmare to use
the pushbuttons on the Basys 3 for control and display a banner that
had the games title and FLC logo's at the beginning of the game.
3. Results Task 1: This
task asked us to implement the push-buttons on the Basys 3 to control
the game. This task was really stright forward, so all we did was add
the buttons to the contraint file and then pass them through a debounce
module to make sure we didn't get any bugs with the start button. Figure 1 shows the code used to implement the buttons and Figure 3 shows the results.
Figure 1. Basys 3 Pushbutton Code
Task 2: This
task asked us to implement a banner at the start of the game which
would display an FLC logo and a skyhawk logo before the game was
started. We did this by editing the ROM file that was used for the
original banner and adding both logo's, as well as adding an 'edited
by' line to show mine and Nick's names. The
rest of the code was used to center this banner and write it out to the
screen. The code is shown in Figure 2 and the results in Figure 3.
Figure 2. Basys 3 Opening Banner Code
Figure 3. Yoshi's Nightmare Game with Openeing Banner and Push-button Control
4. Discussion This
assignment allowed us to manipulate some previous lessons in an easy
way to get some awesome results for our course project. While the
button's section wasn't too hard, it showed me that writing a much
smaller test script before implementing new logic in a module that
takes an hour to synthesize can be a good way to rapidly check for
errors in code. This lesson also gave me a better insight into the
actual synthesis times large projects can have, and why there exists a
need to ingrain the basics. As working through errors in code with that
long of a synthesis would take a very long time.