

Show HN: 2 Player Space Invaders - phamilton
http://www.undiscoveredfeatures.com/2012/01/space-invaders-2-player.html

======
endianswap
Impressive project. How much of the time was spent writing the gameplay code
as compared to the "engine". To put it another way, how much of the experience
was writing the code to handle VGA and audio out as compared to the scoring
system, movement, etc.?

Similarly, how much time was spent writing "code" that targets the PowerPC
processor versus the FPGA module?

~~~
phamilton
The VGA is a DMA controller built into the board, so all graphics were just
modifying the framebuffer.

We spent 6 weeks getting the game to work (~10-15 hrs/ week). This was all in
C targeting the PowerPC and included effective double buffering for graphics
as well as all the game logic.

We then spent another 2 weeks getting interrupt driven sound to work. This was
also in C, but was valuable because in order to understand the nature of the
generated interrupts we had to understand the underlying bus architecture.

We had 3 weeks to do a basic hardware module (a slave on the peripheral bus
that powered some 7-segment displays and generated interrupts when switches
were pressed) and then to do the creative portion (which was another slave).

Finally, we built the Audio DMA controller, which took 4 weeks. The Audio DMA
controller was by far the most challenging because the rebuild cycle was 20
minutes (terrible EDK) and debugging was difficult.

So I'd say about 50-50.

It was a pretty cool course. No homework, no final, no text books. Just the
project and all the documentation we could get our hands on.

~~~
endianswap
Thanks for the details, posts like this are definitely the main reason why I
miss attending university.

------
dkersten
Can you talk about your experience with those RF modules? I was trying to use
those exact modules with a PIC24 microcontroller a few months ago but
eventually gave up on them in favour of other modules because I was unable to
get the sample code working (and google tells me a lot of people have problems
with them).

~~~
phamilton
We had a lot of trouble getting them to work at lower frequencies. As soon as
we switched to 915Mhz though, it all worked like a charm. Our guess was
antenna problems.

Once we had it set up and had interrupt driven code to handle sends and
receives it all worked great.

~~~
dkersten
Hmm, I wonder if that was my problem too. Thanks!

PS: I love your project, good work!

------
guiambros
Amazing work! Was it written in VHDL or Verilog? And are you guys planning in
publishing the source code and build instructions?

It'd be a nice introduction for other fpga and design logic students...

~~~
phamilton
The main game engine was in C targeted to the PowerPC. The hardware additions
were done in VHDL.

------
scottlu2
Nice project, congrats! I hope you don't receive a letter from Taito like I
did:

<http://www.scottlu.com/Content/Invaders.html>

------
melvinram
I'd buy this as an iPhone game.

------
pitiburi
Congratulations, Peter. Impressive.

