English Amiga Board


Go Back   English Amiga Board > Other Projects > project.CARE

 
 
Thread Tools
Old 15 June 2014, 03:36   #1
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Porting Neo Geo game to Amiga

I have to say I really really like NEO GEO games.

NEO GEO has many very high quality titles which are done with a lot of love for details.
Metal Slug is one of my all time favorites.

It would be awesome to play these titles on AMIGA.

How are the chances for this?
Gunnar is offline  
Old 15 June 2014, 09:57   #2
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,331
For fast 060 turbo cards it is very possible. Maybe even fast 030 cards. The main requirement would be an MMU.

An attempt was made last year to resource the neogeo games and port to a 16MHz 14 Mbyte Atari Falcon.
http://atari-forum.com/viewtopic.php?f=68&t=25780
alexh is offline  
Old 15 June 2014, 10:07   #3
AnimaInCorpore
Registered User
 
Join Date: Nov 2012
Location: Willich/Germany
Posts: 232
Quote:
Originally Posted by Gunnar View Post
It would be awesome to play these titles on AMIGA.

How are the chances for this?
Actually the emulator requires a MC68030 CPU with a MMU so later CPUs will not work due to the different bus error handling. In fact the bus error handling on the MC68040 and MC68060 is also rather limited compared to the MC68030 so I even don't know if an emulation based on the current technique will ever work on those systems. This is a little unfortunate because it would be nice to have a MC68060 version for the best emulation experience.

Also the graphics emulation is quite simple with a "hi-colour mode" like the Atari Falcon has. I am not sure what graphic modes are comparable (and standard) on the faster Amigas.

So in general I would say it's not impossible but tricky and needs some investigation.

Cheers
Sascha
AnimaInCorpore is offline  
Old 15 June 2014, 10:25   #4
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Hi Sascha,

Did I understand this right, did you do the NEO-GEO emulator?

Can you please explain a little bit how the chipset is accessed on NEO-GEO,
so that we understand what would be needed to emulate it?


Lets say you would have an AMIGA with the following specs.
Fast 68k CPU > 100 MIPS
128 MB fast memory
15bit direct color framebuffer

How much effort would you estimate to get the NEO-GEO emulator running?
Could all NEO GEO games run this way?

Cheers
Gunnar
Gunnar is offline  
Old 15 June 2014, 11:34   #5
AnimaInCorpore
Registered User
 
Join Date: Nov 2012
Location: Willich/Germany
Posts: 232
Quote:
Originally Posted by Gunnar View Post
Did I understand this right, did you do the NEO-GEO emulator?
Correct.

Quote:
Originally Posted by Gunnar View Post
Can you please explain a little bit how the chipset is accessed on NEO-GEO,
so that we understand what would be needed to emulate it?
Well, alexh already posted the link to the Atari Forum discussion and I strongly recommend to read the whole thread to understand how it works and why the emulation is (currently) not working on an MC68060.

The Neo Geo hardware is rather simple compared to a computer like the Amiga yet more powerful for sprite based games. E.g. it doesn't have/need controllers for like data storage or serial ports so there are only a few hardware registers. The sprite interface is also very "special" but it's a straight forward implementation and everything you see on the screen (except for the text layer) is comprised of sprites so the current emulation program on the Atari Falcon fits in only about 20 kilobytes.

There is a very good development related Neo Geo website which was my only source while developing the emulator and is really helpful to understand the Neo Geo system.

Quote:
Originally Posted by Gunnar View Post
Lets say you would have an AMIGA with the following specs.
Fast 68k CPU > 100 MIPS
128 MB fast memory
15bit direct color framebuffer
Well, performance wise that would be ideal.

Quote:
Originally Posted by Gunnar View Post
How much effort would you estimate to get the NEO-GEO emulator running?
This depends only on the question if the MC68060 bus error handling is "good" enough for the current approach. Unfortunately I don't have a accelerated machine here to make some tests on. Running the Neo Geo emulator in an emulator environment doesn't work and so debugging on a real hardware with altered MMU tables is really challenging.

Quote:
Originally Posted by Gunnar View Post
Could all NEO GEO games run this way?
So far mostly will. However there are some games which do some nasty stack frame modifications (at least Viewpoint does it) but that issue could be patched. Self modifying code is also very rare on ROM based systems.

Cheers
Sascha
AnimaInCorpore is offline  
Old 15 June 2014, 12:00   #6
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Hi Sascha,

Quote:
Originally Posted by AnimaInCorpore View Post
Correct.
There is a very good development related Neo Geo website which was my only source while developing the emulator and is really helpful to understand the Neo Geo system.
Thanks for the pointer.


Quote:
Originally Posted by AnimaInCorpore View Post
Well, performance wise that would be ideal.
Great.
Would you be interested in doing a port for AMIGA with such a system?
How long would you think would it need to get it running?


Quote:
Originally Posted by AnimaInCorpore View Post
Unfortunately I don't have a accelerated machine here to make some tests on.
Would it help you if I provide such an accelerated AMIGA to you?


Quote:
Originally Posted by AnimaInCorpore View Post
Running the Neo Geo emulator in an emulator environment doesn't work and so debugging on a real hardware with altered MMU tables is really challenging.
I agree.


Quote:
Originally Posted by AnimaInCorpore View Post
So far mostly will. However there are some games which do some nasty stack frame modifications (at least Viewpoint does it) but that issue could be patched.
Do I understand this right that the NEO-GEO game depends on 68000 stack-frame. This means if you fast AMIGA can use 68_000 stack frames this would solve this?



Cheers
Gunnar
Gunnar is offline  
Old 15 June 2014, 14:12   #7
AnimaInCorpore
Registered User
 
Join Date: Nov 2012
Location: Willich/Germany
Posts: 232
Quote:
Originally Posted by Gunnar View Post
Would you be interested in doing a port for AMIGA with such a system?
How long would you think would it need to get it running?
Well, sure. At first I would check the bus error handling behaviour of the MC68060. This will decide if it will be easy or hard to get the emulator working.

Quote:
Originally Posted by Gunnar View Post
Would it help you if I provide such an accelerated AMIGA to you?
Of course this would help a lot. We need to talk...

Quote:
Originally Posted by Gunnar View Post
Do I understand this right that the NEO-GEO game depends on 68000 stack-frame. This means if you fast AMIGA can use 68_000 stack frames this would solve this?
The MC68000 stack frame is different compared to later CPUs in case of an interrupt or an exception and modifying those parameters is a bad but quite common habit. However, I see no problem for an automatically detection and patch.

Cheers
Sascha
AnimaInCorpore is offline  
Old 15 June 2014, 15:29   #8
s2325
Zone Friend
 
s2325's Avatar
 
Join Date: Jun 2006
Location: Gargore
Age: 43
Posts: 17,789
New unofficial Metal Slug for Gameboy have less graphics and lower resolution, maybe it's easier to use this version: [ Show youtube player ] or simplified version from GameBoy Advance.
s2325 is offline  
Old 15 June 2014, 16:58   #9
kipper2k
Registered User
 
Join Date: Sep 2006
Location: Thunder Bay, Canada
Posts: 4,323
Sounds like Gunnar is talking about an A600 with a Vampire running a Phoenix core, just a guess

Last edited by kipper2k; 15 June 2014 at 17:09.
kipper2k is offline  
Old 15 June 2014, 17:53   #10
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Hi Sascha,

The NEO-GEO really sounds interesting.
My kids like love NEO-GEO games... (and I have to admit I like them too)
To be able to tun them on AMIGA would be really cool.


The CPU that we have here is no 68060.
We call it Apollo-Phoenix - its a very fast 68000 (with support for many 68020/68060 instruction) but with 68000 stackframe

From what we discussed the features to map address spaces and to "monitor" writes to certain areas are sufficient to do the NEO-GEO emulation.

I understood you that your emulator uses a 16bit framebuffer.
We expect to have more development systems with RGB framebuffers in some weeks. I'll send get back to you.

Would be great if we could get a quick port running of your NEO-GEO emulator on AMIGA together...


While I could certainly help with some level stuff.
Maybe we find someone with MUI skills to help to create a nice AMIGA user interface quickly.
Gunnar is offline  
Old 15 June 2014, 17:56   #11
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
on mame030, the emulation runs at 3 fps on my 1230@50mhz.

I hope that sascha's emu will run better However, i remember a chat with CFOU!, and he told me that in ASM, neogeo games would run great on A1200 with fastmem and fast processor.
dlfrsilver is offline  
Old 15 June 2014, 18:19   #12
kipper2k
Registered User
 
Join Date: Sep 2006
Location: Thunder Bay, Canada
Posts: 4,323
there are definately some nice games on Neo Geo, it would be nice to see them running on an Amiga
kipper2k is offline  
Old 15 June 2014, 18:33   #13
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by dlfrsilver View Post
on mame030, the emulation runs at 3 fps on my 1230@50mhz.
.
And what is original speed 50FPS or 25FPS or 60 FPS?
Gunnar is offline  
Old 15 June 2014, 18:37   #14
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
60 fps.
dlfrsilver is offline  
Old 15 June 2014, 18:40   #15
Gunnar
Registered User
 
Join Date: Apr 2014
Location: Germany
Posts: 154
Quote:
Originally Posted by dlfrsilver View Post
60 fps.
Ah ok so you just need a 68030@1000 Mhz and then Mame will run 100% NEO GEO speed?

Saschas Emulator seems to be faster....
Gunnar is offline  
Old 15 June 2014, 18:42   #16
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
mame030 is damn slow, true, but it's not optimised. I guess that for emulating such a system, the emulator needs to be coded in ASM. C is too dog slow.
dlfrsilver is offline  
Old 15 June 2014, 21:19   #17
AnimaInCorpore
Registered User
 
Join Date: Nov 2012
Location: Willich/Germany
Posts: 232
Quote:
New unofficial Metal Slug for Gameboy have less graphics and lower resolution, maybe it's easier to use this version: [ Show youtube player ] or simplified version from GameBoy Advance.
Unfortunately I don't think so: the sprite conversion would be too much work.

Quote:
Originally Posted by Gunnar View Post
The CPU that we have here is no 68060.
We call it Apollo-Phoenix - its a very fast 68000 (with support for many 68020/68060 instruction) but with 68000 stackframe

From what we discussed the features to map address spaces and to "monitor" writes to certain areas are sufficient to do the NEO-GEO emulation.
Yes. As far as I understand the things we discussed earlier are indeed sufficient for a port. However, a version for this machine will be a very special one and will not work on other accelerators.

Quote:
Originally Posted by Gunnar View Post
I understood you that your emulator uses a 16bit framebuffer.
We expect to have more development systems with RGB framebuffers in some weeks. I'll send get back to you.

Would be great if we could get a quick port running of your NEO-GEO emulator on AMIGA together...

While I could certainly help with some level stuff.
Maybe we find someone with MUI skills to help to create a nice AMIGA user interface quickly.
Let's see what's possible.

Cheers
Sascha
AnimaInCorpore is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Sensibly priced Neo Geo AES Game? manic23 support.Other 5 04 November 2013 20:37
My Neo Geo CD =D fitzsteve Retrogaming General Discussion 14 08 February 2012 13:52
Neo-Geo developer's manual jman Retrogaming General Discussion 0 23 July 2011 11:15
Anyone interested in a Neo Geo AES? ami_junkie MarketPlace 11 22 June 2010 16:51
how to patch a neo geo rom? Blackjackel6 Retrogaming General Discussion 4 28 November 2001 17:53

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 13:22.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.10706 seconds with 15 queries