English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 13 September 2008, 03:41   #1
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
Posts: 155
Cool 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
FrenchShark is offline  
Old 13 September 2008, 12:26   #2
Dimlow
Likes to be thought of as
Dimlow's Avatar
 
Join Date: May 2008
Location: Kent,UK
Age: 49
Posts: 529
Send a message via MSN to Dimlow Send a message via Yahoo to Dimlow
This looks good, are you running it on Altera Dev board and if so what one.
Dimlow is offline  
Old 13 September 2008, 13:00   #3
X-ray
Angry Kid Fan
X-ray's Avatar
 
Join Date: Oct 2004
Location: London
Posts: 230
That was one of my favourite arcade games, especially two player co-op
X-ray is offline  
Old 13 September 2008, 18:55   #4
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
Posts: 155
Quote:
Originally Posted by Dimlow View Post
This looks good, are you running it on Altera Dev board and if so what one.
No, it is a custom board I have made at work.
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
FrenchShark is offline  
Old 13 September 2008, 19:18   #5
Dimlow
Likes to be thought of as
Dimlow's Avatar
 
Join Date: May 2008
Location: Kent,UK
Age: 49
Posts: 529
Send a message via MSN to Dimlow Send a message via Yahoo to Dimlow
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.
Dimlow is offline  
Old 13 September 2008, 21:36   #6
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
Posts: 155
Quote:
Originally Posted by Dimlow View Post
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.
In my case, I have learned VHDL at school 12 years ago, it was for ASIC design.
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
FrenchShark is offline  
Old 13 September 2008, 21:47   #7
gklinger
Vegetable Lasagna
gklinger's Avatar
 
Join Date: Mar 2007
Location: Toronto, CANADA
Age: 48
Posts: 711
What is the value of the hardware you're using?
gklinger is offline  
Old 13 September 2008, 22:56   #8
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
Posts: 155
Quote:
Originally Posted by gklinger View Post
What is the value of the hardware you're using?
around $250 - $300.
The most expensive part is the 8MB SSRAM ($130 !!).

Regards,

Frederic
FrenchShark is offline  
Old 14 September 2008, 08:39   #9
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
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
FrenchShark is offline  
Old 21 September 2008, 01:57   #10
FrenchShark
FPGAmiga rulez!
FrenchShark's Avatar
 
Join Date: Dec 2007
Location: South of France
Age: 45
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
FrenchShark is offline  
Old 21 September 2008, 16:35   #11
Dimlow
Likes to be thought of as
Dimlow's Avatar
 
Join Date: May 2008
Location: Kent,UK
Age: 49
Posts: 529
Send a message via MSN to Dimlow Send a message via Yahoo to Dimlow
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 17:30.
Dimlow is offline  
Old 08 January 2009, 10:28   #12
Dimlow
Likes to be thought of as
Dimlow's Avatar
 
Join Date: May 2008
Location: Kent,UK
Age: 49
Posts: 529
Send a message via MSN to Dimlow Send a message via Yahoo to Dimlow
Did you ever get the audio to work ?
Dimlow is offline  
Old 02 October 2012, 16:35   #13
keyway
 
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 18:48
"Reminder "Lincs Amiga User Group aka "LAG" Meet Sat 5th of January 2013" rockape News 4 30 January 2013 01:06
"Exception "Line 1111 Emulator" ($2c) Error at $1004" when exiting game demolition support.WinUAE 15 30 November 2012 17:43
lets pinpoint the downfall of the "closet arcade" jharrison Retrogaming General Discussion 22 26 November 2008 14:11
Suggestion: "Archive" sub-section for "Looking for a game name" andreas project.EAB 1 29 May 2008 02:00

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 23:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.07668 seconds with 13 queries