13 September 2008, 02:41 | #1 |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
Arcade game "1943 : the battle of midway" running on an FPGA!
Hello,
this is a cross-post from A.org. It is a little bit OT but, it can be interesting for Minimig owners. I have ported the coin-op game from Capcom to an FPGA. Check this little video: [ Show youtube player ] The game fits in 3500 LEs (I did not write the sound part yet). It is displayed on a VGA screen at 1280x1024, 60Hz. The internal architecture is built on 16-bit bus running at 24 MHz (384 clocks per scanline, 1048 lines per frame) with a 8-channel DMA scheduler : - the main Z80 - the audio Z80 (not used yet) - the scroll #1 tilemap - the scroll #2 tilemap - the scroll #1 graphics - the scroll #2 graphics - the sprite graphics - the character graphics All the game ROMs (864KB) are stored in an external SSRAM and are accessed through DMA. If the Minimig HW is fitted with 10ns SRAM, it is possible to run this game. Regards, Frederic |
13 September 2008, 11:26 | #2 |
Likes to be thought of as
|
This looks good, are you running it on Altera Dev board and if so what one.
|
13 September 2008, 12:00 | #3 |
Angry Kid Fan
Join Date: Oct 2004
Location: London
Posts: 230
|
That was one of my favourite arcade games, especially two player co-op
|
13 September 2008, 17:55 | #4 | |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
Quote:
But, any dev board with at least 1 MB of fast SRAM can run it. The Minimig has slow SRAM (55 ns), at least 20 ns SRAM has to be fitted to make it compatible with this game. Now, I am working on putting the Scale2X algorithm in the game to improve the gfx quality. Then, I will had the sound Regards, Frederic |
|
13 September 2008, 18:18 | #5 |
Likes to be thought of as
|
I wish there was a way i could just suck up all this FPGA knowledge that that you guys have. My learning seems to be going so slow. All i have managed to do so far is flash a few leds on the dev board.
|
13 September 2008, 20:36 | #6 | |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
Quote:
Then, in 2004-2005, with the C-One phenomena, my interest for VHDL came back. At the same time, the dev boards started becoming affordable. I was able to get two boards at work for some serious projects. 1943 is the first "fun" project I have made. I recommend the website fpga4fun to start with FPGA. The hard part with VHDL is the sequential logic with state machines and pipelines. Some recommendation for the VHDL processes : - Your first IF should be the asynchronous reset condition with the power-up init for the registers : IF (reset = '1') THEN - Then, you have a : ELSIF rising_edge(clock) THEN - Every assignment after the THEN is synchronous with the clock. - Here, you can have additional IF conditions : they will be translated to clock enable, count enable, synchronous clear or set to registers or counters. - You can also use CASE() .. WHEN => when you want to create a state machine. Regards, Frederic |
|
13 September 2008, 20:47 | #7 |
Vegetable Lasagna
Join Date: Mar 2007
Location: Toronto, CANADA
Age: 54
Posts: 711
|
What is the value of the hardware you're using?
|
13 September 2008, 21:56 | #8 |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
|
14 September 2008, 07:39 | #9 |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
A little update :
I have fixed the aspect ratio of the game. Now it looks like the original. The bus clock is at 24 MHz and the dot clock at 64 MHz. The clock domain crossing is done through 5 FIFOs (one per layer). I do quad buffering on the FIFOs in preparation of the scale2x algorithm. I will post a new video, once the scale2x is fully functional. Now, it is time to go to bed Frederic |
21 September 2008, 00:57 | #10 |
FPGAmiga rulez!
Join Date: Dec 2007
Location: South of France
Age: 50
Posts: 155
|
I have put a new video on youtube showing the correct aspect ratio and the scale2x algorithm :
[ Show youtube player ] Unfortunately, the video quality on youtube sucks so you cannot really see the improvement of the Scale2X. Now I am looking at the YM2203, FM synthesis is harder than what I though . Regards, Frederic |
21 September 2008, 15:35 | #11 |
Likes to be thought of as
|
It may look better if it was rotated by 90 deg, then it would fit the screen.
As for the Audio will this help http://passionoric.ifrance.com/fr/project/hsound.htm There is some VHDL source for the AY-3-891x , i believe this is a compatible chip to the YM2202 Last edited by Dimlow; 21 September 2008 at 16:30. |
08 January 2009, 09:28 | #12 |
Likes to be thought of as
|
Did you ever get the audio to work ?
|
02 October 2012, 15:35 | #13 |
Posts: n/a
|
I also want to play game?...
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How "Brick Games" and "Game' n' Watches" works | Leandro Jardim | Retrogaming General Discussion | 2 | 03 August 2013 17:48 |
"Reminder "Lincs Amiga User Group aka "LAG" Meet Sat 5th of January 2013" | rockape | News | 4 | 30 January 2013 00:06 |
"Exception "Line 1111 Emulator" ($2c) Error at $1004" when exiting game | demolition | support.WinUAE | 15 | 30 November 2012 16:43 |
lets pinpoint the downfall of the "closet arcade" | jharrison | Retrogaming General Discussion | 22 | 26 November 2008 13:11 |
Suggestion: "Archive" sub-section for "Looking for a game name" | andreas | project.EAB | 1 | 29 May 2008 01:00 |
|
|