|
Our original goals were met, with two exceptions. We would have liked to display at 640x480, but were limited by the FPGA. We also would have liked to implement UDP and play over the internet, but ran out of time (It is possible with the current hardware, however). Given what we know now, there are a few things we would do differently. We would organize our C code better, allowing for easier additions and changes. Also, we ran into problems with the linker not being able to compile the code because it there was too much text. This was because we initially wrote almost all of our sprites as repetitive C++ calls that would place a series of pixels on the screen. This ended up making the text section very, very big. We ended making a new function that displays a sprite from the data section, which saved a lot of space and was much more efficient. It would have been nice if we wrote this function from the beginning.
Due to the lossy nature of Ethernet, both players’ stations in the project were able to reliably talk to each other (because of our sequence numbering scheme), but there was still a noticeable, varying delay in the Ethernet transactions between the stations. We would have liked to have further optimized our Ethernet drivers to get rid of these delays, but we didn’t have the time to do so.
Overall, our project went very well, and we are very satisfied with the final result.
|