The Phoenix Replay project

The Phoenix board (I have got a G.G.I. version) is a 8085 CPU based board with no custom ICs. The sound is implemented completely discrete (using NE555, some logic and a fancy melody chip).
Most work was this sound part, I set up special NE555 and RC blocks which can be configured using electric parameters (R, C) but is completely synthesizeable!

It is implemented as full synchronous single-clock design and uses the 8080 configuration of the t80 for the CPU (which works quite well). As a highlight I also implemented the MN6221AA alarm/melody chip in VHDL. It produces an annoying sound (you may know from this cheap greeting cards with sound), but the game is just incomplete without it! :-)

Below some pictures of the game and my replay development setup running a beta version!

demo screen replay phoenix


Download:

The implementation is finally released as initial beta version on these boards:

- FPGAARCADE.COM replay board, with Spartan 3E-1600 FPGA, ARM processor for SD-Card handling

--> Download available soon!

Note: the setup uses the very latest development environment (ARM and FPGA) of the replay board. Thus I will wait for the source/binary releases as soon as the new replay ARM setup is tested and released. Can't take really long anymore...

Source code:

I have the fully functional and synthesize-able VHDL code, but I still need some more tuning of the analog section. I'll also release the MN6221AA and the NE555 implementations as separate projects.
The replay solution uses a FPGA configuration file without ROM code, the ROM files are uploaded separately from the SDCARD. I took the naming for these ROM files from the usual MAME packages (I won't distribute).
Actually, I implement this game on the Replay board and won't support the other platforms for now.

Some facts:

- Board runs at 11MHz
- 1x 8bit CPU (8085)
- Video: 6bit (2R/2G/2B), H:~16kHz, V:~60Hz
- Audio: discrete (several NE555, RC filters and logic), melody chip MN6221AA

Actual utilization on Spartan 3E (approximate):

- Slice FF: 4715
- 4 input LUT: 5358
- RAMB16: 16

Due to the implementation of the "analogue" sound section, it barely fits to small 500E boards (100% utilization) and I don't have the external flash feature implemented yet.
It has some possibility for a "low HW cost" sound implementation - but you do not really want that, do you...?